diff options
Diffstat (limited to 'src/main')
-rw-r--r-- | src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java | 3 | ||||
-rw-r--r-- | src/main/java/org/bukkit/craftbukkit/block/CraftBlockState.java | 6 |
2 files changed, 4 insertions, 5 deletions
diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java index 5fadeffc..de358572 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java @@ -121,7 +121,8 @@ public class CraftBlock implements Block { } public boolean setTypeId(final int type, final boolean applyPhysics) { - return setTypeIdAndData(type, getData(), applyPhysics); + net.minecraft.server.Block block = getNMSBlock(type); + return setTypeIdAndData(type, (byte) block.toLegacyData(block.getBlockData()), applyPhysics); } public boolean setTypeIdAndData(final int type, final byte data, final boolean applyPhysics) { diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlockState.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlockState.java index 9fb32a82..bf6841c9 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlockState.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlockState.java @@ -140,14 +140,12 @@ public class CraftBlockState implements BlockState { Block block = getBlock(); if (block.getType() != getType()) { - if (force) { - block.setTypeId(getTypeId(), applyPhysics); - } else { + if (!force) { return false; } } - block.setData(getRawData(), applyPhysics); + block.setTypeIdAndData(getTypeId(), getRawData(), applyPhysics); world.getHandle().notify(new BlockPosition(x, y, z)); return true; |