aboutsummaryrefslogtreecommitdiffhomepage
path: root/patches/server/0396-Don-t-require-FACING-data.patch
diff options
context:
space:
mode:
Diffstat (limited to 'patches/server/0396-Don-t-require-FACING-data.patch')
-rw-r--r--patches/server/0396-Don-t-require-FACING-data.patch37
1 files changed, 37 insertions, 0 deletions
diff --git a/patches/server/0396-Don-t-require-FACING-data.patch b/patches/server/0396-Don-t-require-FACING-data.patch
new file mode 100644
index 0000000000..2cec1e5276
--- /dev/null
+++ b/patches/server/0396-Don-t-require-FACING-data.patch
@@ -0,0 +1,37 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Mariell Hoversholm <[email protected]>
+Date: Sun, 23 Aug 2020 19:01:04 +0200
+Subject: [PATCH] Don't require FACING data
+
+
+diff --git a/src/main/java/net/minecraft/core/dispenser/DefaultDispenseItemBehavior.java b/src/main/java/net/minecraft/core/dispenser/DefaultDispenseItemBehavior.java
+index c90bce6777d24821758d1830e6c6c6c72e19703f..39c96f5db6e90a470404c6387fa0c1d5531822e5 100644
+--- a/src/main/java/net/minecraft/core/dispenser/DefaultDispenseItemBehavior.java
++++ b/src/main/java/net/minecraft/core/dispenser/DefaultDispenseItemBehavior.java
+@@ -14,6 +14,7 @@ import org.bukkit.event.block.BlockDispenseEvent;
+ // CraftBukkit end
+
+ public class DefaultDispenseItemBehavior implements DispenseItemBehavior {
++ private Direction enumdirection; // Paper - cache facing direction
+
+ private static final int DEFAULT_ACCURACY = 6;
+
+@@ -29,15 +30,16 @@ public class DefaultDispenseItemBehavior implements DispenseItemBehavior {
+
+ @Override
+ public final ItemStack dispense(BlockSource pointer, ItemStack stack) {
++ enumdirection = pointer.state().getValue(DispenserBlock.FACING); // Paper - cache facing direction
+ ItemStack itemstack1 = this.execute(pointer, stack);
+
+ this.playSound(pointer);
+- this.playAnimation(pointer, (Direction) pointer.state().getValue(DispenserBlock.FACING));
++ this.playAnimation(pointer, enumdirection); // Paper - cache facing direction
+ return itemstack1;
+ }
+
+ protected ItemStack execute(BlockSource pointer, ItemStack stack) {
+- Direction enumdirection = (Direction) pointer.state().getValue(DispenserBlock.FACING);
++ // Paper - cached enum direction
+ Position iposition = DispenserBlock.getDispensePosition(pointer);
+ ItemStack itemstack1 = stack.split(1);
+