diff options
Diffstat (limited to 'Essentials/src/com/earth2me/essentials/commands/Commandspawn.java')
-rw-r--r-- | Essentials/src/com/earth2me/essentials/commands/Commandspawn.java | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandspawn.java b/Essentials/src/com/earth2me/essentials/commands/Commandspawn.java new file mode 100644 index 000000000..0edcf870c --- /dev/null +++ b/Essentials/src/com/earth2me/essentials/commands/Commandspawn.java @@ -0,0 +1,55 @@ +package com.earth2me.essentials.commands; + +import static com.earth2me.essentials.I18n._; +import com.earth2me.essentials.economy.Trade; +import com.earth2me.essentials.api.IUser; +import com.earth2me.essentials.permissions.Permissions; +import com.earth2me.essentials.settings.SpawnsHolder; +import org.bukkit.Location; +import org.bukkit.command.CommandSender; +import org.bukkit.event.player.PlayerTeleportEvent.TeleportCause; + + +public class Commandspawn extends EssentialsCommand +{ + @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); + if (args.length > 0 && Permissions.SPAWN_OTHERS.isAuthorized(user)) + { + final IUser otherUser = getPlayer(args, 0); + respawn(otherUser, null); + if (!otherUser.equals(user)) + { + otherUser.sendMessage(_("teleportAtoB", user.getDisplayName(), "spawn")); + user.sendMessage(_("teleporting")); + } + } + else + { + respawn(user, null); + } + } + + @Override + protected void run(final CommandSender sender, final String commandLabel, final String[] args) throws Exception + { + if (args.length < 1) + { + throw new NotEnoughArgumentsException(); + } + final IUser user = getPlayer(args, 0); + respawn(user, null); + user.sendMessage(_("teleportAtoB", user.getDisplayName(), "spawn")); + sender.sendMessage(_("teleporting")); + } + + private void respawn(final IUser user, final Trade charge) throws Exception + { + final SpawnsHolder spawns = (SpawnsHolder)this.module; + final Location spawn = spawns.getSpawn(ess.getRanks().getMainGroup(user)); + user.getTeleport().teleport(spawn, charge, TeleportCause.COMMAND); + } +} |