summaryrefslogtreewikicommitdiff
path: root/src/main/java/net/tylermurphy/hideAndSeek/command/Start.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/net/tylermurphy/hideAndSeek/command/Start.java')
-rw-r--r--src/main/java/net/tylermurphy/hideAndSeek/command/Start.java40
1 files changed, 22 insertions, 18 deletions
diff --git a/src/main/java/net/tylermurphy/hideAndSeek/command/Start.java b/src/main/java/net/tylermurphy/hideAndSeek/command/Start.java
index fb715d6..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,40 +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");
- return;
- }
- if(spawnPosition.getBlockX() == 0 && spawnPosition.getBlockY() == 0 && spawnPosition.getBlockZ() == 0) {
- sender.sendMessage(errorPrefix + "Please set spawn location first");
+ if(!Functions.setup()) {
+ sender.sendMessage(errorPrefix + "Game is not setup. Run /hs setup to see what you needed to do");
return;
}
- if(lobbyPosition.getBlockX() == 0 && lobbyPosition.getBlockY() == 0 && lobbyPosition.getBlockZ() == 0) {
- sender.sendMessage(errorPrefix + "Please set lobby 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();
@@ -65,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;
@@ -87,12 +82,14 @@ 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);
@@ -163,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);