diff --git a/src/main/java/net/minecraft/server/ItemBlock.java b/src/main/java/net/minecraft/server/ItemBlock.java index 0449461d59..3cb4f839cb 100644 --- a/src/main/java/net/minecraft/server/ItemBlock.java +++ b/src/main/java/net/minecraft/server/ItemBlock.java @@ -103,6 +103,11 @@ public class ItemBlock extends Item { world.update(x, y, z, block); + // Cocoa beans placed via ItemDye do not need the rest of the processing + if (block == Blocks.COCOA && itemstack != null && itemstack.getItem() instanceof ItemDye) { + return true; + } + // Skulls don't get block data applied to them if (block != null && block != Blocks.SKULL) { block.postPlace(world, x, y, z, entityhuman, itemstack); diff --git a/src/main/java/net/minecraft/server/ItemDye.java b/src/main/java/net/minecraft/server/ItemDye.java index da6a75d865..e5d210f464 100644 --- a/src/main/java/net/minecraft/server/ItemDye.java +++ b/src/main/java/net/minecraft/server/ItemDye.java @@ -70,7 +70,7 @@ public class ItemDye extends Item { // CraftBukkit start // world.setTypeAndData(i, j, k, Blocks.COCOA, j1, 2); - if (!ItemBlock.processBlockPlace(world, entityhuman, null, i, j, k, Blocks.COCOA, j1, clickedX, clickedY, clickedZ)) { + if (!ItemBlock.processBlockPlace(world, entityhuman, itemstack, i, j, k, Blocks.COCOA, j1, clickedX, clickedY, clickedZ)) { return false; } // CraftBukkit end