--- miscJava/bukkit-minecraft-plugins/HoerupUtils/src/dk/thoerup/bukkit/hoeruputils/secretdoor/Door.java 2011/07/17 19:28:22 1580 +++ miscJava/bukkit-minecraft-plugins/HoerupUtils/src/main/java/dk/thoerup/bukkit/hoeruputils/secretdoor/Door.java 2015/03/09 13:24:52 2430 @@ -3,69 +3,77 @@ import java.util.Map; 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 Location blockLocations[][]; // [width][height] - [0][0] == leftUpper + private BlockState blockStates[][]; - private int direction; + private BlockFace direction; private int width; private int height; private String owner; + + private boolean isPrivate; + + private String password; - public Door(Block sign, int width, int height, DoorStorage store, String owner) throws ConflictingDoorException{ + public Door(Block sign, int width, int height, DoorStorage store, String owner, boolean isPrivate, String password) throws ConflictingDoorException{ leftUpper = sign.getLocation().clone(); this.width = width; this.height = height; this.owner = owner; + + this.isPrivate = isPrivate; + this.password = password; - blocks = new Location[width][height]; + 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; } - material = leftUpper.getBlock().getTypeId(); + //material = leftUpper.getBlock().getTypeId(); loadBlocks(); for (int w=0; w map) { for (int w=0; w map) { for (int w=0; w