Ejemplo n.º 1
0
 @EventHandler(priority = EventPriority.HIGHEST)
 public void onBlockRedstoneChange(BlockRedstoneEvent event) {
   if (TrainCarts.isWorldDisabled(event)) {
     return;
   }
   Material type = event.getBlock().getType();
   if (BlockUtil.isType(type, Material.LEVER)) {
     Block up = event.getBlock().getRelative(BlockFace.UP);
     Block down = event.getBlock().getRelative(BlockFace.DOWN);
     if (MaterialUtil.ISSIGN.get(up)) {
       updateRedstonePower(up, event.getNewCurrent() > 0);
     }
     if (MaterialUtil.ISSIGN.get(down)) {
       updateRedstonePower(down, event.getNewCurrent() > 0);
     }
     ignoreOutputLever(event.getBlock());
   } else if (MaterialUtil.ISSIGN.get(type)) {
     updateRedstonePower(event.getBlock(), event.getNewCurrent() > 0);
   }
 }