Updated Upstream (CraftBukkit)

Upstream has released updates that appear to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing

CraftBukkit Changes:
c9cb08551 SPIGOT-7536: Using Crafter crashes server
This commit is contained in:
Noah van der Aa
2023-12-07 13:03:14 +01:00
parent fc6af9c088
commit dc0fed044e
2 changed files with 1 additions and 40 deletions

View File

@@ -1,39 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Owen1212055 <23108066+Owen1212055@users.noreply.github.com>
Date: Wed, 6 Dec 2023 19:44:06 -0500
Subject: [PATCH] Hotfix DefaultDispenseItemBehavior#spawnItem
This method should generally be cleaned up entirely, but, lol.
For now just readd the original vanilla method.
diff --git a/src/main/java/net/minecraft/core/dispenser/DefaultDispenseItemBehavior.java b/src/main/java/net/minecraft/core/dispenser/DefaultDispenseItemBehavior.java
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
--- a/src/main/java/net/minecraft/core/dispenser/DefaultDispenseItemBehavior.java
+++ b/src/main/java/net/minecraft/core/dispenser/DefaultDispenseItemBehavior.java
@@ -0,0 +0,0 @@ public class DefaultDispenseItemBehavior implements DispenseItemBehavior {
return stack;
}
+ // Paper start - Readd original NMS method
+ public static void spawnItem(Level world, ItemStack itemstack, int i, Direction enumdirection, Position iposition) {
+ double d0 = iposition.x();
+ double d1 = iposition.y();
+ double d2 = iposition.z();
+
+ if (enumdirection.getAxis() == Direction.Axis.Y) {
+ d1 -= 0.125D;
+ } else {
+ d1 -= 0.15625D;
+ }
+
+ ItemEntity entityitem = new ItemEntity(world, d0, d1, d2, itemstack);
+ double d3 = world.random.nextDouble() * 0.1D + 0.2D;
+
+ entityitem.setDeltaMovement(world.random.triangle((double) enumdirection.getStepX() * d3, 0.0172275D * (double) i), world.random.triangle(0.2D, 0.0172275D * (double) i), world.random.triangle((double) enumdirection.getStepZ() * d3, 0.0172275D * (double) i));
+ world.addFreshEntity(entityitem);
+ }
+ // Paper end
// CraftBukkit start - void -> boolean return, IPosition -> ISourceBlock last argument, dropper
public static boolean spawnItem(Level world, ItemStack itemstack, int i, Direction enumdirection, BlockSource sourceblock, boolean dropper) {
if (itemstack.isEmpty()) return true;