summaryrefslogtreewikicommitdiff
path: root/src/main/java/net/tylermurphy/hideAndSeek/command
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/net/tylermurphy/hideAndSeek/command')
-rw-r--r--src/main/java/net/tylermurphy/hideAndSeek/command/Join.java63
-rw-r--r--src/main/java/net/tylermurphy/hideAndSeek/command/Leave.java53
-rw-r--r--src/main/java/net/tylermurphy/hideAndSeek/command/Reload.java8
-rw-r--r--src/main/java/net/tylermurphy/hideAndSeek/command/SaveMap.java4
-rw-r--r--src/main/java/net/tylermurphy/hideAndSeek/command/SetExitLocation.java49
-rw-r--r--src/main/java/net/tylermurphy/hideAndSeek/command/SetLobbyLocation.java49
-rw-r--r--src/main/java/net/tylermurphy/hideAndSeek/command/SetSpawnLocation.java2
-rw-r--r--src/main/java/net/tylermurphy/hideAndSeek/command/Setup.java57
-rw-r--r--src/main/java/net/tylermurphy/hideAndSeek/command/Start.java54
-rw-r--r--src/main/java/net/tylermurphy/hideAndSeek/command/Stop.java11
10 files changed, 324 insertions, 26 deletions
diff --git a/src/main/java/net/tylermurphy/hideAndSeek/command/Join.java b/src/main/java/net/tylermurphy/hideAndSeek/command/Join.java
new file mode 100644
index 0000000..5168e25
--- /dev/null
+++ b/src/main/java/net/tylermurphy/hideAndSeek/command/Join.java
@@ -0,0 +1,63 @@
+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.*;
+
+public class Join implements ICommand {
+
+ public void execute(CommandSender sender, String[] args) {
+ 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());
+ if(player == null) {
+ sender.sendMessage(errorPrefix + "An internal error has occured");
+ return;
+ }
+ if(playerList.containsKey(player.getName())){
+ sender.sendMessage(errorPrefix + "You are already in the lobby/game");
+ return;
+ }
+ playerList.put(player.getName(), player);
+ 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() {
+ return "join";
+ }
+
+ public String getUsage() {
+ return "";
+ }
+
+ public String getDescription() {
+ return "Joins the lobby if game is set to manual join/leave";
+ }
+
+}
diff --git a/src/main/java/net/tylermurphy/hideAndSeek/command/Leave.java b/src/main/java/net/tylermurphy/hideAndSeek/command/Leave.java
new file mode 100644
index 0000000..4dec452
--- /dev/null
+++ b/src/main/java/net/tylermurphy/hideAndSeek/command/Leave.java
@@ -0,0 +1,53 @@
+package net.tylermurphy.hideAndSeek.command;
+
+import org.bukkit.Bukkit;
+import org.bukkit.Location;
+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.*;
+
+public class Leave implements ICommand {
+
+ public void execute(CommandSender sender, String[] args) {
+ 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());
+ if(player == null) {
+ sender.sendMessage(errorPrefix + "An internal error has occured");
+ return;
+ }
+ if(!playerList.containsKey(player.getName())) {
+ sender.sendMessage(errorPrefix + "You are currently not in the lobby");
+ return;
+ }
+ if(!Seeker.contains(player.getName())) {
+ if(announceMessagesToNonPlayers) Bukkit.broadcastMessage(messagePrefix + sender.getName() + " has left the HideAndSeek lobby");
+ else Functions.broadcastMessage(messagePrefix + sender.getName() + " has left the HideAndSeek lobby");
+ }
+ playerList.remove(player.getName());
+ Hider.remove(player.getName());
+ Seeker.remove(player.getName());
+ HiderTeam.removeEntry(player.getName());
+ SeekerTeam.removeEntry(player.getName());
+ player.teleport(new Location(Bukkit.getWorld(exitWorld), exitPosition.getX(), exitPosition.getY(), exitPosition.getZ()));
+ }
+
+ public String getLabel() {
+ return "leave";
+ }
+
+ public String getUsage() {
+ return "";
+ }
+
+ public String getDescription() {
+ return "Leaves the lobby if game is set to manual join/leave";
+ }
+
+} \ No newline at end of file
diff --git a/src/main/java/net/tylermurphy/hideAndSeek/command/Reload.java b/src/main/java/net/tylermurphy/hideAndSeek/command/Reload.java
index 1b1f1d5..438ab26 100644
--- a/src/main/java/net/tylermurphy/hideAndSeek/command/Reload.java
+++ b/src/main/java/net/tylermurphy/hideAndSeek/command/Reload.java
@@ -1,6 +1,7 @@
package net.tylermurphy.hideAndSeek.command;
import org.bukkit.command.CommandSender;
+import org.bukkit.entity.Player;
import net.tylermurphy.hideAndSeek.Store;
import net.tylermurphy.hideAndSeek.util.Functions;
@@ -8,14 +9,21 @@ import net.tylermurphy.hideAndSeek.util.ICommand;
import static net.tylermurphy.hideAndSeek.Store.*;
+import java.util.HashMap;
+
public class Reload implements ICommand {
public void execute(CommandSender sender, String[] args) {
+ if(!status.equals("Standby")) {
+ sender.sendMessage(errorPrefix + "Game is currently in session");
+ return;
+ }
Store.loadConfig();
try {
Functions.loadScoreboard();
} catch(Exception e) {}
sender.sendMessage(messagePrefix + "Reloaded the config");
+ playerList = new HashMap<String,Player>();
}
public String getLabel() {
diff --git a/src/main/java/net/tylermurphy/hideAndSeek/command/SaveMap.java b/src/main/java/net/tylermurphy/hideAndSeek/command/SaveMap.java
index 2956c80..2c7e75a 100644
--- a/src/main/java/net/tylermurphy/hideAndSeek/command/SaveMap.java
+++ b/src/main/java/net/tylermurphy/hideAndSeek/command/SaveMap.java
@@ -21,6 +21,10 @@ import net.tylermurphy.hideAndSeek.util.ICommand;
public class SaveMap implements ICommand {
public void execute(CommandSender sender, String[] args) {
+ if(!status.equals("Standby")) {
+ sender.sendMessage(errorPrefix + "Game is currently in session");
+ return;
+ }
if(spawnPosition.getBlockX() == 0 && spawnPosition.getBlockY() == 0 && spawnPosition.getBlockZ() == 0) {
sender.sendMessage(errorPrefix + "Please set spawn location first");
return;
diff --git a/src/main/java/net/tylermurphy/hideAndSeek/command/SetExitLocation.java b/src/main/java/net/tylermurphy/hideAndSeek/command/SetExitLocation.java
new file mode 100644
index 0000000..3f872a1
--- /dev/null
+++ b/src/main/java/net/tylermurphy/hideAndSeek/command/SetExitLocation.java
@@ -0,0 +1,49 @@
+package net.tylermurphy.hideAndSeek.command;
+
+import static net.tylermurphy.hideAndSeek.Store.*;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.bukkit.command.CommandSender;
+import org.bukkit.entity.Player;
+import org.bukkit.util.Vector;
+
+import net.tylermurphy.hideAndSeek.util.ICommand;
+
+public class SetExitLocation implements ICommand {
+
+ public void execute(CommandSender sender, String[] args) {
+ Vector newExitPosition = new Vector();
+ Player player = (Player) sender;
+ newExitPosition.setX(player.getLocation().getBlockX());
+ newExitPosition.setY(player.getLocation().getBlockY());
+ newExitPosition.setZ(player.getLocation().getBlockZ());
+ if(!status.equals("Standby")) {
+ sender.sendMessage(errorPrefix + "Game is currently in session");
+ return;
+ }
+ exitPosition = newExitPosition;
+ sender.sendMessage(messagePrefix + "Set exit position to current location");
+ Map<String, Object> temp = new HashMap<String,Object>();
+ temp.put("x", exitPosition.getX());
+ temp.put("y", exitPosition.getY());
+ temp.put("z", exitPosition.getZ());
+ temp.put("world", player.getLocation().getWorld().getName());
+ addToSection("spawns.exit",temp);
+ saveConfig();
+ }
+
+ public String getLabel() {
+ return "setexit";
+ }
+
+ public String getUsage() {
+ return "";
+ }
+
+ public String getDescription() {
+ return "Sets hide and seeks exit location to current position and world";
+ }
+
+}
diff --git a/src/main/java/net/tylermurphy/hideAndSeek/command/SetLobbyLocation.java b/src/main/java/net/tylermurphy/hideAndSeek/command/SetLobbyLocation.java
new file mode 100644
index 0000000..7cb13fc
--- /dev/null
+++ b/src/main/java/net/tylermurphy/hideAndSeek/command/SetLobbyLocation.java
@@ -0,0 +1,49 @@
+package net.tylermurphy.hideAndSeek.command;
+
+import static net.tylermurphy.hideAndSeek.Store.*;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.bukkit.command.CommandSender;
+import org.bukkit.entity.Player;
+import org.bukkit.util.Vector;
+
+import net.tylermurphy.hideAndSeek.util.ICommand;
+
+public class SetLobbyLocation implements ICommand {
+
+ public void execute(CommandSender sender, String[] args) {
+ Vector newLobbyPosition = new Vector();
+ Player player = (Player) sender;
+ newLobbyPosition.setX(player.getLocation().getBlockX());
+ newLobbyPosition.setY(player.getLocation().getBlockY());
+ newLobbyPosition.setZ(player.getLocation().getBlockZ());
+ if(!status.equals("Standby")) {
+ sender.sendMessage(errorPrefix + "Game is currently in session");
+ return;
+ }
+ lobbyPosition = newLobbyPosition;
+ sender.sendMessage(messagePrefix + "Set lobby position to current location");
+ Map<String, Object> temp = new HashMap<String,Object>();
+ temp.put("x", lobbyPosition.getX());
+ temp.put("y", lobbyPosition.getY());
+ temp.put("z", lobbyPosition.getZ());
+ temp.put("world", player.getLocation().getWorld().getName());
+ addToSection("spawns.lobby",temp);
+ saveConfig();
+ }
+
+ public String getLabel() {
+ return "setlobby";
+ }
+
+ public String getUsage() {
+ return "";
+ }
+
+ public String getDescription() {
+ return "Sets hide and seeks lobby location to current position";
+ }
+
+}
diff --git a/src/main/java/net/tylermurphy/hideAndSeek/command/SetSpawnLocation.java b/src/main/java/net/tylermurphy/hideAndSeek/command/SetSpawnLocation.java
index 62d6bc9..0114e21 100644
--- a/src/main/java/net/tylermurphy/hideAndSeek/command/SetSpawnLocation.java
+++ b/src/main/java/net/tylermurphy/hideAndSeek/command/SetSpawnLocation.java
@@ -34,7 +34,7 @@ public class SetSpawnLocation implements ICommand {
temp.put("y", spawnPosition.getY());
temp.put("z", spawnPosition.getZ());
temp.put("world", player.getLocation().getWorld().getName());
- addToSection("spawn",temp);
+ addToSection("spawns.game",temp);
saveConfig();
}
diff --git a/src/main/java/net/tylermurphy/hideAndSeek/command/Setup.java b/src/main/java/net/tylermurphy/hideAndSeek/command/Setup.java
new file mode 100644
index 0000000..f071bee
--- /dev/null
+++ b/src/main/java/net/tylermurphy/hideAndSeek/command/Setup.java
@@ -0,0 +1,57 @@
+package net.tylermurphy.hideAndSeek.command;
+
+import org.bukkit.command.CommandSender;
+
+import net.md_5.bungee.api.ChatColor;
+import net.tylermurphy.hideAndSeek.Main;
+import net.tylermurphy.hideAndSeek.util.ICommand;
+
+import static net.tylermurphy.hideAndSeek.Store.*;
+
+import java.io.File;
+
+public class Setup implements ICommand {
+
+ public void execute(CommandSender sender, String[] args) {
+
+ String message = String.format("%s%sThe following is needed for setup...", ChatColor.WHITE, ChatColor.BOLD);
+ int count = 0;
+
+ if(spawnPosition.getBlockX() == 0 && spawnPosition.getBlockY() == 0 && spawnPosition.getBlockZ() == 0) {
+ message = String.format("%s\n%s%s-%s%s", message, ChatColor.RED, ChatColor.BOLD, ChatColor.WHITE, "Game spawn isnt set, /hs setspawn");
+ count++;
+ }
+ if(lobbyPosition.getBlockX() == 0 && lobbyPosition.getBlockY() == 0 && lobbyPosition.getBlockZ() == 0) {
+ message = String.format("%s\n%s%s-%s%s", message, ChatColor.RED, ChatColor.BOLD, ChatColor.WHITE, "Lobby spawn isnt set, /hs setlobby");
+ sender.sendMessage(errorPrefix + "Please set lobby location first");
+ count++;
+ }
+ if(exitPosition.getBlockX() == 0 && exitPosition.getBlockY() == 0 && exitPosition.getBlockZ() == 0) {
+ message = String.format("%s\n%s%s-%s%s", message, ChatColor.RED, ChatColor.BOLD, ChatColor.WHITE, "Quit/exit teleport location isnt set, /hs setexit");
+ count++;
+ }
+ File destenation = new File(Main.root+File.separator+"hideandseek_"+spawnWorld);
+ if(!destenation.exists()) {
+ message = String.format("%s\n%s%s-%s%s", message, ChatColor.RED, ChatColor.BOLD, ChatColor.WHITE, "Hide and seek map isnt saved, /hs savemap (after /hs setspawn)");
+ count++;
+ }
+ if(count < 1) {
+ sender.sendMessage(messagePrefix + "Everything is setup and ready to go!");
+ } else {
+ sender.sendMessage(message);
+ }
+ }
+
+ public String getLabel() {
+ return "setup";
+ }
+
+ public String getUsage() {
+ return "";
+ }
+
+ public String getDescription() {
+ return "Shows what needs to be setup";
+ }
+
+} \ No newline at end of file
diff --git a/src/main/java/net/tylermurphy/hideAndSeek/command/Start.java b/src/main/java/net/tylermurphy/hideAndSeek/command/Start.java
index a49ce41..cd0c956 100644
--- a/src/main/java/net/tylermurphy/hideAndSeek/command/Start.java
+++ b/src/main/java/net/tylermurphy/hideAndSeek/command/Start.java
@@ -8,6 +8,7 @@ import org.bukkit.entity.Player;
import org.bukkit.potion.PotionEffect;
import org.bukkit.potion.PotionEffectType;
+import net.md_5.bungee.api.ChatColor;
import net.tylermurphy.hideAndSeek.Main;
import net.tylermurphy.hideAndSeek.events.Glow;
import net.tylermurphy.hideAndSeek.events.Taunt;
@@ -17,36 +18,33 @@ import net.tylermurphy.hideAndSeek.util.ICommand;
import static net.tylermurphy.hideAndSeek.Store.*;
-import java.io.File;
import java.util.ArrayList;
import java.util.Random;
public class Start implements ICommand {
public void execute(CommandSender sender, String[] args) {
- if(!status.equals("Standby")) {
- sender.sendMessage(errorPrefix + "Game is already in session");
+ if(!Functions.setup()) {
+ sender.sendMessage(errorPrefix + "Game is not setup. Run /hs setup to see what you needed to do");
return;
}
- if(spawnPosition.getBlockX() == 0 && spawnPosition.getBlockY() == 0 && spawnPosition.getBlockZ() == 0) {
- sender.sendMessage(errorPrefix + "Please set spawn location first");
+ if(!status.equals("Standby")) {
+ sender.sendMessage(errorPrefix + "Game is already in session");
return;
}
- File destenation = new File(Main.root+File.separator+"hideandseek_"+spawnWorld);
- if(!destenation.exists()) {
- sender.sendMessage(errorPrefix + "Please set map save first");
+ if(!playerList.containsKey(sender.getName())) {
+ sender.sendMessage(errorPrefix + "You are not in the lobby");
return;
- } else {
- if(Bukkit.getServer().getWorld("hideandseek_"+spawnWorld) != null) {
- Functions.rollback("hideandseek_"+spawnWorld);
- } else {
- Functions.loadMap("hideandseek_"+spawnWorld);
- }
}
if(playerList.size() < minPlayers) {
sender.sendMessage(errorPrefix + "You must have at least "+minPlayers+" players to start");
return;
}
+ if(Bukkit.getServer().getWorld("hideandseek_"+spawnWorld) != null) {
+ Functions.rollback("hideandseek_"+spawnWorld);
+ } else {
+ Functions.loadMap("hideandseek_"+spawnWorld);
+ }
String seekerName;
if(args.length < 1) {
seekerName = playerList.values().stream().skip(new Random().nextInt(playerList.values().size())).findFirst().get().getName();
@@ -61,6 +59,7 @@ public class Start implements ICommand {
Hider = new ArrayList<String>();
Seeker = new ArrayList<String>();
Spectator = new ArrayList<String>();
+ Deaths = new ArrayList<String>();
for(Player temp : playerList.values()) {
if(temp.getName().equals(seeker.getName()))
continue;
@@ -69,7 +68,7 @@ public class Start implements ICommand {
}
Seeker.add(seeker.getName());
SeekerTeam.addEntry(seeker.getName());
-
+ currentWorldborderSize = worldborderSize;
for(Player player : playerList.values()) {
player.getInventory().clear();
player.setGameMode(GameMode.ADVENTURE);
@@ -83,65 +82,67 @@ public class Start implements ICommand {
if(player != null) {
player.addPotionEffect(new PotionEffect(PotionEffectType.BLINDNESS,1000000,127,false,false));
player.addPotionEffect(new PotionEffect(PotionEffectType.SLOW,1000000,127,false,false));
+ player.sendTitle(ChatColor.RED + "" + ChatColor.BOLD + "SEEKER", ChatColor.WHITE + "Eliminate all hiders", 10, 70, 20);
}
}
for(String playerName : Hider) {
Player player = playerList.get(playerName);
if(player != null) {
player.addPotionEffect(new PotionEffect(PotionEffectType.SPEED,1000000,5,false,false));
+ player.sendTitle(ChatColor.GOLD + "" + ChatColor.BOLD + "HIDER", ChatColor.WHITE + "Hide away from the seekers", 10, 70, 20);
}
}
Functions.resetWorldborder("hideandseek_"+spawnWorld);
status = "Starting";
int temp = gameId;
- Bukkit.getServer().broadcastMessage(messagePrefix + "Hiders have 30 seconds to hide!");
+ Functions.broadcastMessage(messagePrefix + "Hiders have 30 seconds to hide!");
Bukkit.getServer().getScheduler().runTaskLater(Main.plugin, new Runnable() {
public void run() {
if(temp != gameId) return;
- Bukkit.getServer().broadcastMessage(messagePrefix + "Hiders have 20 seconds to hide!");
+ Functions.broadcastMessage(messagePrefix + "Hiders have 20 seconds to hide!");
}
}, 20 * 10);
Bukkit.getServer().getScheduler().runTaskLater(Main.plugin, new Runnable() {
public void run() {
if(temp != gameId) return;
- Bukkit.getServer().broadcastMessage(messagePrefix + "Hiders have 10 seconds to hide!");
+ Functions.broadcastMessage(messagePrefix + "Hiders have 10 seconds to hide!");
}
}, 20 * 20);
Bukkit.getServer().getScheduler().runTaskLater(Main.plugin, new Runnable() {
public void run() {
if(temp != gameId) return;
- Bukkit.getServer().broadcastMessage(messagePrefix + "Hiders have 5 seconds to hide!");
+ Functions.broadcastMessage(messagePrefix + "Hiders have 5 seconds to hide!");
}
}, 20 * 25);
Bukkit.getServer().getScheduler().runTaskLater(Main.plugin, new Runnable() {
public void run() {
if(temp != gameId) return;
- Bukkit.getServer().broadcastMessage(messagePrefix + "Hiders have 3 seconds to hide!");
+ Functions.broadcastMessage(messagePrefix + "Hiders have 3 seconds to hide!");
}
}, 20 * 27);
Bukkit.getServer().getScheduler().runTaskLater(Main.plugin, new Runnable() {
public void run() {
if(temp != gameId) return;
- Bukkit.getServer().broadcastMessage(messagePrefix + "Hiders have 2 seconds to hide!");
+ Functions.broadcastMessage(messagePrefix + "Hiders have 2 seconds to hide!");
}
}, 20 * 28);
Bukkit.getServer().getScheduler().runTaskLater(Main.plugin, new Runnable() {
public void run() {
if(temp != gameId) return;
- Bukkit.getServer().broadcastMessage(messagePrefix + "Hiders have 1 seconds to hide!");
+ Functions.broadcastMessage(messagePrefix + "Hiders have 1 seconds to hide!");
}
}, 20 * 29);
Bukkit.getServer().getScheduler().runTaskLater(Main.plugin, new Runnable() {
public void run() {
if(temp != gameId) return;
- Bukkit.getServer().broadcastMessage(messagePrefix + "Attetion SEEKERS, its time to find the hiders!");
+ Functions.broadcastMessage(messagePrefix + "Attetion SEEKERS, its time to find the hiders!");
status = "Playing";
for(Player player : playerList.values()) {
Functions.resetPlayer(player);
@@ -159,6 +160,13 @@ public class Start implements ICommand {
Main.taunt.schedule();
Main.glow = new Glow(gameId);
+
+ if(gameLength > 0) {
+ timeLeft = gameLength;
+ for(Player player : playerList.values()) {
+ player.setLevel(timeLeft);
+ }
+ }
}
}, 20 * 30);
diff --git a/src/main/java/net/tylermurphy/hideAndSeek/command/Stop.java b/src/main/java/net/tylermurphy/hideAndSeek/command/Stop.java
index c956d3d..9c1e3d7 100644
--- a/src/main/java/net/tylermurphy/hideAndSeek/command/Stop.java
+++ b/src/main/java/net/tylermurphy/hideAndSeek/command/Stop.java
@@ -17,8 +17,13 @@ import net.tylermurphy.hideAndSeek.util.Packet;
public class Stop implements ICommand {
public void execute(CommandSender sender, String[] args) {
+ if(!Functions.setup()) {
+ sender.sendMessage(errorPrefix + "Game is not setup. Run /hs setup to see what you needed to do");
+ return;
+ }
if(status.equals("Starting") || status.equals("Playing")) {
- Bukkit.broadcastMessage(abortPrefix + "Game has been force stopped.");
+ if(announceMessagesToNonPlayers) Bukkit.broadcastMessage(abortPrefix + "Game has been force stopped.");
+ else Functions.broadcastMessage(abortPrefix + "Game has been force stopped.");
onStop();
} else {
@@ -38,10 +43,11 @@ public class Stop implements ICommand {
Functions.resetWorldborder("hideandseek_"+spawnWorld);
for(Player player : playerList.values()) {
player.setGameMode(GameMode.ADVENTURE);
+ player.setLevel(0);
Hider.add(player.getName());
HiderTeam.addEntry(player.getName());
player.getInventory().clear();
- player.teleport(new Location(Bukkit.getWorld(spawnWorld), spawnPosition.getX(),spawnPosition.getY(),spawnPosition.getZ()));
+ player.teleport(new Location(Bukkit.getWorld(lobbyWorld), lobbyPosition.getX(),lobbyPosition.getY(),lobbyPosition.getZ()));
for(PotionEffect effect : player.getActivePotionEffects()){
player.removePotionEffect(effect.getType());
}
@@ -50,6 +56,7 @@ public class Stop implements ICommand {
Packet.setGlow(player, temp, false);
}
}
+ Functions.unloadMap("hideandseek_"+spawnWorld);
}
public String getUsage() {