diff options
Diffstat (limited to 'src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java')
-rw-r--r-- | src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java index a2d63379..ba1cdc18 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java @@ -336,7 +336,14 @@ public class CraftBlock implements Block { case BED_BLOCK: return new CraftBed(this); default: - return new CraftBlockState(this); + TileEntity tileEntity = chunk.getCraftWorld().getTileEntityAt(x, y, z); + if (tileEntity != null) { + // block with unhandled TileEntity: + return new CraftBlockEntityState<TileEntity>(this, (Class<TileEntity>) tileEntity.getClass()); + } else { + // Block without TileEntity: + return new CraftBlockState(this); + } } } |