diff --git a/src/main/java/com/planetgallium/kitpvp/listener/JoinListener.java b/src/main/java/com/planetgallium/kitpvp/listener/JoinListener.java index d60af90..a3eb2f7 100644 --- a/src/main/java/com/planetgallium/kitpvp/listener/JoinListener.java +++ b/src/main/java/com/planetgallium/kitpvp/listener/JoinListener.java @@ -1,9 +1,6 @@ package com.planetgallium.kitpvp.listener; -import com.planetgallium.database.*; -import com.planetgallium.database.Record; import com.planetgallium.kitpvp.util.Resource; -import com.planetgallium.kitpvp.util.Resources; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; @@ -28,20 +25,21 @@ public class JoinListener implements Listener { @EventHandler public void onJoin(PlayerJoinEvent e) { - Player p = e.getPlayer(); // Update checker if (plugin.needsUpdate()) { if (p.isOp()) { - p.sendMessage(Toolkit.translate("&7[&b&lKIT-PVP&7] &aAn update was found: v" + plugin.getUpdateVersion() + " https://www.spigotmc.org/resources/27107/")); + p.sendMessage(Toolkit.translate("&7[&b&lKIT-PVP&7] &aAn update was found: v" + + plugin.getUpdateVersion() + " https://www.spigotmc.org/resources/27107/")); } } arena.getStats().createPlayer(p); if (p.getName().equals("cervinakuy")) { - e.setJoinMessage(Toolkit.translate("&7[&b&lKIT-PVP&7] &7The Developer of &bKitPvP &7has joined the server.")); + e.setJoinMessage(Toolkit.translate("&7[&b&lKIT-PVP&7] &7The Developer of &bKitPvP" + + " &7has joined the server.")); } if (Toolkit.inArena(p)) { @@ -50,38 +48,24 @@ public class JoinListener implements Listener { p.getInventory().setArmorContents(null); } - arena.addPlayer(p, config.getBoolean("Arena.ToSpawnOnJoin"), config.getBoolean("Arena.GiveItemsOnJoin")); + arena.addPlayer(p, config.getBoolean("Arena.ToSpawnOnJoin"), + config.getBoolean("Arena.GiveItemsOnJoin")); } - } @EventHandler public void onWorldChange(PlayerChangedWorldEvent e) { - Player p = e.getPlayer(); if (Toolkit.inArena(p)) { - if (config.getBoolean("Arena.ClearInventoryOnJoin")) { p.getInventory().clear(); p.getInventory().setArmorContents(null); } - arena.addPlayer(p, config.getBoolean("Arena.ToSpawnOnJoin"), config.getBoolean("Arena.GiveItemsOnJoin")); - - } else if (Toolkit.inArena(e.getFrom())) { - - // if they left from the kitpvp arena - - if (config.getBoolean("Arena.ClearInventoryOnLeave")) { - p.getInventory().clear(); - p.getInventory().setArmorContents(null); - } - - arena.removePlayer(p); - + arena.addPlayer(p, config.getBoolean("Arena.ToSpawnOnJoin"), + config.getBoolean("Arena.GiveItemsOnJoin")); } - } } diff --git a/src/main/java/com/planetgallium/kitpvp/listener/LeaveListener.java b/src/main/java/com/planetgallium/kitpvp/listener/LeaveListener.java index 31af464..03265e1 100644 --- a/src/main/java/com/planetgallium/kitpvp/listener/LeaveListener.java +++ b/src/main/java/com/planetgallium/kitpvp/listener/LeaveListener.java @@ -4,6 +4,7 @@ import com.planetgallium.kitpvp.util.Toolkit; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; +import org.bukkit.event.player.PlayerChangedWorldEvent; import org.bukkit.event.player.PlayerQuitEvent; import com.planetgallium.kitpvp.Game; @@ -11,9 +12,11 @@ import com.planetgallium.kitpvp.game.Arena; public class LeaveListener implements Listener { + private final Game plugin; private final Arena arena; public LeaveListener(Game plugin) { + this.plugin = plugin; this.arena = plugin.getArena(); } @@ -24,5 +27,20 @@ public class LeaveListener implements Listener { arena.deletePlayer(p); } } + + @EventHandler + public void onWorldChange(PlayerChangedWorldEvent e) { + if (Toolkit.inArena(e.getFrom())) { // if they left from a kitpvp arena + Player p = e.getPlayer(); + + if (plugin.getConfig().getBoolean("Arena.ClearInventoryOnLeave")) { + p.getInventory().clear(); + p.getInventory().setArmorContents(null); + } + + arena.removePlayer(p); + // no need to clear stats from cache; that will be done on player quit above + } + } }