From ef64712c6cd43007574bb42e71493649c743dc3b Mon Sep 17 00:00:00 2001
From: Zach Brown <zach.brown@destroystokyo.com>
Date: Sun, 24 Apr 2016 19:56:04 -0500
Subject: [PATCH] SPIGOT-1401: Fix dispenser/dropper/furnace placement being
 different from SP

---
 ...-dispenser-dropper-furnace-placement.patch | 55 +++++++++++++++++++
 scripts/importmcdev.sh                        |  1 +
 2 files changed, 56 insertions(+)
 create mode 100644 Spigot-Server-Patches/0146-SPIGOT-1401-Fix-dispenser-dropper-furnace-placement.patch

diff --git a/Spigot-Server-Patches/0146-SPIGOT-1401-Fix-dispenser-dropper-furnace-placement.patch b/Spigot-Server-Patches/0146-SPIGOT-1401-Fix-dispenser-dropper-furnace-placement.patch
new file mode 100644
index 000000000..6ca6498aa
--- /dev/null
+++ b/Spigot-Server-Patches/0146-SPIGOT-1401-Fix-dispenser-dropper-furnace-placement.patch
@@ -0,0 +1,55 @@
+From 410613b55879caeb4473028be6a2446a399c73a1 Mon Sep 17 00:00:00 2001
+From: Zach Brown <zach.brown@destroystokyo.com>
+Date: Sun, 24 Apr 2016 19:49:33 -0500
+Subject: [PATCH] SPIGOT-1401: Fix dispenser, dropper, furnace placement
+
+
+diff --git a/src/main/java/net/minecraft/server/BlockDispenser.java b/src/main/java/net/minecraft/server/BlockDispenser.java
+index b051b44..0235c7b 100644
+--- a/src/main/java/net/minecraft/server/BlockDispenser.java
++++ b/src/main/java/net/minecraft/server/BlockDispenser.java
+@@ -20,6 +20,9 @@ public class BlockDispenser extends BlockTileEntity {
+         return 4;
+     }
+ 
++    // Paper start - Removed override of onPlace that was reversing placement direction when
++    // adjacent to another block, which was not consistent with single player block placement
++    /*
+     public void onPlace(World world, BlockPosition blockposition, IBlockData iblockdata) {
+         super.onPlace(world, blockposition, iblockdata);
+         this.e(world, blockposition, iblockdata);
+@@ -49,6 +52,8 @@ public class BlockDispenser extends BlockTileEntity {
+             world.setTypeAndData(blockposition, iblockdata.set(BlockDispenser.FACING, enumdirection).set(BlockDispenser.TRIGGERED, Boolean.valueOf(false)), 2);
+         }
+     }
++    */
++    // Paper end
+ 
+     public boolean interact(World world, BlockPosition blockposition, IBlockData iblockdata, EntityHuman entityhuman, EnumHand enumhand, ItemStack itemstack, EnumDirection enumdirection, float f, float f1, float f2) {
+         if (world.isClientSide) {
+diff --git a/src/main/java/net/minecraft/server/BlockFurnace.java b/src/main/java/net/minecraft/server/BlockFurnace.java
+index 7a95974..6bc9aa8 100644
+--- a/src/main/java/net/minecraft/server/BlockFurnace.java
++++ b/src/main/java/net/minecraft/server/BlockFurnace.java
+@@ -18,6 +18,9 @@ public class BlockFurnace extends BlockTileEntity {
+         return Item.getItemOf(Blocks.FURNACE);
+     }
+ 
++    // Paper start - Removed override of onPlace that was reversing placement direction when
++    // adjacent to another block, which was not consistent with single player block placement
++    /*
+     public void onPlace(World world, BlockPosition blockposition, IBlockData iblockdata) {
+         this.e(world, blockposition, iblockdata);
+     }
+@@ -43,6 +46,8 @@ public class BlockFurnace extends BlockTileEntity {
+             world.setTypeAndData(blockposition, iblockdata.set(BlockFurnace.FACING, enumdirection), 2);
+         }
+     }
++    */
++    // Paper end
+ 
+     public boolean interact(World world, BlockPosition blockposition, IBlockData iblockdata, EntityHuman entityhuman, EnumHand enumhand, ItemStack itemstack, EnumDirection enumdirection, float f, float f1, float f2) {
+         if (world.isClientSide) {
+-- 
+2.8.0
+
diff --git a/scripts/importmcdev.sh b/scripts/importmcdev.sh
index 8637a1377..102f1cf78 100755
--- a/scripts/importmcdev.sh
+++ b/scripts/importmcdev.sh
@@ -39,6 +39,7 @@ import BiomeMesa
 import BlockChest
 import BlockFalling
 import BlockFluids
+import BlockFurnace
 import BlockPosition
 import BlockStateList
 import ChunkProviderFlat