summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorPeter Olson <peter.olson@gmail.com>2013-01-05 19:41:28 -0800
committerriking <rikingcoding@gmail.com>2013-04-18 17:21:12 -0700
commitdb8f237a2705a809d66652e76cf8cf00bc4f7e12 (patch)
treef0b4f59dd189b305b1cc029c4aeb6bb8b97f6123 /src
parentcf932e9659b3dac5aefec7342bdb1dd3ac69fa67 (diff)
downloadbukkit-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')
-rw-r--r--src/main/java/org/bukkit/material/TrapDoor.java26
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
+}