diff options
Diffstat (limited to 'src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java')
-rw-r--r-- | src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java index 8dd889de..9e846b60 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java @@ -83,6 +83,26 @@ public final class CraftItemFactory implements ItemFactory { return meta instanceof CraftMetaEnchantedBook ? meta : new CraftMetaEnchantedBook(meta); case BANNER: return meta instanceof CraftMetaBanner ? meta : new CraftMetaBanner(meta); + case COMMAND: + case CHEST: + case TRAPPED_CHEST: + case FURNACE: + case HOPPER: + case MOB_SPAWNER: + case SIGN: + case BREWING_STAND_ITEM: + case JUKEBOX: + case FLOWER_POT_ITEM: + case DISPENSER: + case DROPPER: + if (meta instanceof CraftMetaTileEntity) { + CraftMetaTileEntity te = (CraftMetaTileEntity) meta; + if (te.material != material) { + return new CraftMetaTileEntity((CraftMetaTileEntity) null, material); + } + return meta; + } + return new CraftMetaTileEntity(meta, material); default: return new CraftMetaItem(meta); } |