Allow customisation of flag group prefix used

This commit is contained in:
Ben Woo 2024-12-11 19:47:56 +08:00
parent 8e64b18102
commit 63b6ab225f
2 changed files with 10 additions and 2 deletions

View File

@ -8,6 +8,6 @@ import org.mvplugins.multiverse.core.commandtools.MultiverseCommand;
@Contract @Contract
public abstract class CoreCommand extends MultiverseCommand { public abstract class CoreCommand extends MultiverseCommand {
protected CoreCommand(@NotNull MVCommandManager commandManager) { protected CoreCommand(@NotNull MVCommandManager commandManager) {
super(commandManager); super(commandManager, "mv");
} }
} }

View File

@ -25,12 +25,20 @@ public abstract class MultiverseCommand extends BaseCommand {
* The flags manager for the above command manager. * The flags manager for the above command manager.
*/ */
protected final CommandFlagsManager flagsManager; protected final CommandFlagsManager flagsManager;
private final String flagGroupPrefix;
private String flagGroupName; private String flagGroupName;
private CommandFlagGroup.Builder flagGroupBuilder; private CommandFlagGroup.Builder flagGroupBuilder;
// todo: Remove after sub-modules are updated
@Deprecated
protected MultiverseCommand(@NotNull MVCommandManager commandManager) { protected MultiverseCommand(@NotNull MVCommandManager commandManager) {
this(commandManager, "mv");
}
protected MultiverseCommand(@NotNull MVCommandManager commandManager, @NotNull String flagGroupPrefix) {
this.commandManager = commandManager; this.commandManager = commandManager;
this.flagsManager = commandManager.getFlagsManager(); this.flagsManager = commandManager.getFlagsManager();
this.flagGroupPrefix = flagGroupPrefix;
} }
@PostConstruct @PostConstruct
@ -59,7 +67,7 @@ public abstract class MultiverseCommand extends BaseCommand {
*/ */
protected <T extends CommandFlag> T flag(T flag) { protected <T extends CommandFlag> T flag(T flag) {
if (flagGroupBuilder == null) { if (flagGroupBuilder == null) {
flagGroupBuilder = CommandFlagGroup.builder("mv" + getClass().getSimpleName().toLowerCase()); flagGroupBuilder = CommandFlagGroup.builder(flagGroupPrefix + getClass().getSimpleName().toLowerCase());
} }
flagGroupBuilder.add(flag); flagGroupBuilder.add(flag);
Logging.finest("Registered flag: " + flag); Logging.finest("Registered flag: " + flag);