diff options
author | snowleo <schneeleo@gmail.com> | 2011-12-06 13:41:29 +0100 |
---|---|---|
committer | snowleo <schneeleo@gmail.com> | 2011-12-06 13:41:29 +0100 |
commit | 4c2b9b8d0fd35cd27ef4cbdd0a8e4200d02926b0 (patch) | |
tree | 7ad524c5899beb8e6a702d7bda8e7fa1a10c1e15 /EssentialsSpawn/src/com/earth2me/essentials/spawn/EssentialsSpawnPlayerListener.java | |
parent | a44bd360c09df18011044b46f9507c43795181e3 (diff) | |
download | Essentials-4c2b9b8d0fd35cd27ef4cbdd0a8e4200d02926b0.tar Essentials-4c2b9b8d0fd35cd27ef4cbdd0a8e4200d02926b0.tar.gz Essentials-4c2b9b8d0fd35cd27ef4cbdd0a8e4200d02926b0.tar.lz Essentials-4c2b9b8d0fd35cd27ef4cbdd0a8e4200d02926b0.tar.xz Essentials-4c2b9b8d0fd35cd27ef4cbdd0a8e4200d02926b0.zip |
Updated EssentialsSpawn to use the new config code
/spawn and /home now call the PlayerRespawnEvent to make it more compatible with other plugins.
Diffstat (limited to 'EssentialsSpawn/src/com/earth2me/essentials/spawn/EssentialsSpawnPlayerListener.java')
-rw-r--r-- | EssentialsSpawn/src/com/earth2me/essentials/spawn/EssentialsSpawnPlayerListener.java | 47 |
1 files changed, 30 insertions, 17 deletions
diff --git a/EssentialsSpawn/src/com/earth2me/essentials/spawn/EssentialsSpawnPlayerListener.java b/EssentialsSpawn/src/com/earth2me/essentials/spawn/EssentialsSpawnPlayerListener.java index bca748296..6bb453f12 100644 --- a/EssentialsSpawn/src/com/earth2me/essentials/spawn/EssentialsSpawnPlayerListener.java +++ b/EssentialsSpawn/src/com/earth2me/essentials/spawn/EssentialsSpawnPlayerListener.java @@ -4,7 +4,7 @@ import static com.earth2me.essentials.I18n._; import com.earth2me.essentials.IEssentials; import com.earth2me.essentials.User; import java.util.logging.Level; -import java.util.logging.Logger; +import org.bukkit.Bukkit; import org.bukkit.Location; import org.bukkit.event.player.PlayerJoinEvent; import org.bukkit.event.player.PlayerListener; @@ -14,11 +14,13 @@ import org.bukkit.event.player.PlayerRespawnEvent; public class EssentialsSpawnPlayerListener extends PlayerListener { private final transient IEssentials ess; + private final transient SpawnStorage spawns; - public EssentialsSpawnPlayerListener(final IEssentials ess) + public EssentialsSpawnPlayerListener(final IEssentials ess, final SpawnStorage spawns) { super(); this.ess = ess; + this.spawns = spawns; } @Override @@ -39,7 +41,7 @@ public class EssentialsSpawnPlayerListener extends PlayerListener return; } } - final Location spawn = ess.getSpawn().getSpawn(user.getGroup()); + final Location spawn = spawns.getSpawn(user.getGroup()); if (spawn != null) { event.setRespawnLocation(spawn); @@ -58,20 +60,7 @@ public class EssentialsSpawnPlayerListener extends PlayerListener user.setNew(false); if (!"none".equalsIgnoreCase(ess.getSettings().getNewbieSpawn())) { - ess.scheduleSyncDelayedTask(new Runnable() - { - public void run() - { - try - { - user.getTeleport().now(ess.getSpawn().getSpawn(ess.getSettings().getNewbieSpawn()), false); - } - catch (Exception ex) - { - Logger.getLogger("Minecraft").log(Level.WARNING, _("teleportNewPlayerError"), ex); - } - } - }); + ess.scheduleSyncDelayedTask(new NewPlayerTeleport(user)); } if (ess.getSettings().getAnnounceNewPlayers()) @@ -79,4 +68,28 @@ public class EssentialsSpawnPlayerListener extends PlayerListener ess.broadcastMessage(user, ess.getSettings().getAnnounceNewPlayerFormat(user)); } } + + + private class NewPlayerTeleport implements Runnable + { + private final transient User user; + + public NewPlayerTeleport(final User user) + { + this.user = user; + } + + @Override + public void run() + { + try + { + user.getTeleport().now(spawns.getSpawn(ess.getSettings().getNewbieSpawn()), false); + } + catch (Exception ex) + { + Bukkit.getLogger().log(Level.WARNING, _("teleportNewPlayerError"), ex); + } + } + } } |