diff options
Diffstat (limited to 'src/main/java/net/tylermurphy/hideAndSeek/command/Join.java')
-rw-r--r-- | src/main/java/net/tylermurphy/hideAndSeek/command/Join.java | 39 |
1 files changed, 23 insertions, 16 deletions
diff --git a/src/main/java/net/tylermurphy/hideAndSeek/command/Join.java b/src/main/java/net/tylermurphy/hideAndSeek/command/Join.java index 6dffe60..5168e25 100644 --- a/src/main/java/net/tylermurphy/hideAndSeek/command/Join.java +++ b/src/main/java/net/tylermurphy/hideAndSeek/command/Join.java @@ -1,10 +1,13 @@ package net.tylermurphy.hideAndSeek.command; import org.bukkit.Bukkit; +import org.bukkit.GameMode; import org.bukkit.Location; +import org.bukkit.attribute.Attribute; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; +import net.tylermurphy.hideAndSeek.util.Functions; import net.tylermurphy.hideAndSeek.util.ICommand; import static net.tylermurphy.hideAndSeek.Store.*; @@ -12,16 +15,8 @@ import static net.tylermurphy.hideAndSeek.Store.*; public class Join implements ICommand { public void execute(CommandSender sender, String[] args) { - if(!lobbyManualJoin) { - sender.sendMessage(errorPrefix + "Manual join/leave isnt enabled in this server"); - return; - } - if(!status.equals("Standby")) { - sender.sendMessage(errorPrefix + "Game is currently in session"); - return; - } - if(!lobbyStarted) { - sender.sendMessage(errorPrefix + "There is currently no lobby in session"); + if(!Functions.setup()) { + sender.sendMessage(errorPrefix + "Game is not setup. Run /hs setup to see what you needed to do"); return; } Player player = Bukkit.getServer().getPlayer(sender.getName()); @@ -30,15 +25,27 @@ public class Join implements ICommand { return; } if(playerList.containsKey(player.getName())){ - sender.sendMessage(errorPrefix + "You are already in the lobby"); + sender.sendMessage(errorPrefix + "You are already in the lobby/game"); return; } playerList.put(player.getName(), player); - Hider.add(player.getName()); - HiderTeam.addEntry(player.getName()); - playerLastLocationList.put(player.getName(), player.getLocation()); - player.teleport(new Location(Bukkit.getWorld(spawnWorld), spawnPosition.getX(),spawnPosition.getY(),spawnPosition.getZ())); - if(lobbyAnnounced) Bukkit.broadcastMessage(messagePrefix + sender.getName() + " has joined the HideAndSeek lobby"); + if(status.equals("Standby")) { + Hider.add(player.getName()); + HiderTeam.addEntry(player.getName()); + if(announceMessagesToNonPlayers) Bukkit.broadcastMessage(messagePrefix + sender.getName() + " has joined the HideAndSeek lobby"); + else Functions.broadcastMessage(messagePrefix + sender.getName() + " has joined the HideAndSeek lobby"); + player.teleport(new Location(Bukkit.getWorld(lobbyWorld), lobbyPosition.getX(),lobbyPosition.getY(),lobbyPosition.getZ())); + player.setGameMode(GameMode.ADVENTURE); + } else { + Spectator.add(player.getName()); + SpectatorTeam.addEntry(player.getName()); + player.sendMessage(messagePrefix + "You have joined mid game and became a spectator"); + player.setGameMode(GameMode.SPECTATOR); + player.teleport(new Location(Bukkit.getWorld("hideandseek_"+spawnWorld), spawnPosition.getX(),spawnPosition.getY(),spawnPosition.getZ())); + } + + player.setFoodLevel(20); + player.setHealth(player.getAttribute(Attribute.GENERIC_MAX_HEALTH).getBaseValue()); } public String getLabel() { |