diff options
author | KHobbits <rob@khobbits.co.uk> | 2011-12-08 02:21:10 +0000 |
---|---|---|
committer | KHobbits <rob@khobbits.co.uk> | 2011-12-08 02:21:10 +0000 |
commit | 9410a25cce6c170ca13ea6b62d95b51ed3e3926c (patch) | |
tree | f651acd2c49dfa22b61b8de481d54f99c5b86c1c /EssentialsSpawn | |
parent | 13a42d1937a608669dae53f19adf8e1e3508d6be (diff) | |
download | Essentials-9410a25cce6c170ca13ea6b62d95b51ed3e3926c.tar Essentials-9410a25cce6c170ca13ea6b62d95b51ed3e3926c.tar.gz Essentials-9410a25cce6c170ca13ea6b62d95b51ed3e3926c.tar.lz Essentials-9410a25cce6c170ca13ea6b62d95b51ed3e3926c.tar.xz Essentials-9410a25cce6c170ca13ea6b62d95b51ed3e3926c.zip |
Adjusting /spawn to not trigger respawn event.
Diffstat (limited to 'EssentialsSpawn')
-rw-r--r-- | EssentialsSpawn/src/com/earth2me/essentials/spawn/Commandspawn.java | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/EssentialsSpawn/src/com/earth2me/essentials/spawn/Commandspawn.java b/EssentialsSpawn/src/com/earth2me/essentials/spawn/Commandspawn.java index f29707b82..6335d6c69 100644 --- a/EssentialsSpawn/src/com/earth2me/essentials/spawn/Commandspawn.java +++ b/EssentialsSpawn/src/com/earth2me/essentials/spawn/Commandspawn.java @@ -1,10 +1,11 @@ package com.earth2me.essentials.spawn; +import static com.earth2me.essentials.I18n._; import com.earth2me.essentials.Trade; import com.earth2me.essentials.User; import com.earth2me.essentials.commands.EssentialsCommand; import com.earth2me.essentials.commands.NotEnoughArgumentsException; -import static com.earth2me.essentials.I18n._; +import org.bukkit.Location; import org.bukkit.Server; import org.bukkit.command.CommandSender; import org.bukkit.event.player.PlayerTeleportEvent.TeleportCause; @@ -19,13 +20,13 @@ public class Commandspawn extends EssentialsCommand @Override public void run(final Server server, final User user, final String commandLabel, final String[] args) throws Exception - { + { final Trade charge = new Trade(this.getName(), ess); charge.isAffordableFor(user); if (args.length > 0 && user.isAuthorized("essentials.spawn.others")) { final User otherUser = getPlayer(server, args, 0); - otherUser.getTeleport().respawn(charge, TeleportCause.COMMAND); + respawn(otherUser, null); if (!otherUser.equals(user)) { otherUser.sendMessage(_("teleportAtoB", user.getDisplayName(), "spawn")); @@ -33,8 +34,8 @@ public class Commandspawn extends EssentialsCommand } } else - { - user.getTeleport().respawn(charge, TeleportCause.COMMAND); + { + respawn(user, null); } } @@ -46,8 +47,14 @@ public class Commandspawn extends EssentialsCommand throw new NotEnoughArgumentsException(); } final User user = getPlayer(server, args, 0); - user.getTeleport().respawn(null, TeleportCause.COMMAND); + respawn(user, null); user.sendMessage(_("teleportAtoB", user.getDisplayName(), "spawn")); sender.sendMessage(_("teleporting")); } + + private void respawn (final User user, final Trade charge) throws Exception { + final SpawnStorage spawns = (SpawnStorage)this.module; + final Location spawn = spawns.getSpawn(user.getGroup()); + user.getTeleport().teleport(spawn, charge, TeleportCause.COMMAND); + } } |