diff --git a/bukkit/src/main/java/co/aikar/commands/BukkitCommandManager.java b/bukkit/src/main/java/co/aikar/commands/BukkitCommandManager.java index 9891b625..a8d1a386 100644 --- a/bukkit/src/main/java/co/aikar/commands/BukkitCommandManager.java +++ b/bukkit/src/main/java/co/aikar/commands/BukkitCommandManager.java @@ -101,6 +101,17 @@ public class BukkitCommandManager extends CommandManager { return this.plugin; } + public void setFormat(MessageType type, ChatColor... colors) { + MessageFormatter format = getFormat(type); + if (format instanceof BukkitMessageFormatter) { + for (int i = 0; i < colors.length; i++) { + ((BukkitMessageFormatter) format).setColor(i, colors[i]); + } + } else { + setFormat(type, new BukkitMessageFormatter(colors)); + } + } + @Override public boolean isCommandIssuer(Class type) { return CommandSender.class.isAssignableFrom(type); diff --git a/bungee/src/main/java/co/aikar/commands/BungeeCommandManager.java b/bungee/src/main/java/co/aikar/commands/BungeeCommandManager.java index 997b75a2..a2e14869 100644 --- a/bungee/src/main/java/co/aikar/commands/BungeeCommandManager.java +++ b/bungee/src/main/java/co/aikar/commands/BungeeCommandManager.java @@ -57,6 +57,17 @@ public class BungeeCommandManager extends CommandManager { return this.plugin; } + public void setFormat(MessageType type, ChatColor... colors) { + MessageFormatter format = getFormat(type); + if (format instanceof BungeeMessageFormatter) { + for (int i = 0; i < colors.length; i++) { + ((BungeeMessageFormatter) format).setColor(i, colors[i]); + } + } else { + setFormat(type, new BungeeMessageFormatter(colors)); + } + } + @Override public synchronized CommandContexts getCommandContexts() { if (this.contexts == null) { diff --git a/core/src/main/java/co/aikar/commands/CommandManager.java b/core/src/main/java/co/aikar/commands/CommandManager.java index f382ad79..9ebc050c 100644 --- a/core/src/main/java/co/aikar/commands/CommandManager.java +++ b/core/src/main/java/co/aikar/commands/CommandManager.java @@ -167,7 +167,7 @@ public abstract class CommandManager { return result; } - public MessageFormatter setFormat(MessageType type, MessageFormatter formatter) { + public MessageFormatter setFormat(MessageType type, MessageFormatter formatter) { return formatters.put(type, formatter); } diff --git a/sponge/src/main/java/co/aikar/commands/SpongeCommandManager.java b/sponge/src/main/java/co/aikar/commands/SpongeCommandManager.java index 429ff945..83901e44 100644 --- a/sponge/src/main/java/co/aikar/commands/SpongeCommandManager.java +++ b/sponge/src/main/java/co/aikar/commands/SpongeCommandManager.java @@ -30,6 +30,7 @@ import org.slf4j.Logger; import org.spongepowered.api.Sponge; import org.spongepowered.api.command.CommandSource; import org.spongepowered.api.plugin.PluginContainer; +import org.spongepowered.api.text.format.TextColor; import org.spongepowered.api.text.format.TextColors; import java.lang.reflect.Method; @@ -59,6 +60,21 @@ public class SpongeCommandManager extends CommandManager { this.formatters.put(MessageType.INFO, new SpongeMessageFormatter(TextColors.BLUE, TextColors.DARK_GREEN, TextColors.GREEN)); } + public PluginContainer getPlugin() { + return plugin; + } + + public void setFormat(MessageType type, TextColor... colors) { + MessageFormatter format = getFormat(type); + if (format instanceof SpongeMessageFormatter) { + for (int i = 0; i < colors.length; i++) { + ((SpongeMessageFormatter) format).setColor(i, colors[i]); + } + } else { + setFormat(type, new SpongeMessageFormatter(colors)); + } + } + @Override public boolean isCommandIssuer(Class type) { return CommandSource.class.isAssignableFrom(type);