mirror of
https://github.com/PolyhedralDev/Terra.git
synced 2026-06-17 22:31:52 +00:00
fix command NPEs on invalid IDs
This commit is contained in:
@@ -48,6 +48,7 @@ public class TerraCommandManager implements CommandManager {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void execute(String commandName, CommandSender sender, List<String> argsIn) throws CommandException {
|
public void execute(String commandName, CommandSender sender, List<String> argsIn) throws CommandException {
|
||||||
|
if(!commands.containsKey(commandName)) throw new InvalidArgumentsException("No such command \"" + commandName + "\"");
|
||||||
execute(commands.get(commandName), sender, new ArrayList<>(argsIn));
|
execute(commands.get(commandName), sender, new ArrayList<>(argsIn));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -190,6 +191,7 @@ public class TerraCommandManager implements CommandManager {
|
|||||||
@Override
|
@Override
|
||||||
public List<String> tabComplete(String command, CommandSender sender, List<String> args) throws CommandException {
|
public List<String> tabComplete(String command, CommandSender sender, List<String> args) throws CommandException {
|
||||||
if(args.isEmpty()) return new ArrayList<>(commands.keySet()).stream().sorted(String::compareTo).collect(Collectors.toList());
|
if(args.isEmpty()) return new ArrayList<>(commands.keySet()).stream().sorted(String::compareTo).collect(Collectors.toList());
|
||||||
|
if(!commands.containsKey(command)) return Collections.emptyList();
|
||||||
return tabComplete(commands.get(command), sender, new ArrayList<>(args)).stream().filter(s -> s.toLowerCase().startsWith(args.get(args.size() - 1).toLowerCase())).sorted(String::compareTo).collect(Collectors.toList());
|
return tabComplete(commands.get(command), sender, new ArrayList<>(args)).stream().filter(s -> s.toLowerCase().startsWith(args.get(args.size() - 1).toLowerCase())).sorted(String::compareTo).collect(Collectors.toList());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user