From 7c18327fdc30e317934697c34ef96929868ba4e2 Mon Sep 17 00:00:00 2001 From: TomyLobo Date: Sat, 24 Sep 2011 03:00:10 +0200 Subject: [PATCH] Fixed extended piston rotation. --- .../com/sk89q/worldedit/blocks/BlockType.java | 1 + .../com/sk89q/worldedit/data/BlockData.java | 22 ++++++++++--------- 2 files changed, 13 insertions(+), 10 deletions(-) diff --git a/src/main/java/com/sk89q/worldedit/blocks/BlockType.java b/src/main/java/com/sk89q/worldedit/blocks/BlockType.java index 74e8d389a..7ae092ec3 100644 --- a/src/main/java/com/sk89q/worldedit/blocks/BlockType.java +++ b/src/main/java/com/sk89q/worldedit/blocks/BlockType.java @@ -281,6 +281,7 @@ public enum BlockType { shouldPlaceLast.add(BlockID.DETECTOR_RAIL); shouldPlaceLast.add(BlockID.LONG_GRASS); shouldPlaceLast.add(BlockID.DEAD_BUSH); + shouldPlaceLast.add(BlockID.PISTON_EXTENSION); shouldPlaceLast.add(BlockID.YELLOW_FLOWER); shouldPlaceLast.add(BlockID.RED_FLOWER); shouldPlaceLast.add(BlockID.BROWN_MUSHROOM); diff --git a/src/main/java/com/sk89q/worldedit/data/BlockData.java b/src/main/java/com/sk89q/worldedit/data/BlockData.java index 70621df42..c1c125d59 100644 --- a/src/main/java/com/sk89q/worldedit/data/BlockData.java +++ b/src/main/java/com/sk89q/worldedit/data/BlockData.java @@ -155,11 +155,12 @@ public final class BlockData { case BlockID.PISTON_BASE: case BlockID.PISTON_STICKY_BASE: case BlockID.PISTON_EXTENSION: - switch(data) { - case 2: return 5; - case 3: return 4; - case 4: return 2; - case 5: return 3; + final int rest = data & ~0x7; + switch (data & 0x7) { + case 2: return 5 | rest; + case 3: return 4 | rest; + case 4: return 2 | rest; + case 5: return 3 | rest; } case BlockID.BROWN_MUSHROOM_CAP: @@ -309,11 +310,12 @@ public final class BlockData { case BlockID.PISTON_BASE: case BlockID.PISTON_STICKY_BASE: case BlockID.PISTON_EXTENSION: - switch(data) { - case 5: return 2; - case 4: return 3; - case 2: return 4; - case 3: return 5; + final int rest = data & ~0x7; + switch (data & 0x7) { + case 5: return 2 | rest; + case 4: return 3 | rest; + case 2: return 4 | rest; + case 3: return 5 | rest; } case BlockID.BROWN_MUSHROOM_CAP: