summaryrefslogtreecommitdiffstats
path: root/src/main/java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java3
-rw-r--r--src/main/java/org/bukkit/craftbukkit/block/CraftBlockState.java6
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;