mirror of
https://github.com/PaperMC/Paper.git
synced 2024-12-27 23:10:16 +01:00
Hotfix DefaultDispenseItemBehavior#spawnItem
This commit is contained in:
parent
3b94cc3546
commit
b277feb448
1 changed files with 39 additions and 0 deletions
|
@ -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;
|
Loading…
Reference in a new issue