diff --git a/bukkit/src/main/java/co/aikar/commands/BukkitCommandManager.java b/bukkit/src/main/java/co/aikar/commands/BukkitCommandManager.java index cab82955..f645f704 100644 --- a/bukkit/src/main/java/co/aikar/commands/BukkitCommandManager.java +++ b/bukkit/src/main/java/co/aikar/commands/BukkitCommandManager.java @@ -49,7 +49,7 @@ import java.util.logging.Level; import java.util.logging.Logger; @SuppressWarnings("WeakerAccess") -public class BukkitCommandManager extends CommandManager { +public class BukkitCommandManager extends CommandManager { @SuppressWarnings("WeakerAccess") protected final Plugin plugin; diff --git a/bungee/src/main/java/co/aikar/commands/BungeeCommandManager.java b/bungee/src/main/java/co/aikar/commands/BungeeCommandManager.java index 0a8b7a59..b3197d8d 100644 --- a/bungee/src/main/java/co/aikar/commands/BungeeCommandManager.java +++ b/bungee/src/main/java/co/aikar/commands/BungeeCommandManager.java @@ -38,7 +38,7 @@ import java.util.Map; import java.util.logging.Level; import java.util.logging.Logger; -public class BungeeCommandManager extends CommandManager { +public class BungeeCommandManager extends CommandManager { protected final Plugin plugin; protected Map registeredCommands = new HashMap<>(); diff --git a/core/src/main/java/co/aikar/commands/BaseCommand.java b/core/src/main/java/co/aikar/commands/BaseCommand.java index 01edac86..fff9d645 100644 --- a/core/src/main/java/co/aikar/commands/BaseCommand.java +++ b/core/src/main/java/co/aikar/commands/BaseCommand.java @@ -58,7 +58,7 @@ public abstract class BaseCommand { private String execSubcommand; @SuppressWarnings("WeakerAccess") private String[] origArgs; - CommandManager manager = null; + CommandManager manager = null; BaseCommand parentCommand; Map registeredCommands = new HashMap<>(); String description; diff --git a/core/src/main/java/co/aikar/commands/CommandManager.java b/core/src/main/java/co/aikar/commands/CommandManager.java index 633d3829..689a417c 100644 --- a/core/src/main/java/co/aikar/commands/CommandManager.java +++ b/core/src/main/java/co/aikar/commands/CommandManager.java @@ -23,7 +23,6 @@ package co.aikar.commands; -import co.aikar.locales.MessageKey; import co.aikar.locales.MessageKeyProvider; import com.google.common.collect.Sets; @@ -32,7 +31,7 @@ import java.lang.reflect.Parameter; import java.util.*; @SuppressWarnings("WeakerAccess") -public abstract class CommandManager { +public abstract class CommandManager > { /** * This is a stack incase a command calls a command @@ -42,20 +41,8 @@ public abstract class CommandManager { protected CommandReplacements replacements = new CommandReplacements(this); protected ExceptionHandler defaultExceptionHandler = null; protected Set supportedLanguages = Sets.newHashSet(Locale.ENGLISH); - protected Map formatters = new IdentityHashMap<>(); - protected MessageFormatter defaultFormatter; - { - MessageFormatter plain = new MessageFormatter() { - @Override - String format(Object color, String message) { - return message; - } - }; - defaultFormatter = plain; - formatters.put(MessageType.INFO, plain); - formatters.put(MessageType.SYNTAX, plain); - formatters.put(MessageType.ERROR, plain); - } + protected Map formatters = new IdentityHashMap<>(); + protected F defaultFormatter; public static CommandOperationContext getCurrentCommandOperationContext() { return commandOperationContext.get().peek(); @@ -93,6 +80,7 @@ public abstract class CommandManager { public abstract boolean hasRegisteredCommands(); public abstract boolean isCommandIssuer(Class type); + // TODO: Change this to I if we make a breaking change public abstract CommandIssuer getCommandIssuer(Object issuer); public abstract RootCommand createRootCommand(String cmd); @@ -166,13 +154,12 @@ public abstract class CommandManager { return result; } - public void sendMessage(Object issuerArg, MessageType type, MessageKeyProvider key, String... replacements) { - sendMessage(issuerArg, type, key.getMessageKey(), replacements); + public void sendMessage(I issuerArg, MessageType type, MessageKeyProvider key, String... replacements) { + sendMessage(getCommandIssuer(issuerArg), type, key, replacements); } - public void sendMessage(Object issuerArg, MessageType type, MessageKey key, String... replacements) { - CommandIssuer issuer = issuerArg instanceof CommandIssuer ? (CommandIssuer) issuerArg : getCommandIssuer(issuerArg); - String message = getLocales().getMessage(issuer, key); + public void sendMessage(CommandIssuer issuer, MessageType type, MessageKeyProvider key, String... replacements) { + String message = getLocales().getMessage(issuer, key.getMessageKey()); if (replacements.length > 0) { message = ACFUtil.replaceStrings(message, replacements); } diff --git a/core/src/main/java/co/aikar/commands/Locales.java b/core/src/main/java/co/aikar/commands/Locales.java index c698a524..bb987316 100644 --- a/core/src/main/java/co/aikar/commands/Locales.java +++ b/core/src/main/java/co/aikar/commands/Locales.java @@ -35,7 +35,7 @@ import java.util.Map; @SuppressWarnings("WeakerAccess") public class Locales { - private final CommandManager manager; + private final CommandManager manager; private final LocaleManager localeManager; private final SetMultimap loadedBundles = HashMultimap.create(); diff --git a/sponge/src/main/java/co/aikar/commands/SpongeCommandManager.java b/sponge/src/main/java/co/aikar/commands/SpongeCommandManager.java index f2f9de5d..90e95d37 100644 --- a/sponge/src/main/java/co/aikar/commands/SpongeCommandManager.java +++ b/sponge/src/main/java/co/aikar/commands/SpongeCommandManager.java @@ -40,7 +40,7 @@ import java.util.List; import java.util.Map; @SuppressWarnings("WeakerAccess") -public class SpongeCommandManager extends CommandManager { +public class SpongeCommandManager extends CommandManager { protected final PluginContainer plugin; protected Map registeredCommands = new HashMap<>();