From 02b85a0034c26a1a6db6d7cb6e6a7f410be288be Mon Sep 17 00:00:00 2001 From: Wizjany Date: Thu, 21 Feb 2013 21:47:36 -0500 Subject: [PATCH] Change cycler tool behavior with logs. - Now works with jungle logs. - Cycling forward (r-click) cycles through bark types (oak, spruce..) - Cycling backward (l-click) cycles through orientations (upright, both sides, and the "all six sides" texture) --- .../java/com/sk89q/worldedit/blocks/BlockData.java | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/main/java/com/sk89q/worldedit/blocks/BlockData.java b/src/main/java/com/sk89q/worldedit/blocks/BlockData.java index f9510bd02..f207e13af 100644 --- a/src/main/java/com/sk89q/worldedit/blocks/BlockData.java +++ b/src/main/java/com/sk89q/worldedit/blocks/BlockData.java @@ -642,7 +642,17 @@ public final class BlockData { int store; switch (type) { + + // special case here, going to use "forward" for type and "backward" for orientation case BlockID.LOG: + if (increment == -1) { + store = data & 0x3; // copy bottom (type) bits + return mod((data & ~0x3) + 4, 16) | store; // switch orientation with top bits and reapply bottom bits; + } else { + store = data & ~0x3; // copy top (orientation) bits + return mod((data & 0x3) + 1, 4) | store; // switch type with bottom bits and reapply top bits + } + case BlockID.LONG_GRASS: case BlockID.STONE_BRICK: case BlockID.SILVERFISH_BLOCK: