summaryrefslogtreewikicommitdiff
path: root/src/main/java/net/tylermurphy/hideAndSeek/commands
diff options
context:
space:
mode:
authorTyler Murphy <tylermurphy534@gmail.com>2021-08-24 18:09:31 -0400
committerGitHub <noreply@github.com>2021-08-24 18:09:31 -0400
commite45c39faf085a1dd517b92762581d3d8c2d2bbaf (patch)
treee73e8ad0eb3bb61cd358c2f93c65d65188c2e49c /src/main/java/net/tylermurphy/hideAndSeek/commands
parentfixed keep inv and death messages (diff)
parentrefactoring, command restructure, bug fixes, glow rewrite (diff)
downloadkenshinshideandseek-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')
-rw-r--r--src/main/java/net/tylermurphy/hideAndSeek/commands/About.java4
-rw-r--r--src/main/java/net/tylermurphy/hideAndSeek/commands/EnableBorder.java49
-rw-r--r--src/main/java/net/tylermurphy/hideAndSeek/commands/Help.java6
-rw-r--r--src/main/java/net/tylermurphy/hideAndSeek/commands/SetBorder.java16
-rw-r--r--src/main/java/net/tylermurphy/hideAndSeek/commands/SetSeeker.java47
-rw-r--r--src/main/java/net/tylermurphy/hideAndSeek/commands/SetSpawnLocation.java7
-rw-r--r--src/main/java/net/tylermurphy/hideAndSeek/commands/Start.java97
-rw-r--r--src/main/java/net/tylermurphy/hideAndSeek/commands/Stop.java22
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() {