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 6577db6dd6
commit 9223f05a40
No known key found for this signature in database
GPG key ID: 547D90BC6FF753CF
3 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 379890ae05b2fb4bd81b2fa907413d3736ba1169..a553e8d4544567bcd0bcb354a35036b1f7954e6d 100644
--- a/src/main/java/net/minecraft/core/dispenser/DefaultDispenseItemBehavior.java
+++ b/src/main/java/net/minecraft/core/dispenser/DefaultDispenseItemBehavior.java
@@ -49,6 +49,25 @@ 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;

@ -1 +1 @@
Subproject commit 368c48be1b32ddc3c062f46b96e4450ea66be935
Subproject commit c9cb085517dd8a0042a53bf376664397209b1852