summaryrefslogtreewikicommitdiff
path: root/src/main/java/net/tylermurphy/hideAndSeek/command/Join.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/net/tylermurphy/hideAndSeek/command/Join.java')
-rw-r--r--src/main/java/net/tylermurphy/hideAndSeek/command/Join.java39
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() {