diff options
author | sowgro <tpoke.ferrari@gmail.com> | 2024-06-27 02:40:06 -0400 |
---|---|---|
committer | sowgro <tpoke.ferrari@gmail.com> | 2024-06-27 02:40:06 -0400 |
commit | 02cc74cc5ac06a69ec59d6277234ce69031402f4 (patch) | |
tree | e213f687ac5fb5731fa7f2ed7420c54028c919b4 /src/main/java/com/MylesAndMore/Tumble/commands/SetWaitArea.java | |
parent | d849ab8d085675715622dcef212d32239eb5d4bb (diff) | |
download | Tumble-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.java | 60 |
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(); + } +} |