diff options
author | Tyler Murphy <tylermurphy534@gmail.com> | 2021-08-24 18:09:31 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-08-24 18:09:31 -0400 |
commit | e45c39faf085a1dd517b92762581d3d8c2d2bbaf (patch) | |
tree | e73e8ad0eb3bb61cd358c2f93c65d65188c2e49c /src/main/java/net/tylermurphy/hideAndSeek/commands | |
parent | fixed keep inv and death messages (diff) | |
parent | refactoring, command restructure, bug fixes, glow rewrite (diff) | |
download | kenshinshideandseek-e45c39faf085a1dd517b92762581d3d8c2d2bbaf.tar.gz kenshinshideandseek-e45c39faf085a1dd517b92762581d3d8c2d2bbaf.tar.bz2 kenshinshideandseek-e45c39faf085a1dd517b92762581d3d8c2d2bbaf.zip |
Merge pull request #6 from tylermurphy534/dev
merge fix
Diffstat (limited to 'src/main/java/net/tylermurphy/hideAndSeek/commands')
8 files changed, 93 insertions, 155 deletions
diff --git a/src/main/java/net/tylermurphy/hideAndSeek/commands/About.java b/src/main/java/net/tylermurphy/hideAndSeek/commands/About.java index 91cc430..c500dd6 100644 --- a/src/main/java/net/tylermurphy/hideAndSeek/commands/About.java +++ b/src/main/java/net/tylermurphy/hideAndSeek/commands/About.java @@ -3,13 +3,13 @@ package net.tylermurphy.hideAndSeek.commands; import org.bukkit.ChatColor; import org.bukkit.command.CommandSender; -import net.tylermurphy.hideAndSeek.ICommand; +import net.tylermurphy.hideAndSeek.util.ICommand; public class About implements ICommand { public void execute(CommandSender sender, String[] args) { sender.sendMessage( - String.format("%s%sHide and Seek %s(1.0.0%s)\n", ChatColor.AQUA, ChatColor.BOLD, ChatColor.GRAY,ChatColor.WHITE,ChatColor.GRAY) + + String.format("%s%sHide and Seek %s(1.2.0%s)\n", ChatColor.AQUA, ChatColor.BOLD, ChatColor.GRAY,ChatColor.WHITE,ChatColor.GRAY) + String.format("%sAuthor: %s[KenshinEto]\n", ChatColor.GRAY, ChatColor.WHITE) + String.format("%sHelp Command: %s/hs %shelp", ChatColor.GRAY, ChatColor.AQUA, ChatColor.WHITE) ); diff --git a/src/main/java/net/tylermurphy/hideAndSeek/commands/EnableBorder.java b/src/main/java/net/tylermurphy/hideAndSeek/commands/EnableBorder.java deleted file mode 100644 index 6c925e2..0000000 --- a/src/main/java/net/tylermurphy/hideAndSeek/commands/EnableBorder.java +++ /dev/null @@ -1,49 +0,0 @@ -package net.tylermurphy.hideAndSeek.commands; - -import org.bukkit.command.CommandSender; - -import net.tylermurphy.hideAndSeek.ICommand; -import net.tylermurphy.hideAndSeek.manager.WorldborderManager; - -import static net.tylermurphy.hideAndSeek.Store.*; - -public class EnableBorder implements ICommand { - - public void execute(CommandSender sender, String[] args) { - if(!status.equals("Standby") && !status.equals("Setup")) { - sender.sendMessage(errorPrefix + "Game is currently in session"); - return; - } - if(worldborderPosition == null) { - sender.sendMessage(errorPrefix + "Please setup worldborder info before enabling"); - return; - } - boolean bool; - try { bool = Boolean.parseBoolean(args[0]); } catch (Exception e) { - sender.sendMessage(errorPrefix + "Please enter true or false"); - return; - } - if(spawnPosition != null && worldborderPosition != null && spawnPosition.distance(worldborderPosition) > 100) { - sender.sendMessage(errorPrefix + "Cannot enable worldborder, spawn position is outside 100 blocks from worldborder"); - return; - } - sender.sendMessage(messagePrefix + "Set worldborder to "+args[0]); - getConfig().set("borderEnabled", bool); - worldborderEnabled = bool; - saveConfig(); - WorldborderManager.reset(); - } - - public String getLabel() { - return "enableBorder"; - } - - public String getUsage() { - return "<true/false>"; - } - - public String getDescription() { - return "Enables or disables worldborder"; - } - -} diff --git a/src/main/java/net/tylermurphy/hideAndSeek/commands/Help.java b/src/main/java/net/tylermurphy/hideAndSeek/commands/Help.java index 1839e41..a74464e 100644 --- a/src/main/java/net/tylermurphy/hideAndSeek/commands/Help.java +++ b/src/main/java/net/tylermurphy/hideAndSeek/commands/Help.java @@ -3,14 +3,14 @@ package net.tylermurphy.hideAndSeek.commands; import org.bukkit.command.CommandSender; import net.md_5.bungee.api.ChatColor; -import net.tylermurphy.hideAndSeek.ICommand; -import net.tylermurphy.hideAndSeek.manager.CommandManager; +import net.tylermurphy.hideAndSeek.CommandHandler; +import net.tylermurphy.hideAndSeek.util.ICommand; public class Help implements ICommand { public void execute(CommandSender sender, String[] args) { String message = ""; - for(ICommand command : CommandManager.COMMAND_REGISTER.values()) { + for(ICommand command : CommandHandler.COMMAND_REGISTER.values()) { message += String.format("%s/hs %s%s %s%s\n %s%s%s", ChatColor.AQUA, ChatColor.WHITE, command.getLabel().toLowerCase(), ChatColor.BLUE, command.getUsage(), ChatColor.GRAY, ChatColor.ITALIC, command.getDescription()+"\n"); } message = message.substring(0, message.length()-2); diff --git a/src/main/java/net/tylermurphy/hideAndSeek/commands/SetBorder.java b/src/main/java/net/tylermurphy/hideAndSeek/commands/SetBorder.java index 6482c45..a485c91 100644 --- a/src/main/java/net/tylermurphy/hideAndSeek/commands/SetBorder.java +++ b/src/main/java/net/tylermurphy/hideAndSeek/commands/SetBorder.java @@ -4,8 +4,8 @@ import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; import org.bukkit.util.Vector; -import net.tylermurphy.hideAndSeek.ICommand; -import net.tylermurphy.hideAndSeek.manager.WorldborderManager; +import net.tylermurphy.hideAndSeek.util.Functions; +import net.tylermurphy.hideAndSeek.util.ICommand; import static net.tylermurphy.hideAndSeek.Store.*; @@ -21,7 +21,11 @@ public class SetBorder implements ICommand { return; } if(args.length < 2) { - sender.sendMessage(errorPrefix + "Please enter worldborder size and delay"); + getConfig().set("borderEnabled", false); + worldborderEnabled = false; + saveConfig(); + sender.sendMessage(messagePrefix + "Disabled worldborder."); + Functions.resetWorldborder(); return; } int num,delay; @@ -53,8 +57,10 @@ public class SetBorder implements ICommand { getConfig().set("borderPosition", newWorldborderPosition); getConfig().set("borderSize", num); getConfig().set("borderDelay", delay); + getConfig().set("borderEnabled", false); + worldborderEnabled = true; saveConfig(); - WorldborderManager.reset(); + Functions.resetWorldborder(); } public String getLabel() { @@ -66,7 +72,7 @@ public class SetBorder implements ICommand { } public String getDescription() { - return "Sets worldboarder's center location, size in blocks, and delay in minutes"; + return "Sets worldboarder's center location, size in blocks, and delay in minutes per shrink. Add no arguments to disable."; } } diff --git a/src/main/java/net/tylermurphy/hideAndSeek/commands/SetSeeker.java b/src/main/java/net/tylermurphy/hideAndSeek/commands/SetSeeker.java deleted file mode 100644 index 5a2fc4b..0000000 --- a/src/main/java/net/tylermurphy/hideAndSeek/commands/SetSeeker.java +++ /dev/null @@ -1,47 +0,0 @@ -package net.tylermurphy.hideAndSeek.commands; - -import static net.tylermurphy.hideAndSeek.Store.*; - -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -import net.tylermurphy.hideAndSeek.ICommand; - -public class SetSeeker implements ICommand { - - public void execute(CommandSender sender, String[] args) { - if(!status.equals("Standby") && !status.equals("Setup")) { - sender.sendMessage(errorPrefix + "Game is currently in session"); - return; - } - String playerName; - if(args.length < 1) { - playerName = sender.getName(); - } else { - playerName = args[0]; - } - Player player = playerList.get(playerName); - if(player == null) { - sender.sendMessage(errorPrefix + "Invalid player: " + playerName); - return; - } - for(Player temp : playerList.values()) { - Hider.addEntry(temp.getName()); - } - Seeker.addEntry(player.getName()); - sender.sendMessage(String.format("%s Set %s as the seaker.", messagePrefix, playerName)); - } - - public String getLabel() { - return "setSeeker"; - } - - public String getUsage() { - return "<player>"; - } - - public String getDescription() { - return "Sets the current or select player as the seeker"; - } - -} diff --git a/src/main/java/net/tylermurphy/hideAndSeek/commands/SetSpawnLocation.java b/src/main/java/net/tylermurphy/hideAndSeek/commands/SetSpawnLocation.java index 821d469..48a8d60 100644 --- a/src/main/java/net/tylermurphy/hideAndSeek/commands/SetSpawnLocation.java +++ b/src/main/java/net/tylermurphy/hideAndSeek/commands/SetSpawnLocation.java @@ -1,11 +1,10 @@ package net.tylermurphy.hideAndSeek.commands; -import org.bukkit.Bukkit; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; import org.bukkit.util.Vector; -import net.tylermurphy.hideAndSeek.ICommand; +import net.tylermurphy.hideAndSeek.util.ICommand; import static net.tylermurphy.hideAndSeek.Store.*; @@ -26,8 +25,8 @@ public class SetSpawnLocation implements ICommand { sender.sendMessage(messagePrefix + "Set spawn position to current location"); getConfig().set("spawnPosition", newSpawnPosition); saveConfig(); - Bukkit.getServer().dispatchCommand(Bukkit.getConsoleSender(), String.format("setworldspawn %s %s %s", player.getLocation().getBlockX(), player.getLocation().getBlockY(), player.getLocation().getBlockZ())); - Bukkit.getServer().dispatchCommand(Bukkit.getConsoleSender(), String.format("spawnpoint @a %s %s %s", player.getLocation().getBlockX(), player.getLocation().getBlockY(), player.getLocation().getBlockZ())); +// Bukkit.getServer().dispatchCommand(Bukkit.getConsoleSender(), String.format("setworldspawn %s %s %s", player.getLocation().getBlockX(), player.getLocation().getBlockY(), player.getLocation().getBlockZ())); +// Bukkit.getServer().dispatchCommand(Bukkit.getConsoleSender(), String.format("spawnpoint @a %s %s %s", player.getLocation().getBlockX(), player.getLocation().getBlockY(), player.getLocation().getBlockZ())); } public String getLabel() { diff --git a/src/main/java/net/tylermurphy/hideAndSeek/commands/Start.java b/src/main/java/net/tylermurphy/hideAndSeek/commands/Start.java index 5bf1c13..45797b8 100644 --- a/src/main/java/net/tylermurphy/hideAndSeek/commands/Start.java +++ b/src/main/java/net/tylermurphy/hideAndSeek/commands/Start.java @@ -9,14 +9,13 @@ import org.bukkit.entity.Player; import org.bukkit.potion.PotionEffect; import org.bukkit.potion.PotionEffectType; -import net.tylermurphy.hideAndSeek.ICommand; import net.tylermurphy.hideAndSeek.Main; -import net.tylermurphy.hideAndSeek.manager.TauntManager; -import net.tylermurphy.hideAndSeek.manager.WorldborderManager; +import net.tylermurphy.hideAndSeek.util.Functions; +import net.tylermurphy.hideAndSeek.util.ICommand; import static net.tylermurphy.hideAndSeek.Store.*; -import java.util.HashMap; +import java.util.Random; public class Start implements ICommand { @@ -29,24 +28,28 @@ public class Start implements ICommand { sender.sendMessage(errorPrefix + "Game is already in session"); return; } - if(Hider.getSize() < 1) { - sender.sendMessage(errorPrefix + "No Hiders were found"); + if(playerList.size() < 2) { + sender.sendMessage(errorPrefix + "You must have at least 2 players to start"); return; } - if(Seeker.getSize() < 1) { - sender.sendMessage(errorPrefix + "No Seekers were found"); + + String seekerName; + if(args.length < 1) { + seekerName = playerList.values().stream().skip(new Random().nextInt(playerList.values().size())).findFirst().get().getName(); + } else { + seekerName = args[0]; + } + Player seeker = playerList.get(seekerName); + if(seeker == null) { + sender.sendMessage(errorPrefix + "Invalid player: " + seekerName); return; } - Bukkit.getServer().dispatchCommand(Bukkit.getConsoleSender(), "gamerule sendCommandFeedback false"); - Bukkit.getServer().dispatchCommand(Bukkit.getConsoleSender(), "gamerule doImmediateRespawn true"); - Bukkit.getServer().dispatchCommand(Bukkit.getConsoleSender(), "gamerule logAdminCommands false"); - Bukkit.getServer().dispatchCommand(Bukkit.getConsoleSender(), "gamerule naturalRegeneration false"); - Bukkit.getServer().dispatchCommand(Bukkit.getConsoleSender(), "gamerule keepInventory true"); - Bukkit.getServer().dispatchCommand(Bukkit.getConsoleSender(), "gamerule showDeathMessages false"); + for(Player temp : playerList.values()) { + Hider.addEntry(temp.getName()); + } + Seeker.addEntry(seeker.getName()); - playerData = new HashMap<String,Integer>(); for(Player player : playerList.values()) { - resetPlayerData(player.getName(),true); player.getInventory().clear(); player.setGameMode(GameMode.ADVENTURE); player.teleport(new Location(player.getWorld(), spawnPosition.getX(),spawnPosition.getY(),spawnPosition.getZ())); @@ -54,7 +57,7 @@ public class Start implements ICommand { player.removePotionEffect(effect.getType()); } } - Bukkit.getServer().dispatchCommand(Bukkit.getConsoleSender(), String.format("spawnpoint @a %s %s %s", spawnPosition.getBlockX(), spawnPosition.getBlockY(), spawnPosition.getBlockZ())); + //Bukkit.getServer().dispatchCommand(Bukkit.getConsoleSender(), String.format("spawnpoint @a %s %s %s", spawnPosition.getBlockX(), spawnPosition.getBlockY(), spawnPosition.getBlockZ())); for(String playerName : Seeker.getEntries()) { Player player = playerList.get(playerName); if(player != null) { @@ -68,40 +71,68 @@ public class Start implements ICommand { player.addPotionEffect(new PotionEffect(PotionEffectType.SPEED,1000000,5,false,false)); } } - WorldborderManager.reset(); + Functions.resetWorldborder(); status = "Starting"; - startTaskId = Bukkit.getServer().getScheduler().runTaskAsynchronously(Main.plugin, new Runnable(){ + int temp = gameId; + Bukkit.getServer().broadcastMessage(messagePrefix + "Hiders have 30 seconds to hide!"); + + Bukkit.getServer().getScheduler().runTaskLater(Main.plugin, new Runnable() { public void run() { - int temp = gameId; - Bukkit.getServer().broadcastMessage(messagePrefix + "Hiders have 30 seconds to hide!"); - try { Thread.sleep(10*1000); } catch (InterruptedException e) {} if(temp != gameId) return; Bukkit.getServer().broadcastMessage(messagePrefix + "Hiders have 20 seconds to hide!"); - try { Thread.sleep(10*1000); } catch (InterruptedException e) {} + } + }, 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!"); - try { Thread.sleep(5*1000); } catch (InterruptedException e) {} + } + }, 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!"); - try { Thread.sleep(2*1000); } catch (InterruptedException e) {} + } + }, 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!"); - try { Thread.sleep(1*1000); } catch (InterruptedException e) {} + } + }, 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!"); - try { Thread.sleep(1*1000); } catch (InterruptedException e) {} + } + }, 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!"); - try { Thread.sleep(1*1000); } catch (InterruptedException e) {} + } + }, 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!"); status = "Playing"; + for(Player player : playerList.values()) { + Functions.resetPlayer(player); + } } - }).getTaskId(); + }, 20 * 30); + if(worldborderEnabled) { - WorldborderManager.schedule(); + Functions.scheduleWorldborder(); } - TauntManager.schedule(); + Functions.scheduleTaunt(); } public String getLabel() { @@ -109,11 +140,11 @@ public class Start implements ICommand { } public String getUsage() { - return ""; + return "<player>"; } public String getDescription() { - return "Starts the game"; + return "Starts the game either with a random seeker or chosen one"; } } diff --git a/src/main/java/net/tylermurphy/hideAndSeek/commands/Stop.java b/src/main/java/net/tylermurphy/hideAndSeek/commands/Stop.java index b4ccca4..1c31ccd 100644 --- a/src/main/java/net/tylermurphy/hideAndSeek/commands/Stop.java +++ b/src/main/java/net/tylermurphy/hideAndSeek/commands/Stop.java @@ -10,14 +10,15 @@ import org.bukkit.entity.Player; import org.bukkit.potion.PotionEffect; import org.bukkit.potion.PotionEffectType; -import net.tylermurphy.hideAndSeek.ICommand; -import net.tylermurphy.hideAndSeek.manager.WorldborderManager; +import net.tylermurphy.hideAndSeek.util.Functions; +import net.tylermurphy.hideAndSeek.util.ICommand; public class Stop implements ICommand { public void execute(CommandSender sender, String[] args) { if(status.equals("Starting") || status.equals("Playing")) { - onStop(true); + Bukkit.broadcastMessage(messagePrefix + "Game has been force stopped."); + onStop(); } else { sender.sendMessage(errorPrefix + "There is no game in progress"); @@ -29,15 +30,10 @@ public class Stop implements ICommand { return "stop"; } - public static void onStop(boolean forced) { + public static void onStop() { if(status.equals("Standby") || status.equals("Setup")) return; - if(forced) { - Bukkit.broadcastMessage(messagePrefix + "Game has been force stopped."); - } else { - Bukkit.broadcastMessage(messagePrefix + "Game over! All hiders have been found."); - } status = "Standby"; - Bukkit.getServer().getScheduler().cancelTask(startTaskId); + gameId++; for(Player player : playerList.values()) { player.setGameMode(GameMode.ADVENTURE); Hider.addEntry(player.getName()); @@ -47,9 +43,11 @@ public class Stop implements ICommand { player.removePotionEffect(effect.getType()); } player.addPotionEffect(new PotionEffect(PotionEffectType.HEAL, 1, 100)); + for(Player temp : playerList.values()) { + Functions.setGlow(player, temp, false); + } } - WorldborderManager.reset(); - gameId++; + Functions.resetWorldborder(); } public String getUsage() { |