diff options
author | Peter Olson <peter.olson@gmail.com> | 2013-01-05 19:41:28 -0800 |
---|---|---|
committer | riking <rikingcoding@gmail.com> | 2013-04-18 17:21:12 -0700 |
commit | db8f237a2705a809d66652e76cf8cf00bc4f7e12 (patch) | |
tree | f0b4f59dd189b305b1cc029c4aeb6bb8b97f6123 /src/main/java | |
parent | cf932e9659b3dac5aefec7342bdb1dd3ac69fa67 (diff) | |
download | bukkit-db8f237a2705a809d66652e76cf8cf00bc4f7e12.tar bukkit-db8f237a2705a809d66652e76cf8cf00bc4f7e12.tar.gz bukkit-db8f237a2705a809d66652e76cf8cf00bc4f7e12.tar.lz bukkit-db8f237a2705a809d66652e76cf8cf00bc4f7e12.tar.xz bukkit-db8f237a2705a809d66652e76cf8cf00bc4f7e12.zip |
Add inverted flag support to TrapDoor. Fixes BUKKIT-3390
Diffstat (limited to 'src/main/java')
-rw-r--r-- | src/main/java/org/bukkit/material/TrapDoor.java | 26 |
1 files changed, 23 insertions, 3 deletions
diff --git a/src/main/java/org/bukkit/material/TrapDoor.java b/src/main/java/org/bukkit/material/TrapDoor.java index 5041a5c1..54073224 100644 --- a/src/main/java/org/bukkit/material/TrapDoor.java +++ b/src/main/java/org/bukkit/material/TrapDoor.java @@ -43,6 +43,26 @@ public class TrapDoor extends SimpleAttachableMaterialData implements Openable { setData(data); } + /** + * Test if trapdoor is inverted + * @return true if inverted (top half), false if normal (bottom half) + */ + public boolean isInverted() { + return ((getData() & 0x8) != 0); + } + + /** + * Set trapdoor inverted state + * @param inv - true if inverted (top half), false if normal (bottom half) + */ + public void setInverted(boolean inv) { + int dat = getData() & 0x7; + if (inv) { + dat |= 0x8; + } + setData((byte) dat); + } + public BlockFace getAttachedFace() { byte data = (byte) (getData() & 0x3); @@ -65,7 +85,7 @@ public class TrapDoor extends SimpleAttachableMaterialData implements Openable { } public void setFacingDirection(BlockFace face) { - byte data = (byte) (getData() & 0x4); + byte data = (byte) (getData() & 0xC); switch (face) { case SOUTH: @@ -84,11 +104,11 @@ public class TrapDoor extends SimpleAttachableMaterialData implements Openable { @Override public String toString() { - return (isOpen() ? "OPEN " : "CLOSED ") + super.toString() + " with hinges set " + getAttachedFace(); + return (isOpen() ? "OPEN " : "CLOSED ") + super.toString() + " with hinges set " + getAttachedFace() + (isInverted() ? " inverted" : ""); } @Override public TrapDoor clone() { return (TrapDoor) super.clone(); } -}
\ No newline at end of file +} |