Guest User

Untitled

a guest
Oct 19th, 2017
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.13 KB | None | 0 0
  1. // REDSTONE EVENT!!!
  2. @Override
  3. public void onBlockRedstoneChange(BlockRedstoneEvent event) {
  4.  
  5.  
  6. boolean newVal = (event.getNewCurrent() > 0);
  7. boolean oldVal = (event.getOldCurrent() > 0);
  8. if (newVal == oldVal) {
  9. return; // not a change
  10. }
  11. Block block = event.getBlock();
  12. Location loc = block.getLocation();
  13. loc.setY(loc.getY() + 1);
  14.  
  15. int x = block.getX();
  16. int y = block.getY();
  17. int z = block.getZ();
  18.  
  19. if (block.getWorld().getBlockAt(x + 1, y, z).getTypeId() == Material.WALL_SIGN.getId()) {
  20. doRedstoneEvent(block.getWorld(), x + 1, y, z, event.getNewCurrent());
  21. } else if (block.getWorld().getBlockAt(x - 1, y, z).getTypeId() == Material.WALL_SIGN.getId()) {
  22. doRedstoneEvent(block.getWorld(), x - 1, y, z, event.getNewCurrent());
  23. } else if (block.getWorld().getBlockAt(x, y, z + 1).getTypeId() == Material.WALL_SIGN.getId()) {
  24. doRedstoneEvent(block.getWorld(), x, y, z + 1, event.getNewCurrent());
  25. } else if (block.getWorld().getBlockAt(x, y, z - 1).getTypeId() == Material.WALL_SIGN.getId()) {
  26. doRedstoneEvent(block.getWorld(), x, y, z - 1, event.getNewCurrent());
  27. } else if (block.getWorld().getBlockAt(x + 1, y + 1, z).getTypeId() == Material.WALL_SIGN.getId()) {
  28. doRedstoneEvent(block.getWorld(), x + 1, y + 1, z, event.getNewCurrent());
  29. } else if (block.getWorld().getBlockAt(x - 1, y + 1, z).getTypeId() == Material.WALL_SIGN.getId()) {
  30. doRedstoneEvent(block.getWorld(), x - 1, y + 1, z, event.getNewCurrent());
  31. } else if (block.getWorld().getBlockAt(x, y + 1, z + 1).getTypeId() == Material.WALL_SIGN.getId()) {
  32. doRedstoneEvent(block.getWorld(), x, y + 1, z + 1, event.getNewCurrent());
  33. } else if (block.getWorld().getBlockAt(x, y + 1, z - 1).getTypeId() == Material.WALL_SIGN.getId()) {
  34. doRedstoneEvent(block.getWorld(), x, y + 1, z - 1, event.getNewCurrent());
  35. } else if (block.getWorld().getBlockAt(x + 1, y - 1, z).getTypeId() == Material.WALL_SIGN.getId()) {
  36. doRedstoneEvent(block.getWorld(), x + 1, y - 1, z, event.getNewCurrent());
  37. } else if (block.getWorld().getBlockAt(x - 1, y - 1, z).getTypeId() == Material.WALL_SIGN.getId()) {
  38. doRedstoneEvent(block.getWorld(), x - 1, y - 1, z, event.getNewCurrent());
  39. } else if (block.getWorld().getBlockAt(x, y - 1, z + 1).getTypeId() == Material.WALL_SIGN.getId()) {
  40. doRedstoneEvent(block.getWorld(), x, y - 1, z + 1, event.getNewCurrent());
  41. } else if (block.getWorld().getBlockAt(x, y - 1, z - 1).getTypeId() == Material.WALL_SIGN.getId()) {
  42. doRedstoneEvent(block.getWorld(), x, y - 1, z - 1, event.getNewCurrent());
  43. }
  44. }
  45.  
  46. // REDSTONE EVENT
  47. public void doRedstoneEvent(World w, int x, int y, int z, int State) {
  48.  
  49. Sign signBlock = (Sign) w.getBlockAt(x, y, z).getState();
  50. if (plugin.isHDoorEnabled() && signBlock.getLine(1).equalsIgnoreCase("[HDoor]")) {
  51.  
  52. HiddenDoor.toggle(signBlock, 0, 0, 0);
  53.  
  54. }
  55. }
Add Comment
Please, Sign In to add comment