Пример #1
0
    /**
     * 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();
    }
Пример #2
0
  @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);
  }
Пример #3
0
 public boolean canUse(LocalPlayer player) {
   return player.hasPermission("worldedit.tool.replacer");
 }