@EventHandler(priority = EventPriority.HIGHEST) public void reinforceSnitchBlock(CreateReinforcementEvent event) { if (event.isCancelled()) { return; } Block block = event.getBlock(); if (block.getType().equals(Material.JUKEBOX)) { Player player = event.getPlayer(); Location loc = block.getLocation(); AccessDelegate access = AccessDelegate.getDelegate(block); IReinforcement rei = event.getReinforcement(); if (rei instanceof PlayerReinforcement) { PlayerReinforcement reinforcement = (PlayerReinforcement) rei; Faction owner = reinforcement.getOwner(); if (reinforcement.getSecurityLevel().equals(SecurityLevel.GROUP)) { Snitch snitch; if (snitchManager.getSnitch(loc.getWorld(), loc) != null) { snitch = snitchManager.getSnitch(loc.getWorld(), loc); plugin .getJaLogger() .updateSnitchGroup(snitchManager.getSnitch(loc.getWorld(), loc), owner.getName()); snitchManager.removeSnitch(snitch); snitch.setGroup(owner); } else { snitch = new Snitch(loc, owner, true); plugin .getJaLogger() .logSnitchPlace( player.getWorld().getName(), owner.getName(), "", loc.getBlockX(), loc.getBlockY(), loc.getBlockZ(), true); snitch.setId(plugin.getJaLogger().getLastSnitchID()); plugin.getJaLogger().increaseLastSnitchID(); } snitchManager.addSnitch(snitch); player.sendMessage( ChatColor.AQUA + "You've created a snitch block registered to the group " + owner.getName() + ". To name your snitch, type /janame."); } else { Snitch snitch; if (snitchManager.getSnitch(loc.getWorld(), loc) != null) { snitch = snitchManager.getSnitch(loc.getWorld(), loc); plugin .getJaLogger() .updateSnitchGroup( snitchManager.getSnitch(loc.getWorld(), loc), owner.getFounder()); snitchManager.removeSnitch(snitch); snitch.setGroup(owner); } else { snitch = new Snitch(loc, owner, true); plugin .getJaLogger() .logSnitchPlace( player.getWorld().getName(), owner.getFounder(), "", loc.getBlockX(), loc.getBlockY(), loc.getBlockZ(), true); snitch.setId(plugin.getJaLogger().getLastSnitchID()); plugin.getJaLogger().increaseLastSnitchID(); } snitchManager.addSnitch(snitch); player.sendMessage( ChatColor.AQUA + "You've created a private snitch block; reinforce it with a group to register members. To name your snitch, type /janame."); } } } else if (block.getType().equals(Material.NOTE_BLOCK)) { Player player = event.getPlayer(); Location loc = block.getLocation(); AccessDelegate access = AccessDelegate.getDelegate(block); IReinforcement rei = event.getReinforcement(); if (rei instanceof PlayerReinforcement) { PlayerReinforcement reinforcement = (PlayerReinforcement) rei; Faction owner = reinforcement.getOwner(); if (reinforcement.getSecurityLevel().equals(SecurityLevel.GROUP)) { Snitch snitch; if (snitchManager.getSnitch(loc.getWorld(), loc) != null) { snitch = snitchManager.getSnitch(loc.getWorld(), loc); plugin .getJaLogger() .updateSnitchGroup(snitchManager.getSnitch(loc.getWorld(), loc), owner.getName()); snitchManager.removeSnitch(snitch); snitch.setGroup(owner); } else { snitch = new Snitch(loc, owner, false); plugin .getJaLogger() .logSnitchPlace( player.getWorld().getName(), owner.getName(), "", loc.getBlockX(), loc.getBlockY(), loc.getBlockZ(), false); snitch.setId(plugin.getJaLogger().getLastSnitchID()); plugin.getJaLogger().increaseLastSnitchID(); } snitchManager.addSnitch(snitch); player.sendMessage( ChatColor.AQUA + "You've created an entry snitch registered to the group " + owner.getName() + ". To name your entry snitch, type /janame."); } else { Snitch snitch; if (snitchManager.getSnitch(loc.getWorld(), loc) != null) { snitch = snitchManager.getSnitch(loc.getWorld(), loc); plugin .getJaLogger() .updateSnitchGroup( snitchManager.getSnitch(loc.getWorld(), loc), owner.getFounder()); snitchManager.removeSnitch(snitch); snitch.setGroup(owner); } else { snitch = new Snitch(loc, owner, false); plugin .getJaLogger() .logSnitchPlace( player.getWorld().getName(), owner.getFounder(), "", loc.getBlockX(), loc.getBlockY(), loc.getBlockZ(), false); snitch.setId(plugin.getJaLogger().getLastSnitchID()); plugin.getJaLogger().increaseLastSnitchID(); } snitchManager.addSnitch(snitch); player.sendMessage( ChatColor.AQUA + "You've created a private entry snitch; reinforce it with a group to register members. To name your entry snitch, type /janame."); } } } }