From b7f79527534c8edac418dee0791281ff784bec72 Mon Sep 17 00:00:00 2001 From: sowgro Date: Fri, 28 Jun 2024 01:45:24 -0400 Subject: Improve documentation, tweak commands --- src/main/java/com/MylesAndMore/Tumble/Main.java | 6 +-- .../com/MylesAndMore/Tumble/commands/Create.java | 1 + .../MylesAndMore/Tumble/commands/ForceStart.java | 12 ++++- .../MylesAndMore/Tumble/commands/ForceStop.java | 9 +++- .../com/MylesAndMore/Tumble/commands/Remove.java | 1 + .../MylesAndMore/Tumble/commands/SetGameSpawn.java | 1 + .../Tumble/commands/SetKillYCordinate.java | 61 --------------------- .../Tumble/commands/SetKillYLevel.java | 62 ++++++++++++++++++++++ .../com/MylesAndMore/Tumble/commands/SetLobby.java | 1 + .../MylesAndMore/Tumble/commands/SetWaitArea.java | 1 + .../Tumble/commands/SetWinnerLobby.java | 1 + .../com/MylesAndMore/Tumble/commands/Tumble.java | 2 +- .../MylesAndMore/Tumble/config/ArenaManager.java | 4 +- .../MylesAndMore/Tumble/config/ConfigManager.java | 5 +- .../Tumble/config/LanguageManager.java | 3 +- 15 files changed, 95 insertions(+), 75 deletions(-) delete mode 100644 src/main/java/com/MylesAndMore/Tumble/commands/SetKillYCordinate.java create mode 100644 src/main/java/com/MylesAndMore/Tumble/commands/SetKillYLevel.java (limited to 'src/main/java/com') diff --git a/src/main/java/com/MylesAndMore/Tumble/Main.java b/src/main/java/com/MylesAndMore/Tumble/Main.java index f098a12..6e2123c 100644 --- a/src/main/java/com/MylesAndMore/Tumble/Main.java +++ b/src/main/java/com/MylesAndMore/Tumble/Main.java @@ -18,9 +18,9 @@ public class Main extends JavaPlugin{ @Override public void onEnable() { plugin = this; - new ArenaManager(); - new ConfigManager(); - new LanguageManager(); + ArenaManager.loadConfig(); + ConfigManager.loadConfig(); + LanguageManager.loadConfig(); Objects.requireNonNull(this.getCommand("tumble")).setExecutor(new Tumble()); new Metrics(this, 16940); diff --git a/src/main/java/com/MylesAndMore/Tumble/commands/Create.java b/src/main/java/com/MylesAndMore/Tumble/commands/Create.java index 3340cc6..aa39db3 100644 --- a/src/main/java/com/MylesAndMore/Tumble/commands/Create.java +++ b/src/main/java/com/MylesAndMore/Tumble/commands/Create.java @@ -33,6 +33,7 @@ public class Create implements SubCommand, CommandExecutor, TabCompleter { String arenaName = args[0]; ArenaManager.arenas.put(arenaName, new Arena(arenaName)); + ArenaManager.WriteConfig(); sender.sendMessage(LanguageManager.fromKey("create-success")); return true; } diff --git a/src/main/java/com/MylesAndMore/Tumble/commands/ForceStart.java b/src/main/java/com/MylesAndMore/Tumble/commands/ForceStart.java index c8042bc..905e5da 100644 --- a/src/main/java/com/MylesAndMore/Tumble/commands/ForceStart.java +++ b/src/main/java/com/MylesAndMore/Tumble/commands/ForceStart.java @@ -38,7 +38,17 @@ public class ForceStart implements SubCommand, CommandExecutor, TabCompleter { } } else { - game = ArenaManager.arenas.get(args[0]).game; + String arenaName = args[0]; + if (!ArenaManager.arenas.containsKey(arenaName)) { + sender.sendMessage(LanguageManager.fromKey("invalid-arena").replace("%arena%",arenaName)); + return false; + } + game = ArenaManager.arenas.get(arenaName).game; + } + + if (game == null) { + sender.sendMessage(LanguageManager.fromKey("no-game-in-arena")); + return false; } game.gameStart(); diff --git a/src/main/java/com/MylesAndMore/Tumble/commands/ForceStop.java b/src/main/java/com/MylesAndMore/Tumble/commands/ForceStop.java index 96e8334..3d98d91 100644 --- a/src/main/java/com/MylesAndMore/Tumble/commands/ForceStop.java +++ b/src/main/java/com/MylesAndMore/Tumble/commands/ForceStop.java @@ -27,7 +27,7 @@ public class ForceStop implements SubCommand, CommandExecutor, TabCompleter { } @Override - public boolean onCommand(CommandSender sender, @NotNull Command command, @NotNull String label, String[] args) { + public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, String[] args) { Game game; if (args.length < 1 || args[0] == null) { @@ -38,7 +38,12 @@ public class ForceStop implements SubCommand, CommandExecutor, TabCompleter { } } else { - game = ArenaManager.arenas.get(args[0]).game; + String arenaName = args[0]; + if (!ArenaManager.arenas.containsKey(arenaName)) { + sender.sendMessage(LanguageManager.fromKey("invalid-arena").replace("%arena%",arenaName)); + return false; + } + game = ArenaManager.arenas.get(arenaName).game; } if (game == null) { diff --git a/src/main/java/com/MylesAndMore/Tumble/commands/Remove.java b/src/main/java/com/MylesAndMore/Tumble/commands/Remove.java index 118aa77..1d28993 100644 --- a/src/main/java/com/MylesAndMore/Tumble/commands/Remove.java +++ b/src/main/java/com/MylesAndMore/Tumble/commands/Remove.java @@ -38,6 +38,7 @@ public class Remove implements SubCommand, CommandExecutor, TabCompleter { } ArenaManager.arenas.remove(arenaName); + ArenaManager.WriteConfig(); sender.sendMessage(LanguageManager.fromKey("set-success")); return true; } diff --git a/src/main/java/com/MylesAndMore/Tumble/commands/SetGameSpawn.java b/src/main/java/com/MylesAndMore/Tumble/commands/SetGameSpawn.java index 62d22f8..783434c 100644 --- a/src/main/java/com/MylesAndMore/Tumble/commands/SetGameSpawn.java +++ b/src/main/java/com/MylesAndMore/Tumble/commands/SetGameSpawn.java @@ -45,6 +45,7 @@ public class SetGameSpawn implements SubCommand, CommandExecutor, TabCompleter { Arena arena = ArenaManager.arenas.get(arenaName); arena.gameSpawn = ((Player)sender).getLocation(); + ArenaManager.WriteConfig(); sender.sendMessage(LanguageManager.fromKey("set-success")); return true; } diff --git a/src/main/java/com/MylesAndMore/Tumble/commands/SetKillYCordinate.java b/src/main/java/com/MylesAndMore/Tumble/commands/SetKillYCordinate.java deleted file mode 100644 index 0be156f..0000000 --- a/src/main/java/com/MylesAndMore/Tumble/commands/SetKillYCordinate.java +++ /dev/null @@ -1,61 +0,0 @@ -package com.MylesAndMore.Tumble.commands; - -import com.MylesAndMore.Tumble.game.Arena; -import com.MylesAndMore.Tumble.config.LanguageManager; -import com.MylesAndMore.Tumble.config.ArenaManager; -import com.MylesAndMore.Tumble.plugin.SubCommand; -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.command.TabCompleter; -import org.bukkit.entity.Player; -import org.jetbrains.annotations.NotNull; - -import java.util.Collections; -import java.util.List; - -public class SetKillYCordinate implements SubCommand, CommandExecutor, TabCompleter { - - @Override - public String getCommandName() { - return "setKillYLevel"; - } - - @Override - public String getPermission() { - return "tumble.setKillYLevel"; - } - - @Override - public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, String[] args) { - if (!(sender instanceof Player)) { - sender.sendMessage(LanguageManager.fromKey("not-for-console")); - return false; - } - - if (args.length == 0 || args[0] == null || args[0].isEmpty()) { - sender.sendMessage(LanguageManager.fromKey("missing-arena-parameter")); - return false; - } - String arenaName = args[0]; - - if (!ArenaManager.arenas.containsKey(arenaName)) { - sender.sendMessage(LanguageManager.fromKey("invalid-arena").replace("%arena%",arenaName)); - return false; - } - Arena arena = ArenaManager.arenas.get(arenaName); - - arena.killAtY = ((int) ((Player) sender).getLocation().getY()); - sender.sendMessage(LanguageManager.fromKey("set-success")); - return true; - } - - @Override - public List onTabComplete(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, String[] args) { - if (args.length == 1) { - return ArenaManager.arenas.keySet().stream().toList(); - } - - return Collections.emptyList(); - } -} diff --git a/src/main/java/com/MylesAndMore/Tumble/commands/SetKillYLevel.java b/src/main/java/com/MylesAndMore/Tumble/commands/SetKillYLevel.java new file mode 100644 index 0000000..fec52ea --- /dev/null +++ b/src/main/java/com/MylesAndMore/Tumble/commands/SetKillYLevel.java @@ -0,0 +1,62 @@ +package com.MylesAndMore.Tumble.commands; + +import com.MylesAndMore.Tumble.game.Arena; +import com.MylesAndMore.Tumble.config.LanguageManager; +import com.MylesAndMore.Tumble.config.ArenaManager; +import com.MylesAndMore.Tumble.plugin.SubCommand; +import org.bukkit.command.Command; +import org.bukkit.command.CommandExecutor; +import org.bukkit.command.CommandSender; +import org.bukkit.command.TabCompleter; +import org.bukkit.entity.Player; +import org.jetbrains.annotations.NotNull; + +import java.util.Collections; +import java.util.List; + +public class SetKillYLevel implements SubCommand, CommandExecutor, TabCompleter { + + @Override + public String getCommandName() { + return "setKillYLevel"; + } + + @Override + public String getPermission() { + return "tumble.setKillYLevel"; + } + + @Override + public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, String[] args) { + if (!(sender instanceof Player)) { + sender.sendMessage(LanguageManager.fromKey("not-for-console")); + return false; + } + + if (args.length == 0 || args[0] == null || args[0].isEmpty()) { + sender.sendMessage(LanguageManager.fromKey("missing-arena-parameter")); + return false; + } + String arenaName = args[0]; + + if (!ArenaManager.arenas.containsKey(arenaName)) { + sender.sendMessage(LanguageManager.fromKey("invalid-arena").replace("%arena%",arenaName)); + return false; + } + Arena arena = ArenaManager.arenas.get(arenaName); + + arena.killAtY = ((int) ((Player) sender).getLocation().getY()); + ArenaManager.WriteConfig(); + sender.sendMessage(LanguageManager.fromKey("set-success")); + return true; + } + + @Override + public List onTabComplete(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, String[] args) { + if (args.length == 1) { + return ArenaManager.arenas.keySet().stream().toList(); + } + + return Collections.emptyList(); + } +} diff --git a/src/main/java/com/MylesAndMore/Tumble/commands/SetLobby.java b/src/main/java/com/MylesAndMore/Tumble/commands/SetLobby.java index dbb6b53..e50b3e0 100644 --- a/src/main/java/com/MylesAndMore/Tumble/commands/SetLobby.java +++ b/src/main/java/com/MylesAndMore/Tumble/commands/SetLobby.java @@ -45,6 +45,7 @@ public class SetLobby implements SubCommand, CommandExecutor, TabCompleter { Arena arena = ArenaManager.arenas.get(arenaName); arena.lobby = ((Player)sender).getLocation(); + ArenaManager.WriteConfig(); sender.sendMessage(LanguageManager.fromKey("set-success")); return true; } diff --git a/src/main/java/com/MylesAndMore/Tumble/commands/SetWaitArea.java b/src/main/java/com/MylesAndMore/Tumble/commands/SetWaitArea.java index f789658..d251d3f 100644 --- a/src/main/java/com/MylesAndMore/Tumble/commands/SetWaitArea.java +++ b/src/main/java/com/MylesAndMore/Tumble/commands/SetWaitArea.java @@ -45,6 +45,7 @@ public class SetWaitArea implements SubCommand, CommandExecutor, TabCompleter { Arena arena = ArenaManager.arenas.get(arenaName); arena.waitArea = ((Player)sender).getLocation(); + ArenaManager.WriteConfig(); sender.sendMessage(LanguageManager.fromKey("set-success")); return true; } diff --git a/src/main/java/com/MylesAndMore/Tumble/commands/SetWinnerLobby.java b/src/main/java/com/MylesAndMore/Tumble/commands/SetWinnerLobby.java index 01817b0..64a0386 100644 --- a/src/main/java/com/MylesAndMore/Tumble/commands/SetWinnerLobby.java +++ b/src/main/java/com/MylesAndMore/Tumble/commands/SetWinnerLobby.java @@ -45,6 +45,7 @@ public class SetWinnerLobby implements SubCommand, CommandExecutor, TabCompleter Arena arena = ArenaManager.arenas.get(arenaName); arena.winnerLobby = ((Player)sender).getLocation(); + ArenaManager.WriteConfig(); sender.sendMessage(LanguageManager.fromKey("set-success")); return true; } diff --git a/src/main/java/com/MylesAndMore/Tumble/commands/Tumble.java b/src/main/java/com/MylesAndMore/Tumble/commands/Tumble.java index 6e44352..f1d2e38 100644 --- a/src/main/java/com/MylesAndMore/Tumble/commands/Tumble.java +++ b/src/main/java/com/MylesAndMore/Tumble/commands/Tumble.java @@ -21,7 +21,7 @@ public class Tumble implements CommandExecutor, TabCompleter { CmdNameAsKey(new Reload()), CmdNameAsKey(new Remove()), CmdNameAsKey(new SetGameSpawn()), - CmdNameAsKey(new SetKillYCordinate()), + CmdNameAsKey(new SetKillYLevel()), CmdNameAsKey(new SetLobby()), CmdNameAsKey(new SetWaitArea()), CmdNameAsKey(new SetWinnerLobby()) diff --git a/src/main/java/com/MylesAndMore/Tumble/config/ArenaManager.java b/src/main/java/com/MylesAndMore/Tumble/config/ArenaManager.java index 69a6c2c..4d5b782 100644 --- a/src/main/java/com/MylesAndMore/Tumble/config/ArenaManager.java +++ b/src/main/java/com/MylesAndMore/Tumble/config/ArenaManager.java @@ -24,7 +24,7 @@ public class ArenaManager { private static FileConfiguration config; public static HashMap arenas; - public ArenaManager() { + public static void loadConfig() { String fileName = "arenas.yml"; // create config File customConfigFile = new File(plugin.getDataFolder(), fileName); @@ -50,8 +50,6 @@ public class ArenaManager { * Reads config file and populates values above */ public static void readConfig() { - plugin.reloadConfig(); - // arenas ConfigurationSection arenasSection = config.getConfigurationSection("arenas"); if (arenasSection == null) { diff --git a/src/main/java/com/MylesAndMore/Tumble/config/ConfigManager.java b/src/main/java/com/MylesAndMore/Tumble/config/ConfigManager.java index ea7414a..9dfce99 100644 --- a/src/main/java/com/MylesAndMore/Tumble/config/ConfigManager.java +++ b/src/main/java/com/MylesAndMore/Tumble/config/ConfigManager.java @@ -10,12 +10,13 @@ public class ConfigManager { public static boolean HideLeaveJoin; public static int waitDuration; - public ConfigManager() { + public static void loadConfig() { config = plugin.getConfig(); + readConfig(); } public static void readConfig() { - HideLeaveJoin = config.getBoolean("hideJoinLeaveMessages", false); + HideLeaveJoin = config.getBoolean("hide-join-leave-messages", false); waitDuration = config.getInt("wait-duration", 15); } diff --git a/src/main/java/com/MylesAndMore/Tumble/config/LanguageManager.java b/src/main/java/com/MylesAndMore/Tumble/config/LanguageManager.java index c050d3c..dc49aa5 100644 --- a/src/main/java/com/MylesAndMore/Tumble/config/LanguageManager.java +++ b/src/main/java/com/MylesAndMore/Tumble/config/LanguageManager.java @@ -5,7 +5,6 @@ import org.bukkit.configuration.InvalidConfigurationException; import org.bukkit.configuration.file.FileConfiguration; import org.bukkit.configuration.file.YamlConfiguration; -import java.awt.*; import java.io.File; import java.io.IOException; @@ -14,7 +13,7 @@ import static com.MylesAndMore.Tumble.Main.plugin; public class LanguageManager { private static FileConfiguration config; - public LanguageManager() { + public static void loadConfig() { String fileName = "language.yml"; // create config File customConfigFile = new File(plugin.getDataFolder(), fileName); -- cgit v1.2.3