-
-
Notifications
You must be signed in to change notification settings - Fork 2.3k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Hotfix DefaultDispenseItemBehavior#spawnItem
- Loading branch information
1 parent
3b94cc3
commit b277feb
Showing
1 changed file
with
39 additions
and
0 deletions.
There are no files selected for viewing
39 changes: 39 additions & 0 deletions
39
patches/server/1052-Hotfix-DefaultDispenseItemBehavior-spawnItem.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
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; |