@Override public void run(final IUser user, final String commandLabel, final String[] args) throws Exception { ISettings settings = ess.getSettings(); switch (args.length) { case 0: throw new NotEnoughArgumentsException(); case 1: final IUser player = ess.getUserMap().matchUserExcludingHidden(args[0], user.getPlayer()); if (!player.getData().isTeleportEnabled()) { throw new Exception(_("{0} has teleportation disabled.", player.getPlayer().getDisplayName())); } if (settings.getData().getGeneral().isPerGroupTeleport() && !Permissions.PERGROUPTELEPORT.isAuthorized( user, ess.getRanks().getMainGroup(player))) { throw new Exception(_("You do not have the {0} permission.", "essentials.teleport.groups." + ess.getRanks().getMainGroup(player))); } if (user.getPlayer().getWorld() != player.getPlayer().getWorld() && settings.getData().getGeneral().isWorldTeleportPermissions() && !Permissions.WORLD.isAuthorized( user, player.getPlayer().getWorld().getName())) { throw new Exception(_("You do not have the {0} permission.", "essentials.world." + player.getPlayer().getWorld().getName())); } user.sendMessage(_("Teleporting...")); final Trade charge = new Trade(commandName, ess); charge.isAffordableFor(user); user.getTeleport().teleport(player.getPlayer(), charge, TeleportCause.COMMAND); throw new NoChargeException(); default: if (!Permissions.TPOHERE.isAuthorized(user)) { throw new Exception(_("needTpohere")); } user.sendMessage(_("Teleporting...")); final IUser target = ess.getUserMap().matchUserExcludingHidden(args[0], user.getPlayer()); final IUser toPlayer = ess.getUserMap().matchUserExcludingHidden(args[1], user.getPlayer()); if (!target.getData().isTeleportEnabled()) { throw new Exception(_("{0} has teleportation disabled.", target.getPlayer().getDisplayName())); } if (!toPlayer.getData().isTeleportEnabled()) { throw new Exception(_("{0} has teleportation disabled.", toPlayer.getPlayer().getDisplayName())); } if (target.getPlayer().getWorld() != toPlayer.getPlayer().getWorld() && settings.getData().getGeneral().isWorldTeleportPermissions() && !Permissions.WORLD.isAuthorized( user, toPlayer.getPlayer().getWorld().getName())) { throw new Exception(_("You do not have the {0} permission.", "essentials.world." + toPlayer.getPlayer().getWorld().getName())); } target.getTeleport().now(toPlayer.getPlayer(), false, TeleportCause.COMMAND); target.sendMessage(_("{0} teleported you to {1}.", user.getPlayer().getDisplayName(), toPlayer.getPlayer().getDisplayName())); break; } }
@Override public void run(final IUser user, final String commandLabel, final String[] args) throws Exception { ISettings settings = ess.getSettings(); switch (args.length) { case 0: throw new NotEnoughArgumentsException(); case 1: final IUser player = ess.getUserMap().matchUser(args[0], false, false); if (!player.getData().isTeleportEnabled()) { throw new Exception(_("teleportDisabled", player.getPlayer().getDisplayName())); } if (user.getPlayer().getWorld() != player.getPlayer().getWorld() && settings.getData().getGeneral().isWorldTeleportPermissions() && !Permissions.WORLD.isAuthorized(user, player.getPlayer().getWorld().getName())) { throw new Exception(_("noPerm", "essentials.world." + player.getPlayer().getWorld().getName())); } user.sendMessage(_("teleporting")); final Trade charge = new Trade(commandName, ess); charge.isAffordableFor(user); user.getTeleport().teleport(player.getPlayer(), charge, TeleportCause.COMMAND); throw new NoChargeException(); default: if (!Permissions.TPOHERE.isAuthorized(user)) { throw new Exception(_("needTpohere")); } user.sendMessage(_("teleporting")); final IUser target = ess.getUserMap().matchUser(args[0], false, false); final IUser toPlayer = ess.getUserMap().matchUser(args[1], false, false); if (!target.getData().isTeleportEnabled()) { throw new Exception(_("teleportDisabled", target.getPlayer().getDisplayName())); } if (!toPlayer.getData().isTeleportEnabled()) { throw new Exception(_("teleportDisabled", toPlayer.getPlayer().getDisplayName())); } if (target.getPlayer().getWorld() != toPlayer.getPlayer().getWorld() && settings.getData().getGeneral().isWorldTeleportPermissions() && !Permissions.WORLD.isAuthorized(user, toPlayer.getPlayer().getWorld().getName())) { throw new Exception(_("noPerm", "essentials.world." + toPlayer.getPlayer().getWorld().getName())); } target.getTeleport().now(toPlayer.getPlayer(), false, TeleportCause.COMMAND); target.sendMessage(_("teleportAtoB", user.getPlayer().getDisplayName(), toPlayer.getPlayer().getDisplayName())); break; } }
@Override public void run(final CommandSender sender, final String commandLabel, final String[] args) throws Exception { if (args.length < 4) { throw new NotEnoughArgumentsException(); } IUser user = ess.getUserMap().getUser(server.getPlayer(args[0])); final int x = Integer.parseInt(args[1]); final int y = Integer.parseInt(args[2]); final int z = Integer.parseInt(args[3]); final Location location = new Location(user.getPlayer().getWorld(), x, y, z); if (args.length > 4) { location.setYaw((Float.parseFloat(args[4]) + 180 + 360) % 360); } if (args.length > 5) { location.setPitch(Float.parseFloat(args[5])); } sender.sendMessage(_("teleporting")); user.sendMessage(_("teleporting")); user.getTeleport().teleport(location, null, TeleportCause.COMMAND); }
@Override public void run(final IUser user, final String commandLabel, final String[] args) throws Exception { if (args.length < 3) { throw new NotEnoughArgumentsException(); } final int x = Integer.parseInt(args[0]); final int y = Integer.parseInt(args[1]); final int z = Integer.parseInt(args[2]); final Location location = new Location(user.getPlayer().getWorld(), x, y, z); if (args.length > 3) { location.setYaw((Float.parseFloat(args[3]) + 180 + 360) % 360); } if (args.length > 4) { location.setPitch(Float.parseFloat(args[4])); } final Trade charge = new Trade(commandName, ess); charge.isAffordableFor(user); user.sendMessage(_("teleporting")); user.getTeleport().teleport(location, charge, TeleportCause.COMMAND); throw new NoChargeException(); }
@Override protected void run(final CommandSender sender, final String commandLabel, final String[] args) throws Exception { if (args.length < 2) { throw new NotEnoughArgumentsException(); } sender.sendMessage(_("Teleporting...")); final IUser target = ess.getUserMap().getUser(args[0]); final IUser toPlayer = ess.getUserMap().getUser(args[1]); target.getTeleport().now(toPlayer.getPlayer(), false, TeleportCause.COMMAND); target.sendMessage(_("{0} teleported you to {1}.", Console.NAME, toPlayer.getPlayer().getDisplayName())); }
private void goHome(final IUser user, final IUser player, final String home, final Trade charge) throws Exception { final Location loc = player.getHome(home); if (loc == null) { throw new NotEnoughArgumentsException(); } if (user.getPlayer().getWorld() != loc.getWorld() && ess.getSettings().getData().getGeneral().isWorldHomePermissions() && !Permissions.WORLD.isAuthorized( user, loc.getWorld().getName())) { throw new Exception(_("noPerm", "essentials.world." + loc.getWorld().getName())); } user.getTeleport().home(loc, charge); }
@Override protected void run(final CommandSender sender, final String commandLabel, final String[] args) throws Exception { if (args.length < 2) { throw new NotEnoughArgumentsException(); } sender.sendMessage(_("teleporting")); final IUser target = getPlayer(args, 0); final IUser toPlayer = getPlayer(args, 1); target.getTeleport().now(toPlayer, false, TeleportCause.COMMAND); target.sendMessage(_("teleportAtoB", Console.NAME, toPlayer.getDisplayName())); }
@Override public void run(final IUser user, final String commandLabel, final String[] args) throws Exception { @Cleanup final IUser player = getPlayer(args, 0); player.acquireReadLock(); if (!player.getData().isTeleportEnabled()) { throw new Exception(_("teleportDisabled", player.getDisplayName())); } player.getTeleport().teleport(user, new Trade(commandName, ess), TeleportCause.COMMAND); user.sendMessage(_("teleporting")); player.sendMessage(_("teleporting")); throw new NoChargeException(); }
@Override public void run(final IUser user, final String commandLabel, final String[] args) throws Exception { final Trade charge = new Trade(commandName, ess); charge.isAffordableFor(user); IUser player = user; String homeName = ""; String[] nameParts; if (args.length > 0) { nameParts = colon.split(args[0]); if (nameParts[0].length() == args[0].length() || !Permissions.HOME_OTHERS.isAuthorized(user)) { homeName = nameParts[0]; } else { player = ess.getUserMap().matchUser(nameParts[0], true); if (nameParts.length > 1) { homeName = nameParts[1]; } } } try { if ("bed".equalsIgnoreCase(homeName)) { final Location bed = player.getBedSpawnLocation(); if (bed != null && bed.getBlock().getType() == Material.BED_BLOCK) { user.getTeleport().teleport(bed, charge, TeleportCause.COMMAND); throw new NoChargeException(); } } goHome(user, player, homeName.toLowerCase(Locale.ENGLISH), charge); } catch (NotEnoughArgumentsException e) { Location bed = player.getBedSpawnLocation(); if (bed != null && bed.getBlock().getType() != Material.BED_BLOCK) { bed = null; } final Set<String> homes = player.getHomes(); if (homes.isEmpty() && player.equals(user)) { if (bed != null) { user.getTeleport().teleport(bed, charge, TeleportCause.COMMAND); throw new NoChargeException(); } user.getTeleport().respawn(charge, TeleportCause.COMMAND); } else if (homes.isEmpty()) { throw new Exception(player == user ? _("noHomeSet") : _("noHomeSetPlayer")); } else if (homes.size() == 1 && player.equals(user)) { goHome(user, player, homes.iterator().next(), charge); } else { if (bed != null) { homes.add("bed"); } user.sendMessage(_("homes", Util.joinList(homes))); } } throw new NoChargeException(); }
@Override protected void run(final CommandSender sender, final String commandLabel, final String[] args) throws Exception { if (args.length < 1) { throw new NotEnoughArgumentsException(); } final IUser player = ess.getUserMap().matchUser(args[0], true); if (args.length >= 2 && !player.getData().isJailed()) { if (!player.isOnline()) { if (Permissions.TOGGLEJAIL_OFFLINE.isAuthorized(sender)) { sender.sendMessage(_("mayNotJail")); return; } } else { if (Permissions.JAIL_EXEMPT.isAuthorized(player)) { sender.sendMessage(_("mayNotJail")); return; } } if (player.isOnline()) { ess.getJails().sendToJail(player, args[1]); } else { // Check if jail exists ess.getJails().getJail(args[1]); } player.getData().setJailed(true); player.sendMessage(_("userJailed")); player.getData().setJail(args[1]); long timeDiff = 0; if (args.length > 2) { final String time = getFinalArg(args, 2); timeDiff = DateUtil.parseDateDiff(time, true); player.setTimestamp(TimestampType.JAIL, timeDiff); } player.queueSave(); sender.sendMessage((timeDiff > 0 ? _("playerJailedFor", player.getName(), DateUtil.formatDateDiff(timeDiff)) : _("playerJailed", player.getName()))); return; } if (args.length >= 2 && player.getData().isJailed() && !args[1].equalsIgnoreCase(player.getData().getJail())) { sender.sendMessage(_("jailAlreadyIncarcerated", player.getData().getJail())); return; } if (args.length >= 2 && player.getData().isJailed() && args[1].equalsIgnoreCase(player.getData().getJail())) { final String time = getFinalArg(args, 2); final long timeDiff = DateUtil.parseDateDiff(time, true); player.setTimestamp(TimestampType.JAIL, timeDiff); player.queueSave(); sender.sendMessage(_("jailSentenceExtended", DateUtil.formatDateDiff(timeDiff))); return; } if (args.length == 1 || (args.length == 2 && args[1].equalsIgnoreCase(player.getData().getJail()))) { if (!player.getData().isJailed()) { throw new NotEnoughArgumentsException(); } player.getData().setJailed(false); player.setTimestamp(TimestampType.JAIL, 0); player.sendMessage(_("jailReleasedPlayerNotify")); player.getData().setJail(null); if (player.isOnline()) { player.getTeleport().back(); } player.queueSave(); sender.sendMessage(_("jailReleased", player.getName())); } }