mirror of
https://github.com/plan-player-analytics/Plan.git
synced 2025-02-06 15:31:22 +01:00
Lang implemented for CommandWithSubcommands
This commit is contained in:
parent
077a150498
commit
c3250892d8
@ -96,7 +96,7 @@ public class PlanCommand {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public CommandWithSubcommands build() {
|
public CommandWithSubcommands build() {
|
||||||
CommandWithSubcommands command = CommandWithSubcommands.builder()
|
CommandWithSubcommands command = CommandWithSubcommands.builder(locale)
|
||||||
.alias(commandName)
|
.alias(commandName)
|
||||||
.colorScheme(colors)
|
.colorScheme(colors)
|
||||||
.subcommand(serverCommand())
|
.subcommand(serverCommand())
|
||||||
@ -298,7 +298,7 @@ public class PlanCommand {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private Subcommand databaseCommand() {
|
private Subcommand databaseCommand() {
|
||||||
return CommandWithSubcommands.builder()
|
return CommandWithSubcommands.builder(locale)
|
||||||
.aliases("db", "database")
|
.aliases("db", "database")
|
||||||
.optionalArgument(locale.getString(HelpLang.ARG_SUBCOMMAND), locale.getString(HelpLang.DESC_ARG_SUBCOMMAND))
|
.optionalArgument(locale.getString(HelpLang.ARG_SUBCOMMAND), locale.getString(HelpLang.DESC_ARG_SUBCOMMAND))
|
||||||
.colorScheme(colors)
|
.colorScheme(colors)
|
||||||
|
@ -16,6 +16,8 @@
|
|||||||
*/
|
*/
|
||||||
package com.djrapitops.plan.commands.use;
|
package com.djrapitops.plan.commands.use;
|
||||||
|
|
||||||
|
import com.djrapitops.plan.settings.locale.Locale;
|
||||||
|
import com.djrapitops.plan.settings.locale.lang.CommandLang;
|
||||||
import com.djrapitops.plan.utilities.java.TriConsumer;
|
import com.djrapitops.plan.utilities.java.TriConsumer;
|
||||||
import com.djrapitops.plugin.command.ColorScheme;
|
import com.djrapitops.plugin.command.ColorScheme;
|
||||||
|
|
||||||
@ -34,28 +36,31 @@ public class CommandWithSubcommands extends Subcommand {
|
|||||||
private TriConsumer<RuntimeException, CMDSender, Arguments> exceptionHandler;
|
private TriConsumer<RuntimeException, CMDSender, Arguments> exceptionHandler;
|
||||||
private ColorScheme colors;
|
private ColorScheme colors;
|
||||||
|
|
||||||
private CommandWithSubcommands() {
|
private final Locale locale;
|
||||||
|
|
||||||
|
private CommandWithSubcommands(Locale locale) {
|
||||||
|
this.locale = locale;
|
||||||
subcommands = new ArrayList<>();
|
subcommands = new ArrayList<>();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static Builder builder() {
|
public static Builder builder(Locale locale) {
|
||||||
return new Builder();
|
return new Builder(locale);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void onHelp(CMDSender sender, Arguments arguments) {
|
public void onHelp(CMDSender sender, Arguments arguments) {
|
||||||
List<Subcommand> hasPermissionFor = subcommands.stream().filter(sender::hasAllPermissionsFor).collect(Collectors.toList());
|
List<Subcommand> hasPermissionFor = subcommands.stream().filter(sender::hasAllPermissionsFor).collect(Collectors.toList());
|
||||||
sender.buildMessage()
|
sender.buildMessage()
|
||||||
.addPart("Header" /*TODO*/)
|
.addPart(locale.getString(CommandLang.HEADER_HELP, getPrimaryAlias()))
|
||||||
.newLine().newLine()
|
.newLine().newLine()
|
||||||
.apply(new HelpFormatter(sender, colors, getPrimaryAlias(), hasPermissionFor)::addSubcommands)
|
.apply(new HelpFormatter(sender, colors, getPrimaryAlias(), hasPermissionFor)::addSubcommands)
|
||||||
.newLine().newLine()
|
.newLine().newLine()
|
||||||
.addPart("Footer" /*TODO*/)
|
.addPart(locale.getString(CommandLang.FOOTER_HELP))
|
||||||
.send();
|
.send();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void onCommand(CMDSender sender, Arguments arguments) {
|
public void onCommand(CMDSender sender, Arguments arguments) {
|
||||||
if (sender.isMissingPermissionsFor(this)) {
|
if (sender.isMissingPermissionsFor(this)) {
|
||||||
sender.send(/* TODO */"NO PERMISSION");
|
sender.send(locale.getString(CommandLang.FAIL_NO_PERMISSION) + " " + getRequiredPermissions());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
@ -75,7 +80,7 @@ public class CommandWithSubcommands extends Subcommand {
|
|||||||
for (Subcommand subcommand : subcommands) {
|
for (Subcommand subcommand : subcommands) {
|
||||||
if (subcommand.getAliases().contains(alias)) {
|
if (subcommand.getAliases().contains(alias)) {
|
||||||
if (sender.isMissingPermissionsFor(subcommand)) {
|
if (sender.isMissingPermissionsFor(subcommand)) {
|
||||||
sender.send(/* TODO */"NO PERMISSION");
|
sender.send(locale.getString(CommandLang.FAIL_NO_PERMISSION) + " " + subcommand.getRequiredPermissions());
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
subcommand.getExecutor().accept(sender, arguments.removeFirst());
|
subcommand.getExecutor().accept(sender, arguments.removeFirst());
|
||||||
@ -114,8 +119,8 @@ public class CommandWithSubcommands extends Subcommand {
|
|||||||
public static class Builder extends Subcommand.Builder<Builder> {
|
public static class Builder extends Subcommand.Builder<Builder> {
|
||||||
private final CommandWithSubcommands command;
|
private final CommandWithSubcommands command;
|
||||||
|
|
||||||
private Builder() {
|
private Builder(Locale locale) {
|
||||||
this(new CommandWithSubcommands());
|
this(new CommandWithSubcommands(locale));
|
||||||
}
|
}
|
||||||
|
|
||||||
private Builder(CommandWithSubcommands command) {
|
private Builder(CommandWithSubcommands command) {
|
||||||
|
@ -71,6 +71,8 @@ public enum CommandLang implements Lang {
|
|||||||
LINK_JSON("Cmd - Link Player JSON", "Player json: "),
|
LINK_JSON("Cmd - Link Player JSON", "Player json: "),
|
||||||
LINK_REGISTER("Cmd - Link Register", "Register page: "),
|
LINK_REGISTER("Cmd - Link Register", "Register page: "),
|
||||||
|
|
||||||
|
HEADER_HELP("Cmd Header - Help", "> §2/${0} Help"),
|
||||||
|
FOOTER_HELP("Cmd Footer - Help", "> §7Hover over command or arguments to learn more about them."),
|
||||||
HEADER_SEARCH("Cmd Header - Search", "> §2${0} Results for §f${1}§2:"),
|
HEADER_SEARCH("Cmd Header - Search", "> §2${0} Results for §f${1}§2:"),
|
||||||
HEADER_ANALYSIS("Cmd Header - Analysis", "> §2Analysis Results"),
|
HEADER_ANALYSIS("Cmd Header - Analysis", "> §2Analysis Results"),
|
||||||
HEADER_INFO("Cmd Header - Info", "> §2Player Analytics"),
|
HEADER_INFO("Cmd Header - Info", "> §2Player Analytics"),
|
||||||
|
Loading…
Reference in New Issue
Block a user