From d7bc44062090f97b49b8343d2113145609e2ee8e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Elias=20M=C3=BCller?= Date: Wed, 25 Sep 2024 17:52:41 +0200 Subject: [PATCH] added tab completion for maintenance command --- .../appliances/maintenance/MaintenanceCommand.java | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/src/main/java/eu/mhsl/craftattack/spawn/appliances/maintenance/MaintenanceCommand.java b/src/main/java/eu/mhsl/craftattack/spawn/appliances/maintenance/MaintenanceCommand.java index 4e7ebfd..9372b17 100644 --- a/src/main/java/eu/mhsl/craftattack/spawn/appliances/maintenance/MaintenanceCommand.java +++ b/src/main/java/eu/mhsl/craftattack/spawn/appliances/maintenance/MaintenanceCommand.java @@ -4,19 +4,27 @@ import eu.mhsl.craftattack.spawn.appliance.ApplianceCommand; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; +import java.util.List; import java.util.Map; public class MaintenanceCommand extends ApplianceCommand { + Map arguments = Map.of("enable", true, "disable", false); + public MaintenanceCommand() { super("maintanance"); } @Override protected void execute(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, @NotNull String[] args) throws Exception { - Map options = Map.of("enable", true, "disable", false); - if(args.length != 1 || !options.containsKey(args[0])) throw new Error("Argument 'enable' oder 'disable' gefordert!"); - getAppliance().setState(options.get(args[0])); + if(args.length != 1 || !arguments.containsKey(args[0])) throw new Error("Argument 'enable' oder 'disable' gefordert!"); + getAppliance().setState(arguments.get(args[0])); sender.sendMessage(String.format("Maintanance: %b", getAppliance().isInMaintenance())); } + + @Override + public @Nullable List onTabComplete(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, @NotNull String[] args) { + return arguments.keySet().stream().toList(); + } }