summaryrefslogtreecommitdiffstats
path: root/Essentials/src/net/ess3/commands/Commandtpo.java
diff options
context:
space:
mode:
Diffstat (limited to 'Essentials/src/net/ess3/commands/Commandtpo.java')
-rw-r--r--Essentials/src/net/ess3/commands/Commandtpo.java61
1 files changed, 16 insertions, 45 deletions
diff --git a/Essentials/src/net/ess3/commands/Commandtpo.java b/Essentials/src/net/ess3/commands/Commandtpo.java
index 7eba0262f..529fbd8f8 100644
--- a/Essentials/src/net/ess3/commands/Commandtpo.java
+++ b/Essentials/src/net/ess3/commands/Commandtpo.java
@@ -1,11 +1,8 @@
package net.ess3.commands;
-import lombok.Cleanup;
import static net.ess3.I18n._;
-import net.ess3.api.ISettings;
import net.ess3.api.IUser;
import net.ess3.permissions.Permissions;
-import net.ess3.permissions.WorldPermissions;
import org.bukkit.event.player.PlayerTeleportEvent.TeleportCause;
@@ -14,54 +11,28 @@ public class Commandtpo extends EssentialsCommand
@Override
public void run(final IUser user, final String commandLabel, final String[] args) throws Exception
{
- @Cleanup
- ISettings settings = ess.getSettings();
- switch (args.length)
+ if (args.length < 1)
{
- case 0:
throw new NotEnoughArgumentsException();
+ }
- case 1:
- final IUser player = getPlayer(args, 0, true);
- if (!player.isOnline() || (player.isHidden() && !Permissions.TELEPORT_HIDDEN.isAuthorized(player)))
- {
- throw new NoSuchFieldException(_("playerNotFound"));
- }
- settings.acquireReadLock();
- if (user.getWorld() != player.getWorld() && settings.getData().getGeneral().isWorldTeleportPermissions()
- && !WorldPermissions.getPermission(player.getWorld().getName()).isAuthorized(player))
- {
- throw new Exception(_("noPerm", "essentials.world." + player.getWorld().getName()));
- }
+ //Just basically the old tp command
+ final IUser player = getPlayer(args, 0, true);
+ // Check if user is offline
+ if (!player.isOnline())
+ {
+ throw new NoSuchFieldException(_("playerNotFound"));
+ }
- user.sendMessage(_("teleporting"));
+ // Verify permission
+ if (!player.isHidden() || Permissions.TELEPORT_HIDDEN.isAuthorized(user))
+ {
user.getTeleport().now(player, false, TeleportCause.COMMAND);
- break;
-
- default:
- if (!Permissions.TELEPORT_OTHERS.isAuthorized(user))
- {
- throw new Exception(_("noPerm", "essentials.tp.others"));
- }
user.sendMessage(_("teleporting"));
- final IUser target = getPlayer(args, 0, true);
- final IUser toPlayer = getPlayer(args, 1, true);
-
- if (!target.isOnline() || !toPlayer.isOnline()
- || ((target.isHidden() || toPlayer.isHidden()) && !Permissions.TELEPORT_HIDDEN.isAuthorized(user)))
- {
- throw new NoSuchFieldException(_("playerNotFound"));
- }
- settings.acquireReadLock();
- if (target.getWorld() != toPlayer.getWorld() && settings.getData().getGeneral().isWorldTeleportPermissions()
- && !WorldPermissions.getPermission(toPlayer.getWorld().getName()).isAuthorized(user))
- {
- throw new Exception(_("noPerm", "essentials.world." + toPlayer.getWorld().getName()));
- }
-
- target.getTeleport().now(toPlayer, false, TeleportCause.COMMAND);
- target.sendMessage(_("teleportAtoB", user.getDisplayName(), toPlayer.getDisplayName()));
- break;
+ }
+ else
+ {
+ throw new NoSuchFieldException(_("playerNotFound"));
}
}
}