/** * Detect the mechanic at a placed sign. * * @throws ProcessedMechanismException */ @Override public Teleporter detect(BlockWorldVector pt, LocalPlayer player, Sign sign) throws InvalidMechanismException, ProcessedMechanismException { if (!sign.getLine(1).equalsIgnoreCase("[Teleport]")) return null; if (!player.hasPermission("craftbook.mech.teleporter")) { throw new InsufficientPermissionsException(); } player.print("mech.teleport.create"); sign.setLine(1, "[Teleport]"); String[] pos = sign.getLine(2).split(":"); if (!(pos.length > 2)) return null; throw new ProcessedMechanismException(); }
@Override public void onRightClick(PlayerInteractEvent event) { if (!plugin.getLocalConfiguration().teleporterSettings.enable) return; if (!BukkitUtil.toWorldVector(event.getClickedBlock()) .equals(BukkitUtil.toWorldVector(trigger))) return; // wth? our manager is insane. ikr. LocalPlayer localPlayer = plugin.wrap(event.getPlayer()); if (!localPlayer.hasPermission("craftbook.mech.teleporter.use")) { localPlayer.printError("mech.use-permission"); return; } makeItSo(event.getPlayer()); event.setCancelled(true); }
public boolean canUse(LocalPlayer player) { return player.hasPermission("worldedit.tool.replacer"); }