diff options
author | KHobbits <rob@khobbits.co.uk> | 2012-03-04 20:06:50 +0000 |
---|---|---|
committer | KHobbits <rob@khobbits.co.uk> | 2012-03-04 20:09:25 +0000 |
commit | 654663c0fd9f274374282038d12dd1d0490aefb0 (patch) | |
tree | 9f1f3c5bb5c35d7cf2cf7f8e60e32ef625d2361d /EssentialsSpawn | |
parent | 00d12585f3ab4d63e5b08e74a3ed738c572f96b3 (diff) | |
download | Essentials-654663c0fd9f274374282038d12dd1d0490aefb0.tar Essentials-654663c0fd9f274374282038d12dd1d0490aefb0.tar.gz Essentials-654663c0fd9f274374282038d12dd1d0490aefb0.tar.lz Essentials-654663c0fd9f274374282038d12dd1d0490aefb0.tar.xz Essentials-654663c0fd9f274374282038d12dd1d0490aefb0.zip |
Adding starter/newbie kit to EssentialsSpawn
Optimization to EssentialsSpawn join event.
Diffstat (limited to 'EssentialsSpawn')
-rw-r--r-- | EssentialsSpawn/src/com/earth2me/essentials/spawn/EssentialsSpawnPlayerListener.java | 31 |
1 files changed, 24 insertions, 7 deletions
diff --git a/EssentialsSpawn/src/com/earth2me/essentials/spawn/EssentialsSpawnPlayerListener.java b/EssentialsSpawn/src/com/earth2me/essentials/spawn/EssentialsSpawnPlayerListener.java index c7a17845a..ba71c176f 100644 --- a/EssentialsSpawn/src/com/earth2me/essentials/spawn/EssentialsSpawnPlayerListener.java +++ b/EssentialsSpawn/src/com/earth2me/essentials/spawn/EssentialsSpawnPlayerListener.java @@ -1,12 +1,13 @@ package com.earth2me.essentials.spawn; +import com.earth2me.essentials.*; import static com.earth2me.essentials.I18n._; -import com.earth2me.essentials.IEssentials; -import com.earth2me.essentials.OfflinePlayer; -import com.earth2me.essentials.User; import com.earth2me.essentials.textreader.IText; import com.earth2me.essentials.textreader.KeywordReplacer; import com.earth2me.essentials.textreader.SimpleTextPager; +import java.util.List; +import java.util.Locale; +import java.util.Map; import java.util.logging.Level; import java.util.logging.Logger; import org.bukkit.Bukkit; @@ -67,13 +68,14 @@ public class EssentialsSpawnPlayerListener implements Listener public void onPlayerJoin(final PlayerJoinEvent event) { - final User user = ess.getUser(event.getPlayer()); - - if (user.hasPlayedBefore()) + if (event.getPlayer().hasPlayedBefore()) { LOGGER.log(Level.FINE, "Old player join"); return; } + + final User user = ess.getUser(event.getPlayer()); + if (!"none".equalsIgnoreCase(ess.getSettings().getNewbieSpawn())) { ess.scheduleSyncDelayedTask(new NewPlayerTeleport(user), 1L); @@ -86,6 +88,21 @@ public class EssentialsSpawnPlayerListener implements Listener ess.broadcastMessage(user, pager.getString(0)); } + final String kitName = ess.getSettings().getNewPlayerKit(); + if (!kitName.isEmpty()) + { + try + { + final Map<String, Object> kit = ess.getSettings().getKit(kitName.toLowerCase(Locale.ENGLISH)); + final List<String> items = Kit.getItems(user, kit); + Kit.expandItems(ess, user, items); + } + catch (Exception ex) + { + LOGGER.log(Level.WARNING, ex.getMessage()); + } + } + LOGGER.log(Level.FINE, "New player join"); } @@ -109,7 +126,7 @@ public class EssentialsSpawnPlayerListener implements Listener try { - Location spawn = spawns.getSpawn(ess.getSettings().getNewbieSpawn()); + final Location spawn = spawns.getSpawn(ess.getSettings().getNewbieSpawn()); if (spawn != null) { user.getTeleport().now(spawn, false, TeleportCause.PLUGIN); |