diff --git a/jda/src/main/java/co/aikar/commands/JDACommandManager.java b/jda/src/main/java/co/aikar/commands/JDACommandManager.java index 5366ba5f..472f052b 100644 --- a/jda/src/main/java/co/aikar/commands/JDACommandManager.java +++ b/jda/src/main/java/co/aikar/commands/JDACommandManager.java @@ -39,15 +39,18 @@ public class JDACommandManager extends CommandManager< protected Map commands = Maps.newHashMap(); public JDACommandManager(JDA jda) { - this(jda, null, null, null); + this(jda, null); } - public JDACommandManager(JDA jda, CommandConfig defaultConfig, CommandConfigProvider configProvider, CommandPermissionResolver permissionResolver) { + public JDACommandManager(JDA jda, JDAOptions options) { + if (options == null) { + options = new JDAOptions(); + } this.jda = jda; - this.permissionResolver = permissionResolver; + this.permissionResolver = options.permissionResolver; jda.addEventListener(new JDAListener(this)); - this.defaultConfig = defaultConfig == null ? new JDACommandConfig() : defaultConfig; - this.configProvider = configProvider; + this.defaultConfig = options.defaultConfig == null ? new JDACommandConfig() : options.defaultConfig; + this.configProvider = options.configProvider; this.completions = new JDACommandCompletions(this); this.logger = Logger.getLogger(this.getClass().getSimpleName()); @@ -93,8 +96,8 @@ public class JDACommandManager extends CommandManager< } - public static JDACommandManagerBuilder builder(JDA jda) { - return new JDACommandManagerBuilder(jda); + public static JDAOptions options() { + return new JDAOptions(); } public JDA getJDA() { diff --git a/jda/src/main/java/co/aikar/commands/JDACommandManagerBuilder.java b/jda/src/main/java/co/aikar/commands/JDACommandManagerBuilder.java deleted file mode 100644 index 30d97faf..00000000 --- a/jda/src/main/java/co/aikar/commands/JDACommandManagerBuilder.java +++ /dev/null @@ -1,34 +0,0 @@ -package co.aikar.commands; - -import net.dv8tion.jda.core.JDA; -import org.jetbrains.annotations.NotNull; - -public class JDACommandManagerBuilder { - private JDA jda; - private CommandConfig defaultConfig = null; - private CommandConfigProvider configProvider = null; - private CommandPermissionResolver permissionResolver = null; - - public JDACommandManagerBuilder(JDA jda) { - this.jda = jda; - } - - public JDACommandManagerBuilder defaultConfig(@NotNull CommandConfig defaultConfig) { - this.defaultConfig = defaultConfig; - return this; - } - - public JDACommandManagerBuilder configProvider(@NotNull CommandConfigProvider configProvider) { - this.configProvider = configProvider; - return this; - } - - public JDACommandManagerBuilder permissionResolver(@NotNull CommandPermissionResolver permissionResolver) { - this.permissionResolver = permissionResolver; - return this; - } - - public JDACommandManager create() { - return new JDACommandManager(jda, defaultConfig, configProvider, permissionResolver); - } -} diff --git a/jda/src/main/java/co/aikar/commands/JDAOptions.java b/jda/src/main/java/co/aikar/commands/JDAOptions.java new file mode 100644 index 00000000..c54a0d45 --- /dev/null +++ b/jda/src/main/java/co/aikar/commands/JDAOptions.java @@ -0,0 +1,31 @@ +package co.aikar.commands; + +import net.dv8tion.jda.core.JDA; +import org.jetbrains.annotations.NotNull; + +public class JDAOptions { + CommandConfig defaultConfig = new JDACommandConfig(); + CommandConfigProvider configProvider = null; + CommandPermissionResolver permissionResolver = null; + + public JDAOptions() {} + + public JDAOptions defaultConfig(@NotNull CommandConfig defaultConfig) { + this.defaultConfig = defaultConfig; + return this; + } + + public JDAOptions configProvider(@NotNull CommandConfigProvider configProvider) { + this.configProvider = configProvider; + return this; + } + + public JDAOptions permissionResolver(@NotNull CommandPermissionResolver permissionResolver) { + this.permissionResolver = permissionResolver; + return this; + } + + public JDACommandManager create(JDA jda) { + return new JDACommandManager(jda, this); + } +}