aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/com/MylesAndMore/Tumble/commands/SetWaitArea.java
diff options
context:
space:
mode:
authorsowgro <tpoke.ferrari@gmail.com>2024-06-27 02:40:06 -0400
committersowgro <tpoke.ferrari@gmail.com>2024-06-27 02:40:06 -0400
commit02cc74cc5ac06a69ec59d6277234ce69031402f4 (patch)
treee213f687ac5fb5731fa7f2ed7420c54028c919b4 /src/main/java/com/MylesAndMore/Tumble/commands/SetWaitArea.java
parentd849ab8d085675715622dcef212d32239eb5d4bb (diff)
downloadTumble-02cc74cc5ac06a69ec59d6277234ce69031402f4.tar.gz
Tumble-02cc74cc5ac06a69ec59d6277234ce69031402f4.tar.bz2
Tumble-02cc74cc5ac06a69ec59d6277234ce69031402f4.zip
overhaul command and config formats (again)
Diffstat (limited to 'src/main/java/com/MylesAndMore/Tumble/commands/SetWaitArea.java')
-rw-r--r--src/main/java/com/MylesAndMore/Tumble/commands/SetWaitArea.java60
1 files changed, 60 insertions, 0 deletions
diff --git a/src/main/java/com/MylesAndMore/Tumble/commands/SetWaitArea.java b/src/main/java/com/MylesAndMore/Tumble/commands/SetWaitArea.java
new file mode 100644
index 0000000..f789658
--- /dev/null
+++ b/src/main/java/com/MylesAndMore/Tumble/commands/SetWaitArea.java
@@ -0,0 +1,60 @@
+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 SetWaitArea implements SubCommand, CommandExecutor, TabCompleter {
+ @Override
+ public String getCommandName() {
+ return "setWaitArea";
+ }
+
+ @Override
+ public String getPermission() {
+ return "tumble.setWaitArea";
+ }
+
+ @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.waitArea = ((Player)sender).getLocation();
+ sender.sendMessage(LanguageManager.fromKey("set-success"));
+ return true;
+ }
+
+ @Override
+ public List<String> 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();
+ }
+}