From 9410a25cce6c170ca13ea6b62d95b51ed3e3926c Mon Sep 17 00:00:00 2001 From: KHobbits Date: Thu, 8 Dec 2011 02:21:10 +0000 Subject: Adjusting /spawn to not trigger respawn event. --- .../com/earth2me/essentials/spawn/Commandspawn.java | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) (limited to 'EssentialsSpawn') 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); + } } -- cgit v1.2.3