diff --git a/core/src/main/java/org/geysermc/geyser/command/CommandRegistry.java b/core/src/main/java/org/geysermc/geyser/command/CommandRegistry.java index 9d1d027a0..8e233a66a 100644 --- a/core/src/main/java/org/geysermc/geyser/command/CommandRegistry.java +++ b/core/src/main/java/org/geysermc/geyser/command/CommandRegistry.java @@ -59,6 +59,8 @@ import java.util.Collection; import java.util.HashMap; import java.util.Map; +import static org.geysermc.geyser.command.GeyserCommand.DEFAULT_ROOT_COMMAND; + /** * Registers all built-in and extension commands to the given Cloud CommandManager. *

@@ -78,12 +80,12 @@ public class CommandRegistry implements EventRegistrar { /** * Map of Geyser subcommands to their Commands */ - private final Map commands = new Object2ObjectOpenHashMap<>(13); + private final Map commands = new Object2ObjectOpenHashMap<>(13); /** * Map of Extensions to maps of their subcommands */ - private final Map> extensionCommands = new Object2ObjectOpenHashMap<>(0); + private final Map> extensionCommands = new Object2ObjectOpenHashMap<>(0); /** * Map of root commands (that are for extensions) to Extensions @@ -103,17 +105,17 @@ public class CommandRegistry implements EventRegistrar { ExceptionHandlers.register(cloud); // begin command registration - HelpCommand help = new HelpCommand(geyser, "help", "geyser.commands.help.desc", "geyser.command.help", GeyserCommand.DEFAULT_ROOT_COMMAND, this.commands); + HelpCommand help = new HelpCommand(DEFAULT_ROOT_COMMAND, "help", "geyser.commands.help.desc", "geyser.command.help", this.commands); registerBuiltInCommand(help); buildRootCommand(GEYSER_ROOT_PERMISSION, help); // build root and delegate to help registerBuiltInCommand(new ListCommand(geyser, "list", "geyser.commands.list.desc", "geyser.command.list")); registerBuiltInCommand(new ReloadCommand(geyser, "reload", "geyser.commands.reload.desc", "geyser.command.reload")); - registerBuiltInCommand(new OffhandCommand(geyser, "offhand", "geyser.commands.offhand.desc", "geyser.command.offhand")); + registerBuiltInCommand(new OffhandCommand("offhand", "geyser.commands.offhand.desc", "geyser.command.offhand")); registerBuiltInCommand(new DumpCommand(geyser, "dump", "geyser.commands.dump.desc", "geyser.command.dump")); registerBuiltInCommand(new VersionCommand(geyser, "version", "geyser.commands.version.desc", "geyser.command.version")); - registerBuiltInCommand(new SettingsCommand(geyser, "settings", "geyser.commands.settings.desc", "geyser.command.settings")); - registerBuiltInCommand(new StatisticsCommand(geyser, "statistics", "geyser.commands.statistics.desc", "geyser.command.statistics")); + registerBuiltInCommand(new SettingsCommand( "settings", "geyser.commands.settings.desc", "geyser.command.settings")); + registerBuiltInCommand(new StatisticsCommand("statistics", "geyser.commands.statistics.desc", "geyser.command.statistics")); registerBuiltInCommand(new AdvancementsCommand("advancements", "geyser.commands.advancements.desc", "geyser.command.advancements")); registerBuiltInCommand(new AdvancedTooltipsCommand("tooltips", "geyser.commands.advancedtooltips.desc", "geyser.command.tooltips")); registerBuiltInCommand(new ConnectionTestCommand(geyser, "connectiontest", "geyser.commands.connectiontest.desc", "geyser.command.connectiontest")); @@ -138,7 +140,7 @@ public class CommandRegistry implements EventRegistrar { }; this.geyser.eventBus().fire(defineCommandsEvent); - for (Map.Entry> entry : this.extensionCommands.entrySet()) { + for (Map.Entry> entry : this.extensionCommands.entrySet()) { Extension extension = entry.getKey(); // Register this extension's root command @@ -147,11 +149,10 @@ public class CommandRegistry implements EventRegistrar { // Register help commands for all extensions with commands String id = extension.description().id(); HelpCommand extensionHelp = new HelpCommand( - this.geyser, + extension.rootCommand(), "help", "geyser.commands.exthelp.desc", "geyser.command.exthelp." + id, - extension.rootCommand(), entry.getValue()); // commands it provides help for registerExtensionCommand(extension, extensionHelp); @@ -181,7 +182,7 @@ public class CommandRegistry implements EventRegistrar { register(command, this.extensionCommands.computeIfAbsent(extension, e -> new HashMap<>())); } - private void register(GeyserCommand command, Map commands) { + private void register(GeyserCommand command, Map commands) { command.register(cloud); commands.put(command.name(), command); @@ -252,7 +253,7 @@ public class CommandRegistry implements EventRegistrar { */ @NonNull public String description(@NonNull String command, @NonNull String locale) { - if (command.equals(GeyserCommand.DEFAULT_ROOT_COMMAND)) { + if (command.equals(DEFAULT_ROOT_COMMAND)) { return GeyserLocale.getPlayerLocaleString("geyser.command.root.geyser", locale); } diff --git a/core/src/main/java/org/geysermc/geyser/command/defaults/HelpCommand.java b/core/src/main/java/org/geysermc/geyser/command/defaults/HelpCommand.java index c5adb50fb..af945a52c 100644 --- a/core/src/main/java/org/geysermc/geyser/command/defaults/HelpCommand.java +++ b/core/src/main/java/org/geysermc/geyser/command/defaults/HelpCommand.java @@ -25,7 +25,6 @@ package org.geysermc.geyser.command.defaults; -import org.geysermc.geyser.GeyserImpl; import org.geysermc.geyser.api.command.Command; import org.geysermc.geyser.api.util.TriState; import org.geysermc.geyser.command.GeyserCommand; @@ -41,10 +40,9 @@ import java.util.Map; public class HelpCommand extends GeyserCommand { private final String rootCommand; - private final Collection commands; + private final Collection commands; - public HelpCommand(GeyserImpl geyser, String name, String description, String permission, - String rootCommand, Map commands) { + public HelpCommand(String rootCommand, String name, String description, String permission, Map commands) { super(name, description, permission, TriState.TRUE); this.rootCommand = rootCommand; this.commands = commands.values(); @@ -67,7 +65,7 @@ public class HelpCommand extends GeyserCommand { // todo: pagination int page = 1; int maxPage = 1; - String translationKey = this.rootCommand.equals(GeyserCommand.DEFAULT_ROOT_COMMAND) ? "geyser.commands.help.header" : "geyser.commands.extensions.header"; + String translationKey = this.rootCommand.equals(DEFAULT_ROOT_COMMAND) ? "geyser.commands.help.header" : "geyser.commands.extensions.header"; String header = GeyserLocale.getPlayerLocaleString(translationKey, source.locale(), page, maxPage); source.sendMessage(header); @@ -76,7 +74,7 @@ public class HelpCommand extends GeyserCommand { .filter(cmd -> !cmd.isBedrockOnly() || bedrockPlayer) // remove bedrock only commands if not a bedrock player .filter(cmd -> source.hasPermission(cmd.permission())) .sorted(Comparator.comparing(Command::name)) - .forEach(cmd -> { + .forEachOrdered(cmd -> { String description = GeyserLocale.getPlayerLocaleString(cmd.description(), source.locale()); source.sendMessage(ChatColor.YELLOW + "/" + rootCommand + " " + cmd.name() + ChatColor.WHITE + ": " + description); }); diff --git a/core/src/main/java/org/geysermc/geyser/command/defaults/OffhandCommand.java b/core/src/main/java/org/geysermc/geyser/command/defaults/OffhandCommand.java index cb4e36db6..5f9061618 100644 --- a/core/src/main/java/org/geysermc/geyser/command/defaults/OffhandCommand.java +++ b/core/src/main/java/org/geysermc/geyser/command/defaults/OffhandCommand.java @@ -25,7 +25,6 @@ package org.geysermc.geyser.command.defaults; -import org.geysermc.geyser.GeyserImpl; import org.geysermc.geyser.api.util.TriState; import org.geysermc.geyser.command.GeyserCommand; import org.geysermc.geyser.command.GeyserCommandSource; @@ -36,7 +35,7 @@ import java.util.Objects; public class OffhandCommand extends GeyserCommand { - public OffhandCommand(GeyserImpl geyser, String name, String description, String permission) { + public OffhandCommand(String name, String description, String permission) { super(name, description, permission, TriState.TRUE, true, true); } diff --git a/core/src/main/java/org/geysermc/geyser/command/defaults/SettingsCommand.java b/core/src/main/java/org/geysermc/geyser/command/defaults/SettingsCommand.java index 915354cba..a5734a69f 100644 --- a/core/src/main/java/org/geysermc/geyser/command/defaults/SettingsCommand.java +++ b/core/src/main/java/org/geysermc/geyser/command/defaults/SettingsCommand.java @@ -25,7 +25,6 @@ package org.geysermc.geyser.command.defaults; -import org.geysermc.geyser.GeyserImpl; import org.geysermc.geyser.api.util.TriState; import org.geysermc.geyser.command.GeyserCommand; import org.geysermc.geyser.command.GeyserCommandSource; @@ -37,7 +36,7 @@ import java.util.Objects; public class SettingsCommand extends GeyserCommand { - public SettingsCommand(GeyserImpl geyser, String name, String description, String permission) { + public SettingsCommand(String name, String description, String permission) { super(name, description, permission, TriState.TRUE, true, true); } diff --git a/core/src/main/java/org/geysermc/geyser/command/defaults/StatisticsCommand.java b/core/src/main/java/org/geysermc/geyser/command/defaults/StatisticsCommand.java index d4103ed7c..eebb9170c 100644 --- a/core/src/main/java/org/geysermc/geyser/command/defaults/StatisticsCommand.java +++ b/core/src/main/java/org/geysermc/geyser/command/defaults/StatisticsCommand.java @@ -25,7 +25,6 @@ package org.geysermc.geyser.command.defaults; -import org.geysermc.geyser.GeyserImpl; import org.geysermc.geyser.api.util.TriState; import org.geysermc.geyser.command.GeyserCommand; import org.geysermc.geyser.command.GeyserCommandSource; @@ -38,7 +37,7 @@ import java.util.Objects; public class StatisticsCommand extends GeyserCommand { - public StatisticsCommand(GeyserImpl geyser, String name, String description, String permission) { + public StatisticsCommand(String name, String description, String permission) { super(name, description, permission, TriState.TRUE, true, true); } diff --git a/core/src/main/java/org/geysermc/geyser/event/type/GeyserDefineCommandsEventImpl.java b/core/src/main/java/org/geysermc/geyser/event/type/GeyserDefineCommandsEventImpl.java index bf85ed3be..4a6efbbd4 100644 --- a/core/src/main/java/org/geysermc/geyser/event/type/GeyserDefineCommandsEventImpl.java +++ b/core/src/main/java/org/geysermc/geyser/event/type/GeyserDefineCommandsEventImpl.java @@ -35,7 +35,7 @@ import java.util.Map; public abstract class GeyserDefineCommandsEventImpl implements GeyserDefineCommandsEvent { private final Map commands; - public GeyserDefineCommandsEventImpl(Map commands) { + public GeyserDefineCommandsEventImpl(Map commands) { this.commands = Collections.unmodifiableMap(commands); }