From d43f269c22b0a1696928b7d4f06f1cbbc425dd9c Mon Sep 17 00:00:00 2001 From: Teriuihi Date: Fri, 4 Oct 2024 21:19:53 +0200 Subject: [PATCH] Fix NPE in key configuration, fixed tab completion Added missing key mapping to prevent NullPointerException when no UUIDs are present in KeyStorage. Also adjusted tab completion logic in Key.java to handle cases with more than one argument. --- .../playerutils/commands/playerutils_subcommands/Key.java | 3 +++ src/main/java/com/alttd/playerutils/config/KeyStorage.java | 1 + 2 files changed, 4 insertions(+) diff --git a/src/main/java/com/alttd/playerutils/commands/playerutils_subcommands/Key.java b/src/main/java/com/alttd/playerutils/commands/playerutils_subcommands/Key.java index 2214cdd..308f5ef 100644 --- a/src/main/java/com/alttd/playerutils/commands/playerutils_subcommands/Key.java +++ b/src/main/java/com/alttd/playerutils/commands/playerutils_subcommands/Key.java @@ -74,6 +74,9 @@ public class Key extends SubCommand { @Override public List getTabComplete(CommandSender commandSender, String[] args) { + if (args.length > 1) { + return List.of(); + } return Config.KEY.CRATES.keySet().stream().toList(); } diff --git a/src/main/java/com/alttd/playerutils/config/KeyStorage.java b/src/main/java/com/alttd/playerutils/config/KeyStorage.java index cec736f..4190b67 100644 --- a/src/main/java/com/alttd/playerutils/config/KeyStorage.java +++ b/src/main/java/com/alttd/playerutils/config/KeyStorage.java @@ -49,6 +49,7 @@ public class KeyStorage extends AbstractConfig { List uuids = configurationSection.getKeys(false).stream().map(UUID::fromString).toList(); if (uuids.isEmpty()) { config.logger.info(String.format("No keys yet for crate %s", crate)); + KEYS.put(crate, count); continue; } for (UUID uuid : uuids) {