added tab completion for maintenance command

This commit is contained in:
Elias Müller 2024-09-25 17:52:41 +02:00
parent b2021d5815
commit d7bc440620

View File

@ -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<Maintenance> {
Map<String, Boolean> 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<String, Boolean> 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<String> onTabComplete(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, @NotNull String[] args) {
return arguments.keySet().stream().toList();
}
}