diff options
Diffstat (limited to '')
-rw-r--r-- | src/main/java/net/tylermurphy/hideAndSeek/game/Game.java | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/src/main/java/net/tylermurphy/hideAndSeek/game/Game.java b/src/main/java/net/tylermurphy/hideAndSeek/game/Game.java index b3fd457..71c3e84 100644 --- a/src/main/java/net/tylermurphy/hideAndSeek/game/Game.java +++ b/src/main/java/net/tylermurphy/hideAndSeek/game/Game.java @@ -107,10 +107,7 @@ public class Game { public void start() { try { Optional<Player> rand = board.getPlayers().stream().skip(new Random().nextInt(board.size())).findFirst(); - Player picked = rand.orElse(board.getPlayers().get(0)); - String seekerName = picked.getName(); - Player temp = Bukkit.getPlayer(seekerName); - Player seeker = board.getPlayer(temp.getUniqueId()); + Player seeker = rand.orElse(board.getPlayers().get(0)); start(seeker); } catch (Exception e){ Main.getInstance().getLogger().warning("Failed to select random seeker."); @@ -257,7 +254,12 @@ public class Game { if (startingTimer == 0) { message = message("START").toString(); status = Status.PLAYING; - board.getPlayers().forEach(player -> PlayerLoader.resetPlayer(player, board)); + board.getPlayers().forEach(player -> { + PlayerLoader.resetPlayer(player, board); + if(board.isSeeker(player)){ + player.teleport(new Location(Bukkit.getWorld(getGameWorld()), spawnPosition.getX(), spawnPosition.getY(), spawnPosition.getZ())); + } + }); } else if (startingTimer == 1){ message = message("START_COUNTDOWN_LAST").addAmount(startingTimer).toString(); } else { @@ -333,6 +335,7 @@ public class Game { if (spawnPosition.getBlockX() == 0 && spawnPosition.getBlockY() == 0 && spawnPosition.getBlockZ() == 0) return true; if (lobbyPosition.getBlockX() == 0 && lobbyPosition.getBlockY() == 0 && lobbyPosition.getBlockZ() == 0) return true; if (exitPosition.getBlockX() == 0 && exitPosition.getBlockY() == 0 && exitPosition.getBlockZ() == 0) return true; + if (seekerLobbyPosition.getBlockX() == 0 && seekerLobbyPosition.getBlockY() == 0 && seekerLobbyPosition.getBlockZ() == 0) return true; if (mapSaveEnabled) { File destination = new File(Main.getInstance().getWorldContainer() + File.separator + getGameWorld()); if (!destination.exists()) return true; |