diff options
author | Tyler Murphy <tylermurphy534@gmail.com> | 2021-10-20 20:14:01 -0400 |
---|---|---|
committer | Tyler Murphy <tylermurphy534@gmail.com> | 2021-10-20 20:14:01 -0400 |
commit | fc87556d8c0cc92b856ad682e4b3cbc964514eee (patch) | |
tree | 5596f89ec062d560a161722c8b87bec44aa288fd /src/main/java/net/tylermurphy/hideAndSeek/command | |
parent | glow fix, on join code change (diff) | |
download | kenshinshideandseek-fc87556d8c0cc92b856ad682e4b3cbc964514eee.tar.gz kenshinshideandseek-fc87556d8c0cc92b856ad682e4b3cbc964514eee.tar.bz2 kenshinshideandseek-fc87556d8c0cc92b856ad682e4b3cbc964514eee.zip |
teams reference rewrite
Diffstat (limited to 'src/main/java/net/tylermurphy/hideAndSeek/command')
14 files changed, 194 insertions, 174 deletions
diff --git a/src/main/java/net/tylermurphy/hideAndSeek/command/About.java b/src/main/java/net/tylermurphy/hideAndSeek/command/About.java index 3c4a8f0..4b207fb 100644 --- a/src/main/java/net/tylermurphy/hideAndSeek/command/About.java +++ b/src/main/java/net/tylermurphy/hideAndSeek/command/About.java @@ -3,8 +3,6 @@ package net.tylermurphy.hideAndSeek.command; import org.bukkit.ChatColor; import org.bukkit.command.CommandSender; -import net.tylermurphy.hideAndSeek.util.ICommand; - public class About implements ICommand { public void execute(CommandSender sender, String[] args) { diff --git a/src/main/java/net/tylermurphy/hideAndSeek/command/Help.java b/src/main/java/net/tylermurphy/hideAndSeek/command/Help.java index f33717e..e38c19a 100644 --- a/src/main/java/net/tylermurphy/hideAndSeek/command/Help.java +++ b/src/main/java/net/tylermurphy/hideAndSeek/command/Help.java @@ -4,7 +4,6 @@ import org.bukkit.command.CommandSender; import net.md_5.bungee.api.ChatColor; import net.tylermurphy.hideAndSeek.bukkit.CommandHandler; -import net.tylermurphy.hideAndSeek.util.ICommand; public class Help implements ICommand { diff --git a/src/main/java/net/tylermurphy/hideAndSeek/command/ICommand.java b/src/main/java/net/tylermurphy/hideAndSeek/command/ICommand.java new file mode 100644 index 0000000..928787e --- /dev/null +++ b/src/main/java/net/tylermurphy/hideAndSeek/command/ICommand.java @@ -0,0 +1,15 @@ +package net.tylermurphy.hideAndSeek.command; + +import org.bukkit.command.CommandSender; + +public interface ICommand { + + public void execute(CommandSender sender, String[] args); + + public String getLabel(); + + public String getUsage(); + + public String getDescription(); + +} diff --git a/src/main/java/net/tylermurphy/hideAndSeek/command/Join.java b/src/main/java/net/tylermurphy/hideAndSeek/command/Join.java index 5168e25..e70411e 100644 --- a/src/main/java/net/tylermurphy/hideAndSeek/command/Join.java +++ b/src/main/java/net/tylermurphy/hideAndSeek/command/Join.java @@ -7,15 +7,15 @@ 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 net.tylermurphy.hideAndSeek.Main; +import net.tylermurphy.hideAndSeek.util.Util; -import static net.tylermurphy.hideAndSeek.Store.*; +import static net.tylermurphy.hideAndSeek.Config.*; public class Join implements ICommand { public void execute(CommandSender sender, String[] args) { - if(!Functions.setup()) { + if(!Util.isSetup()) { sender.sendMessage(errorPrefix + "Game is not setup. Run /hs setup to see what you needed to do"); return; } @@ -24,21 +24,19 @@ public class Join implements ICommand { sender.sendMessage(errorPrefix + "An internal error has occured"); return; } - if(playerList.containsKey(player.getName())){ + if(Main.plugin.board.isPlayer(player)){ 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(Main.plugin.status.equals("Standby")) { + Main.plugin.board.addHider(player); if(announceMessagesToNonPlayers) Bukkit.broadcastMessage(messagePrefix + sender.getName() + " has joined the HideAndSeek lobby"); - else Functions.broadcastMessage(messagePrefix + sender.getName() + " has joined the HideAndSeek lobby"); + else Util.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()); + Main.plugin.board.addSeeker(player); 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())); diff --git a/src/main/java/net/tylermurphy/hideAndSeek/command/Leave.java b/src/main/java/net/tylermurphy/hideAndSeek/command/Leave.java index 4dec452..d79d019 100644 --- a/src/main/java/net/tylermurphy/hideAndSeek/command/Leave.java +++ b/src/main/java/net/tylermurphy/hideAndSeek/command/Leave.java @@ -5,15 +5,15 @@ 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 net.tylermurphy.hideAndSeek.Main; +import net.tylermurphy.hideAndSeek.util.Util; -import static net.tylermurphy.hideAndSeek.Store.*; +import static net.tylermurphy.hideAndSeek.Config.*; public class Leave implements ICommand { public void execute(CommandSender sender, String[] args) { - if(!Functions.setup()) { + if(!Util.isSetup()) { sender.sendMessage(errorPrefix + "Game is not setup. Run /hs setup to see what you needed to do"); return; } @@ -22,19 +22,13 @@ public class Leave implements ICommand { sender.sendMessage(errorPrefix + "An internal error has occured"); return; } - if(!playerList.containsKey(player.getName())) { + if(!Main.plugin.board.isPlayer(player)) { 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()); + if(announceMessagesToNonPlayers) Bukkit.broadcastMessage(messagePrefix + sender.getName() + " has left the HideAndSeek lobby"); + else Util.broadcastMessage(messagePrefix + sender.getName() + " has left the HideAndSeek lobby"); + Main.plugin.board.remove(player); player.teleport(new Location(Bukkit.getWorld(exitWorld), exitPosition.getX(), exitPosition.getY(), exitPosition.getZ())); } diff --git a/src/main/java/net/tylermurphy/hideAndSeek/command/Reload.java b/src/main/java/net/tylermurphy/hideAndSeek/command/Reload.java index 438ab26..e7ab942 100644 --- a/src/main/java/net/tylermurphy/hideAndSeek/command/Reload.java +++ b/src/main/java/net/tylermurphy/hideAndSeek/command/Reload.java @@ -1,29 +1,23 @@ 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; -import net.tylermurphy.hideAndSeek.util.ICommand; +import net.tylermurphy.hideAndSeek.Main; +import net.tylermurphy.hideAndSeek.Config; -import static net.tylermurphy.hideAndSeek.Store.*; - -import java.util.HashMap; +import static net.tylermurphy.hideAndSeek.Config.*; public class Reload implements ICommand { public void execute(CommandSender sender, String[] args) { - if(!status.equals("Standby")) { + + if(!Main.plugin.status.equals("Standby")) { sender.sendMessage(errorPrefix + "Game is currently in session"); return; } - Store.loadConfig(); - try { - Functions.loadScoreboard(); - } catch(Exception e) {} + Config.loadConfig(); + Main.plugin.board.reload(); 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 2c7e75a..f6fe228 100644 --- a/src/main/java/net/tylermurphy/hideAndSeek/command/SaveMap.java +++ b/src/main/java/net/tylermurphy/hideAndSeek/command/SaveMap.java @@ -1,6 +1,6 @@ package net.tylermurphy.hideAndSeek.command; -import static net.tylermurphy.hideAndSeek.Store.*; +import static net.tylermurphy.hideAndSeek.Config.*; import java.io.File; import java.io.FileInputStream; @@ -16,12 +16,13 @@ import org.bukkit.command.CommandSender; import org.bukkit.scheduler.BukkitRunnable; import net.tylermurphy.hideAndSeek.Main; -import net.tylermurphy.hideAndSeek.util.ICommand; public class SaveMap implements ICommand { + public static boolean runningBackup = false; + public void execute(CommandSender sender, String[] args) { - if(!status.equals("Standby")) { + if(!Main.plugin.status.equals("Standby")) { sender.sendMessage(errorPrefix + "Game is currently in session"); return; } diff --git a/src/main/java/net/tylermurphy/hideAndSeek/command/SetBorder.java b/src/main/java/net/tylermurphy/hideAndSeek/command/SetBorder.java index e8ad2c9..d453871 100644 --- a/src/main/java/net/tylermurphy/hideAndSeek/command/SetBorder.java +++ b/src/main/java/net/tylermurphy/hideAndSeek/command/SetBorder.java @@ -1,6 +1,6 @@ package net.tylermurphy.hideAndSeek.command; -import static net.tylermurphy.hideAndSeek.Store.*; +import static net.tylermurphy.hideAndSeek.Config.*; import java.util.HashMap; import java.util.Map; @@ -9,13 +9,13 @@ import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; import org.bukkit.util.Vector; -import net.tylermurphy.hideAndSeek.util.Functions; -import net.tylermurphy.hideAndSeek.util.ICommand; +import net.tylermurphy.hideAndSeek.Main; +import net.tylermurphy.hideAndSeek.events.Worldborder; public class SetBorder implements ICommand { public void execute(CommandSender sender, String[] args) { - if(!status.equals("Standby")) { + if(!Main.plugin.status.equals("Standby")) { sender.sendMessage(errorPrefix + "Game is currently in session"); return; } @@ -30,7 +30,7 @@ public class SetBorder implements ICommand { addToSection("worldBorder",temp); saveConfig(); sender.sendMessage(messagePrefix + "Disabled worldborder."); - Functions.resetWorldborder(spawnWorld); + Worldborder.resetWorldborder(spawnWorld); return; } int num,delay; @@ -68,7 +68,7 @@ public class SetBorder implements ICommand { addToSection("worldBorder",temp); sender.sendMessage(messagePrefix + "Set border center to current location, size to "+num+", and delay to "+delay); saveConfig(); - Functions.resetWorldborder(spawnWorld); + Worldborder.resetWorldborder(spawnWorld); } public String getLabel() { diff --git a/src/main/java/net/tylermurphy/hideAndSeek/command/SetExitLocation.java b/src/main/java/net/tylermurphy/hideAndSeek/command/SetExitLocation.java index 3f872a1..2808948 100644 --- a/src/main/java/net/tylermurphy/hideAndSeek/command/SetExitLocation.java +++ b/src/main/java/net/tylermurphy/hideAndSeek/command/SetExitLocation.java @@ -1,6 +1,6 @@ package net.tylermurphy.hideAndSeek.command; -import static net.tylermurphy.hideAndSeek.Store.*; +import static net.tylermurphy.hideAndSeek.Config.*; import java.util.HashMap; import java.util.Map; @@ -9,7 +9,7 @@ import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; import org.bukkit.util.Vector; -import net.tylermurphy.hideAndSeek.util.ICommand; +import net.tylermurphy.hideAndSeek.Main; public class SetExitLocation implements ICommand { @@ -19,7 +19,7 @@ public class SetExitLocation implements ICommand { newExitPosition.setX(player.getLocation().getBlockX()); newExitPosition.setY(player.getLocation().getBlockY()); newExitPosition.setZ(player.getLocation().getBlockZ()); - if(!status.equals("Standby")) { + if(!Main.plugin.status.equals("Standby")) { sender.sendMessage(errorPrefix + "Game is currently in session"); return; } diff --git a/src/main/java/net/tylermurphy/hideAndSeek/command/SetLobbyLocation.java b/src/main/java/net/tylermurphy/hideAndSeek/command/SetLobbyLocation.java index 7cb13fc..75de0e5 100644 --- a/src/main/java/net/tylermurphy/hideAndSeek/command/SetLobbyLocation.java +++ b/src/main/java/net/tylermurphy/hideAndSeek/command/SetLobbyLocation.java @@ -1,6 +1,6 @@ package net.tylermurphy.hideAndSeek.command; -import static net.tylermurphy.hideAndSeek.Store.*; +import static net.tylermurphy.hideAndSeek.Config.*; import java.util.HashMap; import java.util.Map; @@ -9,7 +9,7 @@ import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; import org.bukkit.util.Vector; -import net.tylermurphy.hideAndSeek.util.ICommand; +import net.tylermurphy.hideAndSeek.Main; public class SetLobbyLocation implements ICommand { @@ -19,7 +19,7 @@ public class SetLobbyLocation implements ICommand { newLobbyPosition.setX(player.getLocation().getBlockX()); newLobbyPosition.setY(player.getLocation().getBlockY()); newLobbyPosition.setZ(player.getLocation().getBlockZ()); - if(!status.equals("Standby")) { + if(!Main.plugin.status.equals("Standby")) { sender.sendMessage(errorPrefix + "Game is currently in session"); return; } diff --git a/src/main/java/net/tylermurphy/hideAndSeek/command/SetSpawnLocation.java b/src/main/java/net/tylermurphy/hideAndSeek/command/SetSpawnLocation.java index 0114e21..a940ac3 100644 --- a/src/main/java/net/tylermurphy/hideAndSeek/command/SetSpawnLocation.java +++ b/src/main/java/net/tylermurphy/hideAndSeek/command/SetSpawnLocation.java @@ -1,6 +1,6 @@ package net.tylermurphy.hideAndSeek.command; -import static net.tylermurphy.hideAndSeek.Store.*; +import static net.tylermurphy.hideAndSeek.Config.*; import java.util.HashMap; import java.util.Map; @@ -9,7 +9,7 @@ import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; import org.bukkit.util.Vector; -import net.tylermurphy.hideAndSeek.util.ICommand; +import net.tylermurphy.hideAndSeek.Main; public class SetSpawnLocation implements ICommand { @@ -19,7 +19,7 @@ public class SetSpawnLocation implements ICommand { newSpawnPosition.setX(player.getLocation().getBlockX()); newSpawnPosition.setY(player.getLocation().getBlockY()); newSpawnPosition.setZ(player.getLocation().getBlockZ()); - if(!status.equals("Standby")) { + if(!Main.plugin.status.equals("Standby")) { sender.sendMessage(errorPrefix + "Game is currently in session"); return; } diff --git a/src/main/java/net/tylermurphy/hideAndSeek/command/Setup.java b/src/main/java/net/tylermurphy/hideAndSeek/command/Setup.java index f071bee..1580f3f 100644 --- a/src/main/java/net/tylermurphy/hideAndSeek/command/Setup.java +++ b/src/main/java/net/tylermurphy/hideAndSeek/command/Setup.java @@ -4,9 +4,8 @@ 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 static net.tylermurphy.hideAndSeek.Config.*; import java.io.File; diff --git a/src/main/java/net/tylermurphy/hideAndSeek/command/Start.java b/src/main/java/net/tylermurphy/hideAndSeek/command/Start.java index cd0c956..7d5242f 100644 --- a/src/main/java/net/tylermurphy/hideAndSeek/command/Start.java +++ b/src/main/java/net/tylermurphy/hideAndSeek/command/Start.java @@ -3,73 +3,75 @@ package net.tylermurphy.hideAndSeek.command; import org.bukkit.Bukkit; import org.bukkit.GameMode; import org.bukkit.Location; +import org.bukkit.Material; import org.bukkit.command.CommandSender; +import org.bukkit.enchantments.Enchantment; import org.bukkit.entity.Player; +import org.bukkit.inventory.ItemStack; +import org.bukkit.inventory.meta.ItemMeta; +import org.bukkit.inventory.meta.PotionMeta; +import org.bukkit.potion.PotionData; import org.bukkit.potion.PotionEffect; import org.bukkit.potion.PotionEffectType; +import org.bukkit.potion.PotionType; import net.md_5.bungee.api.ChatColor; import net.tylermurphy.hideAndSeek.Main; import net.tylermurphy.hideAndSeek.events.Glow; import net.tylermurphy.hideAndSeek.events.Taunt; import net.tylermurphy.hideAndSeek.events.Worldborder; -import net.tylermurphy.hideAndSeek.util.Functions; -import net.tylermurphy.hideAndSeek.util.ICommand; +import net.tylermurphy.hideAndSeek.util.Util; -import static net.tylermurphy.hideAndSeek.Store.*; +import static net.tylermurphy.hideAndSeek.Config.*; import java.util.ArrayList; +import java.util.List; import java.util.Random; public class Start implements ICommand { public void execute(CommandSender sender, String[] args) { - if(!Functions.setup()) { + if(!Util.isSetup()) { sender.sendMessage(errorPrefix + "Game is not setup. Run /hs setup to see what you needed to do"); return; } - if(!status.equals("Standby")) { + if(!Main.plugin.status.equals("Standby")) { sender.sendMessage(errorPrefix + "Game is already in session"); return; } - if(!playerList.containsKey(sender.getName())) { + if(!Main.plugin.board.isPlayer(sender)) { sender.sendMessage(errorPrefix + "You are not in the lobby"); return; } - if(playerList.size() < minPlayers) { + if(Main.plugin.board.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); + Util.rollback("hideandseek_"+spawnWorld); } else { - Functions.loadMap("hideandseek_"+spawnWorld); + Util.loadMap("hideandseek_"+spawnWorld); } String seekerName; if(args.length < 1) { - seekerName = playerList.values().stream().skip(new Random().nextInt(playerList.values().size())).findFirst().get().getName(); + seekerName = Main.plugin.board.getPlayers().stream().skip(new Random().nextInt(Main.plugin.board.size())).findFirst().get().getName(); } else { seekerName = args[0]; } - Player seeker = playerList.get(seekerName); + Player seeker = Main.plugin.board.getPlayer(seekerName); if(seeker == null) { sender.sendMessage(errorPrefix + "Invalid player: " + seekerName); return; } - Hider = new ArrayList<String>(); - Seeker = new ArrayList<String>(); - Spectator = new ArrayList<String>(); - Deaths = new ArrayList<String>(); - for(Player temp : playerList.values()) { + Main.plugin.board.init(); + for(Player temp : Main.plugin.board.getPlayers()) { if(temp.getName().equals(seeker.getName())) continue; - Hider.add(temp.getName()); - HiderTeam.addEntry(temp.getName()); + Main.plugin.board.addHider(temp); } - Seeker.add(seeker.getName()); - SeekerTeam.addEntry(seeker.getName()); + Main.plugin.board.addSeeker(seeker); currentWorldborderSize = worldborderSize; - for(Player player : playerList.values()) { + for(Player player : Main.plugin.board.getPlayers()) { player.getInventory().clear(); player.setGameMode(GameMode.ADVENTURE); player.teleport(new Location(Bukkit.getWorld("hideandseek_"+spawnWorld), spawnPosition.getX(),spawnPosition.getY(),spawnPosition.getZ())); @@ -77,94 +79,51 @@ public class Start implements ICommand { player.removePotionEffect(effect.getType()); } } - for(String playerName : Seeker) { - Player player = playerList.get(playerName); - 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(Player player : Main.plugin.board.getSeekers()) { + 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); - } + for(Player player : Main.plugin.board.getHiders()) { + 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; - Functions.broadcastMessage(messagePrefix + "Hiders have 30 seconds to hide!"); - - Bukkit.getServer().getScheduler().runTaskLater(Main.plugin, new Runnable() { - public void run() { - if(temp != gameId) return; - 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; - 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; - 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; - 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; - 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; - Functions.broadcastMessage(messagePrefix + "Hiders have 1 seconds to hide!"); - } - }, 20 * 29); - + Worldborder.resetWorldborder("hideandseek_"+spawnWorld); + Main.plugin.status = "Starting"; + int temp = Main.plugin.gameId; + Util.broadcastMessage(messagePrefix + "Hiders have 30 seconds to hide!"); + Util.sendDelayedMessage(messagePrefix + "Hiders have 20 seconds to hide!", Main.plugin.gameId, 20 * 10); + Util.sendDelayedMessage(messagePrefix + "Hiders have 10 seconds to hide!", Main.plugin.gameId, 20 * 20); + Util.sendDelayedMessage(messagePrefix + "Hiders have 5 seconds to hide!", Main.plugin.gameId, 20 * 25); + Util.sendDelayedMessage(messagePrefix + "Hiders have 3 seconds to hide!", Main.plugin.gameId, 20 * 27); + Util.sendDelayedMessage(messagePrefix + "Hiders have 2 seconds to hide!", Main.plugin.gameId, 20 * 28); + Util.sendDelayedMessage(messagePrefix + "Hiders have 1 seconds to hide!", Main.plugin.gameId, 20 * 29); Bukkit.getServer().getScheduler().runTaskLater(Main.plugin, new Runnable() { public void run() { - if(temp != gameId) return; - Functions.broadcastMessage(messagePrefix + "Attetion SEEKERS, its time to find the hiders!"); - status = "Playing"; - for(Player player : playerList.values()) { - Functions.resetPlayer(player); + if(temp != Main.plugin.gameId) return; + Util.broadcastMessage(messagePrefix + "Attetion SEEKERS, its time to find the hiders!"); + Main.plugin.status = "Playing"; + for(Player player : Main.plugin.board.getPlayers()) { + resetPlayer(player); } - Main.worldborder = null; - Main.taunt = null; - Main.glow = null; + Main.plugin.worldborder = null; + Main.plugin.taunt = null; + Main.plugin.glow = null; if(worldborderEnabled) { - Main.worldborder = new Worldborder(gameId); - Main.worldborder.schedule(); + Main.plugin.worldborder = new Worldborder(Main.plugin.gameId); + Main.plugin.worldborder.schedule(); } - Main.taunt = new Taunt(gameId); - Main.taunt.schedule(); + Main.plugin.taunt = new Taunt(Main.plugin.gameId); + Main.plugin.taunt.schedule(); - Main.glow = new Glow(gameId); + Main.plugin.glow = new Glow(Main.plugin.gameId); if(gameLength > 0) { - timeLeft = gameLength; - for(Player player : playerList.values()) { - player.setLevel(timeLeft); + Main.plugin.timeLeft = gameLength; + for(Player player : Main.plugin.board.getPlayers()) { + player.setLevel(gameLength); } } } @@ -172,6 +131,69 @@ public class Start implements ICommand { } + public static void resetPlayer(Player player) { + player.getInventory().clear(); + for(PotionEffect effect : player.getActivePotionEffects()){ + player.removePotionEffect(effect.getType()); + } + player.addPotionEffect(new PotionEffect(PotionEffectType.DOLPHINS_GRACE, 1000000, 1, false, false)); + if(Main.plugin.board.isSeeker(player)){ + ItemStack diamondSword = new ItemStack(Material.DIAMOND_SWORD,1); + diamondSword.addEnchantment(Enchantment.DAMAGE_ALL, 1); + ItemMeta diamondSwordMeta = diamondSword.getItemMeta(); + diamondSwordMeta.setDisplayName("Seeker Sword"); + diamondSwordMeta.setUnbreakable(true); + diamondSword.setItemMeta(diamondSwordMeta); + player.getInventory().addItem(diamondSword); + + ItemStack wackyStick = new ItemStack(Material.STICK,1); + wackyStick.addUnsafeEnchantment(Enchantment.KNOCKBACK, 3); + ItemMeta wackyStickMeta = wackyStick.getItemMeta(); + wackyStickMeta.setDisplayName("Wacky Stick"); + wackyStick.setItemMeta(wackyStickMeta); + player.getInventory().addItem(wackyStick); + + player.addPotionEffect(new PotionEffect(PotionEffectType.SPEED, 1000000, 2, false, false)); + player.addPotionEffect(new PotionEffect(PotionEffectType.JUMP, 1000000, 1, false, false)); + player.addPotionEffect(new PotionEffect(PotionEffectType.SLOW_FALLING, 1000000, 1, false, false)); + player.addPotionEffect(new PotionEffect(PotionEffectType.WATER_BREATHING, 1000000, 10, false, false)); + } + else if(Main.plugin.board.isHider(player)){ + ItemStack stoneSword = new ItemStack(Material.STONE_SWORD,1); + stoneSword.addEnchantment(Enchantment.DAMAGE_ALL, 2); + ItemMeta stoneSwordMeta = stoneSword.getItemMeta(); + stoneSwordMeta.setDisplayName("Hider Sword"); + stoneSwordMeta.setUnbreakable(true); + stoneSword.setItemMeta(stoneSwordMeta); + player.getInventory().addItem(stoneSword); + + ItemStack splashPotion = new ItemStack(Material.SPLASH_POTION,1); + PotionMeta splashPotionMeta = (PotionMeta) splashPotion.getItemMeta(); + splashPotionMeta.setBasePotionData(new PotionData(PotionType.REGEN)); + splashPotion.setItemMeta(splashPotionMeta); + player.getInventory().addItem(splashPotion); + + ItemStack potion = new ItemStack(Material.POTION,2); + PotionMeta potionMeta = (PotionMeta) potion.getItemMeta(); + potionMeta.setBasePotionData(new PotionData(PotionType.INSTANT_HEAL)); + potion.setItemMeta(potionMeta); + player.getInventory().addItem(potion); + + ItemStack snowball = new ItemStack(Material.SNOWBALL,1); + ItemMeta snowballMeta = snowball.getItemMeta(); + snowballMeta.setDisplayName("Glow Powerup"); + List<String> snowballLore = new ArrayList<String>(); + snowballLore.add("Throw to make all seekers glow"); + snowballLore.add("Last 30s, all hiders can see it"); + snowballLore.add("Time stacks on multi use"); + snowballMeta.setLore(snowballLore); + snowball.setItemMeta(snowballMeta); + player.getInventory().addItem(snowball); + + player.addPotionEffect(new PotionEffect(PotionEffectType.WATER_BREATHING, 1000000, 1, false, false)); + } + } + public String getLabel() { return "start"; } diff --git a/src/main/java/net/tylermurphy/hideAndSeek/command/Stop.java b/src/main/java/net/tylermurphy/hideAndSeek/command/Stop.java index 9c1e3d7..cacf7cd 100644 --- a/src/main/java/net/tylermurphy/hideAndSeek/command/Stop.java +++ b/src/main/java/net/tylermurphy/hideAndSeek/command/Stop.java @@ -1,6 +1,6 @@ package net.tylermurphy.hideAndSeek.command; -import static net.tylermurphy.hideAndSeek.Store.*; +import static net.tylermurphy.hideAndSeek.Config.*; import org.bukkit.Bukkit; import org.bukkit.GameMode; @@ -10,20 +10,21 @@ import org.bukkit.entity.Player; import org.bukkit.potion.PotionEffect; import org.bukkit.potion.PotionEffectType; -import net.tylermurphy.hideAndSeek.util.Functions; -import net.tylermurphy.hideAndSeek.util.ICommand; +import net.tylermurphy.hideAndSeek.Main; +import net.tylermurphy.hideAndSeek.events.Worldborder; import net.tylermurphy.hideAndSeek.util.Packet; +import net.tylermurphy.hideAndSeek.util.Util; public class Stop implements ICommand { public void execute(CommandSender sender, String[] args) { - if(!Functions.setup()) { + if(!Util.isSetup()) { 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")) { + if(Main.plugin.status.equals("Starting") || Main.plugin.status.equals("Playing")) { if(announceMessagesToNonPlayers) Bukkit.broadcastMessage(abortPrefix + "Game has been force stopped."); - else Functions.broadcastMessage(abortPrefix + "Game has been force stopped."); + else Util.broadcastMessage(abortPrefix + "Game has been force stopped."); onStop(); } else { @@ -37,26 +38,25 @@ public class Stop implements ICommand { } public static void onStop() { - if(status.equals("Standby")) return; - status = "Standby"; - gameId++; - Functions.resetWorldborder("hideandseek_"+spawnWorld); - for(Player player : playerList.values()) { + if(Main.plugin.status.equals("Standby")) return; + Main.plugin.status = "Standby"; + Main.plugin.gameId++; + Worldborder.resetWorldborder("hideandseek_"+spawnWorld); + for(Player player : Main.plugin.board.getPlayers()) { player.setGameMode(GameMode.ADVENTURE); player.setLevel(0); - Hider.add(player.getName()); - HiderTeam.addEntry(player.getName()); + Main.plugin.board.addHider(player); player.getInventory().clear(); player.teleport(new Location(Bukkit.getWorld(lobbyWorld), lobbyPosition.getX(),lobbyPosition.getY(),lobbyPosition.getZ())); for(PotionEffect effect : player.getActivePotionEffects()){ player.removePotionEffect(effect.getType()); } player.addPotionEffect(new PotionEffect(PotionEffectType.HEAL, 1, 100)); - for(Player temp : playerList.values()) { + for(Player temp : Main.plugin.board.getPlayers()) { Packet.setGlow(player, temp, false); } } - Functions.unloadMap("hideandseek_"+spawnWorld); + Util.unloadMap("hideandseek_"+spawnWorld); } public String getUsage() { |