--- miscJava/bukkit-minecraft-plugins/HoerupUtils/src/main/java/dk/thoerup/bukkit/hoeruputils/secretdoor/Door.java 2015/03/09 12:29:22 2429 +++ miscJava/bukkit-minecraft-plugins/HoerupUtils/src/main/java/dk/thoerup/bukkit/hoeruputils/secretdoor/Door.java 2015/03/09 13:24:52 2430 @@ -2,27 +2,23 @@ import java.util.Map; -import org.bukkit.Material; import org.bukkit.Location; -import org.bukkit.Server; +import org.bukkit.Material; import org.bukkit.World; import org.bukkit.block.Block; +import org.bukkit.block.BlockFace; +import org.bukkit.block.BlockState; class Door { - final static int EAST = 0; - final static int WEST = 1; - final static int NORTH = 2; - final static int SOUTH = 3; - + private Location leftUpper; - private Location blocks[][]; // [width][height] - [0][0] == leftUpper - private int material[][]; - private byte data[][]; + private Location blockLocations[][]; // [width][height] - [0][0] == leftUpper + private BlockState blockStates[][]; - private int direction; + private BlockFace direction; private int width; private int height; @@ -45,22 +41,27 @@ this.isPrivate = isPrivate; this.password = password; + BlockState signState = sign.getState(); + org.bukkit.material.Sign signData = (org.bukkit.material.Sign) signState.getData(); - direction = sign.getData() - 2; + direction = signData.getFacing(); - switch ( sign.getData() ) { - case 2: //facing east + switch ( direction ) { + case EAST: //facing east leftUpper.setZ( leftUpper.getZ() + 1 ); break; - case 3: //facing west + case WEST: //facing west leftUpper.setZ( leftUpper.getZ() - 1 ); break; - case 4: //facing north + case NORTH: //facing north leftUpper.setX( leftUpper.getX() + 1); break; - case 5: //facing south + case SOUTH: //facing south leftUpper.setX( leftUpper.getX() - 1); break; + default: + //DoNothing + break; } @@ -72,7 +73,7 @@ for (int w=0; w map) { for (int w=0; w map) { for (int w=0; w