Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // REDSTONE EVENT!!!
- @Override
- public void onBlockRedstoneChange(BlockRedstoneEvent event) {
- boolean newVal = (event.getNewCurrent() > 0);
- boolean oldVal = (event.getOldCurrent() > 0);
- if (newVal == oldVal) {
- return; // not a change
- }
- Block block = event.getBlock();
- Location loc = block.getLocation();
- loc.setY(loc.getY() + 1);
- int x = block.getX();
- int y = block.getY();
- int z = block.getZ();
- if (block.getWorld().getBlockAt(x + 1, y, z).getTypeId() == Material.WALL_SIGN.getId()) {
- doRedstoneEvent(block.getWorld(), x + 1, y, z, event.getNewCurrent());
- } else if (block.getWorld().getBlockAt(x - 1, y, z).getTypeId() == Material.WALL_SIGN.getId()) {
- doRedstoneEvent(block.getWorld(), x - 1, y, z, event.getNewCurrent());
- } else if (block.getWorld().getBlockAt(x, y, z + 1).getTypeId() == Material.WALL_SIGN.getId()) {
- doRedstoneEvent(block.getWorld(), x, y, z + 1, event.getNewCurrent());
- } else if (block.getWorld().getBlockAt(x, y, z - 1).getTypeId() == Material.WALL_SIGN.getId()) {
- doRedstoneEvent(block.getWorld(), x, y, z - 1, event.getNewCurrent());
- } else if (block.getWorld().getBlockAt(x + 1, y + 1, z).getTypeId() == Material.WALL_SIGN.getId()) {
- doRedstoneEvent(block.getWorld(), x + 1, y + 1, z, event.getNewCurrent());
- } else if (block.getWorld().getBlockAt(x - 1, y + 1, z).getTypeId() == Material.WALL_SIGN.getId()) {
- doRedstoneEvent(block.getWorld(), x - 1, y + 1, z, event.getNewCurrent());
- } else if (block.getWorld().getBlockAt(x, y + 1, z + 1).getTypeId() == Material.WALL_SIGN.getId()) {
- doRedstoneEvent(block.getWorld(), x, y + 1, z + 1, event.getNewCurrent());
- } else if (block.getWorld().getBlockAt(x, y + 1, z - 1).getTypeId() == Material.WALL_SIGN.getId()) {
- doRedstoneEvent(block.getWorld(), x, y + 1, z - 1, event.getNewCurrent());
- } else if (block.getWorld().getBlockAt(x + 1, y - 1, z).getTypeId() == Material.WALL_SIGN.getId()) {
- doRedstoneEvent(block.getWorld(), x + 1, y - 1, z, event.getNewCurrent());
- } else if (block.getWorld().getBlockAt(x - 1, y - 1, z).getTypeId() == Material.WALL_SIGN.getId()) {
- doRedstoneEvent(block.getWorld(), x - 1, y - 1, z, event.getNewCurrent());
- } else if (block.getWorld().getBlockAt(x, y - 1, z + 1).getTypeId() == Material.WALL_SIGN.getId()) {
- doRedstoneEvent(block.getWorld(), x, y - 1, z + 1, event.getNewCurrent());
- } else if (block.getWorld().getBlockAt(x, y - 1, z - 1).getTypeId() == Material.WALL_SIGN.getId()) {
- doRedstoneEvent(block.getWorld(), x, y - 1, z - 1, event.getNewCurrent());
- }
- }
- // REDSTONE EVENT
- public void doRedstoneEvent(World w, int x, int y, int z, int State) {
- Sign signBlock = (Sign) w.getBlockAt(x, y, z).getState();
- if (plugin.isHDoorEnabled() && signBlock.getLine(1).equalsIgnoreCase("[HDoor]")) {
- HiddenDoor.toggle(signBlock, 0, 0, 0);
- }
- }
Add Comment
Please, Sign In to add comment