Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,8 @@
@DefaultQualifier(NonNull.class)
public abstract class CarbonCommand {

private static final String[] emptyAliases = new String[] {};

private @Nullable CommandSettings commandSettings = null;

public CommandSettings commandSettings() {
Expand All @@ -38,7 +40,23 @@ public void commandSettings(final @NonNull CommandSettings commandSettings) {
this.commandSettings = commandSettings;
}

public abstract void init();
// TODO: Separate this from init so it's always called (when init's overridden)?
public void init() {
if (this.commandSettings().alternateRegistration()) {
this.registerCommand(this.commandSettings().name(), emptyAliases);

for (final String alias : this.commandSettings().aliases()) {
this.registerCommand(alias, emptyAliases);
}
} else {
this.registerCommand(this.commandSettings().name(), this.commandSettings().aliases());
}

}

public void registerCommand(final String commandName, final String[] aliases) {

}

public abstract CommandSettings defaultCommandSettings();

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,27 +25,33 @@
public class CommandSettings {

private boolean enabled = true;
private boolean alternateRegistration = false;
private String name = "";
private String[] aliases = new String[0];

public CommandSettings() {

}

public CommandSettings(final boolean enabled, final String name, final String... aliases) {
public CommandSettings(final boolean enabled, final boolean alternateRegistration, final String name, final String... aliases) {
this.enabled = enabled;
this.alternateRegistration = alternateRegistration;
this.name = name;
this.aliases = aliases;
}

public CommandSettings(final String name, final String... aliases) {
this(true, name, aliases);
this(true, false, name, aliases);
}

public boolean enabled() {
return this.enabled;
}

public boolean alternateRegistration() {
return this.alternateRegistration;
}

public String name() {
return this.name;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -67,8 +67,8 @@ public Key key() {
}

@Override
public void init() {
final var command = this.commandManager.commandBuilder(this.commandSettings().name(), this.commandSettings().aliases())
public void registerCommand(final String commandName, final String[] aliases) {
final var command = this.commandManager.commandBuilder(commandName, aliases)
.permission("carbon.clearchat.clear")
.commandDescription(richDescription(this.carbonMessages.commandClearChatDescription()))
.handler(handler -> {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -71,8 +71,8 @@ public Key key() {
}

@Override
public void init() {
final var command = this.commandManager.commandBuilder(this.commandSettings().name(), this.commandSettings().aliases())
public void registerCommand(final String commandName, final String[] aliases) {
final var command = this.commandManager.commandBuilder(commandName, aliases)
.required("message", signedGreedyStringParser(), richDescription(this.messages.commandContinueArgumentMessage()))
.permission("carbon.whisper.continue")
.senderType(PlayerCommander.class)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -67,8 +67,8 @@ public Key key() {
}

@Override
public void init() {
final var command = this.commandManager.commandBuilder(this.commandSettings().name(), this.commandSettings().aliases())
public void registerCommand(final String commandName, final String[] aliases) {
final var command = this.commandManager.commandBuilder(commandName, aliases)
.optional("player", this.parserFactory.carbonPlayer(),
richDescription(this.carbonMessages.commandDebugArgumentPlayer()))
.permission("carbon.debug")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -79,8 +79,8 @@ public Key key() {
}

@Override
public void init() {
final var command = this.commandManager.commandBuilder(this.commandSettings().name(), this.commandSettings().aliases())
public void registerCommand(final String commandName, final String[] aliases) {
final var command = this.commandManager.commandBuilder(commandName, aliases)
.literal("help")
.optional("query", greedyStringParser(), richDescription(this.carbonMessages.commandHelpArgumentQuery()), this::suggestQueries)
.permission("carbon.help")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -68,8 +68,8 @@ public Key key() {
}

@Override
public void init() {
final var command = this.commandManager.commandBuilder(this.commandSettings().name(), this.commandSettings().aliases())
public void registerCommand(final String commandName, final String[] aliases) {
final var command = this.commandManager.commandBuilder(commandName, aliases)
.optional("player", this.parserFactory.carbonPlayer(), richDescription(this.carbonMessages.commandIgnoreArgumentPlayer()))
.flag(this.commandManager.flagBuilder("uuid")
.withAliases("u")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -72,8 +72,8 @@ public Key key() {
}

@Override
public void init() {
final var command = this.commandManager.commandBuilder(this.commandSettings().name(), this.commandSettings().aliases())
public void registerCommand(final String commandName, final String[] aliases) {
final var command = this.commandManager.commandBuilder(commandName, aliases)
.permission("carbon.ignore")
.senderType(PlayerCommander.class)
.optional("page", integerParser(1), DefaultValue.constant(1))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -70,8 +70,8 @@ public Key key() {
}

@Override
public void init() {
final var command = this.commandManager.commandBuilder(this.commandSettings().name(), this.commandSettings().aliases())
public void registerCommand(final String commandName, final String[] aliases) {
final var command = this.commandManager.commandBuilder(commandName, aliases)
.required("channel", greedyStringParser(), SuggestionProvider.blocking((context, s) -> {
final CarbonPlayer sender = ((PlayerCommander) context.sender()).carbonPlayer();
return sender.leftChannels().stream()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -69,8 +69,8 @@ public Key key() {
}

@Override
public void init() {
final var command = this.commandManager.commandBuilder(this.commandSettings().name(), this.commandSettings().aliases())
public void registerCommand(final String commandName, final String[] aliases) {
final var command = this.commandManager.commandBuilder(commandName, aliases)
.required("channel", greedyStringParser(), SuggestionProvider.blocking((context, s) -> {
final CarbonPlayer sender = ((PlayerCommander) context.sender()).carbonPlayer();
return this.channelRegistry.keys().stream()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -77,8 +77,8 @@ public Key key() {
}

@Override
public void init() {
final var command = this.commandManager.commandBuilder(this.commandSettings().name(), this.commandSettings().aliases())
public void registerCommand(final String commandName, final String[] aliases) {
final var command = this.commandManager.commandBuilder(commandName, aliases)
.optional("player", this.parserFactory.carbonPlayer(),
richDescription(this.carbonMessages.commandMuteArgumentPlayer()))
.flag(this.commandManager.flagBuilder("uuid")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -68,8 +68,8 @@ public Key key() {
}

@Override
public void init() {
final var command = this.commandManager.commandBuilder(this.commandSettings().name(), this.commandSettings().aliases())
public void registerCommand(final String commandName, final String[] aliases) {
final var command = this.commandManager.commandBuilder(commandName, aliases)
.optional("player", this.parserFactory.carbonPlayer(), richDescription(this.carbonMessages.commandMuteInfoArgumentPlayer()))
.flag(this.commandManager.flagBuilder("uuid")
.withAliases("u")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -73,13 +73,13 @@ public Key key() {
}

@Override
public void init() {
public void registerCommand(final String commandName, final String[] aliases) {
if (!this.config.primaryConfig().nickname().useCarbonNicknames()) {
return;
}

// TODO: Allow UUID input for target player
final var selfRoot = this.commandManager.commandBuilder(this.commandSettings().name(), this.commandSettings().aliases());
final var selfRoot = this.commandManager.commandBuilder(commandName, aliases);
final var othersRoot = selfRoot.literal("player")
.required("player", this.parserFactory.carbonPlayer(), richDescription(this.carbonMessages.commandNicknameArgumentPlayer()));

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -89,12 +89,12 @@ public PartyCommands(
}

@Override
public void init() {
public void registerCommand(final String commandName, final String[] aliases) {
if (!this.config.primaryConfig().partyChat().enabled) {
return;
}

final var root = this.commandManager.commandBuilder(this.commandSettings().name(), this.commandSettings().aliases())
final var root = this.commandManager.commandBuilder(commandName, aliases)
.senderType(PlayerCommander.class)
.permission("carbon.parties");
final var info = root.commandDescription(richDescription(this.messages.partyDesc())).handler(this::info);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -62,8 +62,8 @@ public Key key() {
}

@Override
public void init() {
final var command = this.commandManager.commandBuilder(this.commandSettings().name(), this.commandSettings().aliases())
public void registerCommand(final String commandName, final String[] aliases) {
final var command = this.commandManager.commandBuilder(commandName, aliases)
.literal("reload")
.permission("carbon.reload")
.senderType(Commander.class)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -71,8 +71,8 @@ public Key key() {
}

@Override
public void init() {
final var command = this.commandManager.commandBuilder(this.commandSettings().name(), this.commandSettings().aliases())
public void registerCommand(final String commandName, final String[] aliases) {
final var command = this.commandManager.commandBuilder(commandName, aliases)
.required("message", signedGreedyStringParser(), richDescription(this.messages.commandReplyArgumentMessage()))
.permission("carbon.whisper.reply")
.senderType(PlayerCommander.class)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -60,8 +60,8 @@ public Key key() {
}

@Override
public void init() {
final var command = this.commandManager.commandBuilder(this.commandSettings().name(), this.commandSettings().aliases())
public void registerCommand(final String commandName, final String[] aliases) {
final var command = this.commandManager.commandBuilder(commandName, aliases)
.optional("enabled", booleanParser())
.permission("carbon.spy")
.senderType(PlayerCommander.class)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -56,8 +56,8 @@ public Key key() {
}

@Override
public void init() {
final var command = this.commandManager.commandBuilder(this.commandSettings().name(), this.commandSettings().aliases())
public void registerCommand(final String commandName, final String[] aliases) {
final var command = this.commandManager.commandBuilder(commandName, aliases)
.permission("carbon.togglemsg")
.senderType(PlayerCommander.class)
.commandDescription(richDescription(this.carbonMessages.commandToggleMsgDescription()))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -68,8 +68,8 @@ public Key key() {
}

@Override
public void init() {
final var command = this.commandManager.commandBuilder(this.commandSettings().name(), this.commandSettings().aliases())
public void registerCommand(final String commandName, final String[] aliases) {
final var command = this.commandManager.commandBuilder(commandName, aliases)
// TODO: Filter, and only show muted players, but allow inputting any player name.
.optional("player", this.parserFactory.carbonPlayer(),
richDescription(this.carbonMessages.commandUnignoreArgumentPlayer()))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -71,8 +71,8 @@ public Key key() {
}

@Override
public void init() {
final var command = this.commandManager.commandBuilder(this.commandSettings().name(), this.commandSettings().aliases())
public void registerCommand(final String commandName, final String[] aliases) {
final var command = this.commandManager.commandBuilder(commandName, aliases)
.optional("player", this.parserFactory.carbonPlayer(),
richDescription(this.carbonMessages.commandUnmuteArgumentPlayer()))
.flag(this.commandManager.flagBuilder("uuid")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -75,8 +75,8 @@ public Key key() {
}

@Override
public void init() {
final var command = this.commandManager.commandBuilder(this.commandSettings().name(), this.commandSettings().aliases())
public void registerCommand(final String commandName, final String[] aliases) {
final var command = this.commandManager.commandBuilder(commandName, aliases)
.optional("player", this.parserFactory.carbonPlayer(),
richDescription(this.messageService.commandUpdateUsernameArgumentPlayer()))
.flag(this.commandManager.flagBuilder("uuid")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -88,8 +88,8 @@ public Key key() {
}

@Override
public void init() {
final var command = this.commandManager.commandBuilder(this.commandSettings().name(), this.commandSettings().aliases())
public void registerCommand(final String commandName, final String[] aliases) {
final var command = this.commandManager.commandBuilder(commandName, aliases)
.required("player", this.parserFactory.carbonPlayer(), richDescription(this.carbonMessages.commandWhisperArgumentPlayer()))
.required("message", signedGreedyStringParser(), richDescription(this.carbonMessages.commandWhisperArgumentMessage()))
.permission("carbon.whisper.message")
Expand Down
Loading