From d24ae03b121db67903aee2d288eff8ababa97044 Mon Sep 17 00:00:00 2001 From: Aikar Date: Tue, 18 Jul 2017 08:31:35 -0400 Subject: [PATCH] fix the format API's and add setFormat(type, i, color) --- .../aikar/commands/BukkitCommandManager.java | 23 +++++++++++++------ .../aikar/commands/BungeeCommandManager.java | 23 +++++++++++++------ .../co/aikar/commands/CommandManager.java | 16 ------------- .../aikar/commands/SpongeCommandManager.java | 23 +++++++++++++------ 4 files changed, 48 insertions(+), 37 deletions(-) diff --git a/bukkit/src/main/java/co/aikar/commands/BukkitCommandManager.java b/bukkit/src/main/java/co/aikar/commands/BukkitCommandManager.java index 18c88935..cab82955 100644 --- a/bukkit/src/main/java/co/aikar/commands/BukkitCommandManager.java +++ b/bukkit/src/main/java/co/aikar/commands/BukkitCommandManager.java @@ -106,17 +106,26 @@ public class BukkitCommandManager extends CommandManager { return this.plugin; } + public BukkitMessageFormatter setFormat(MessageType type, BukkitMessageFormatter formatter) { + return (BukkitMessageFormatter) formatters.put(type, formatter); + } + + public BukkitMessageFormatter getFormat(MessageType type) { + return (BukkitMessageFormatter) formatters.getOrDefault(type, defaultFormatter); + } + 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)); + BukkitMessageFormatter format = getFormat(type); + for (int i = 0; i < colors.length; i++) { + format.setColor(i, colors[i]); } } + public void setFormat(MessageType type, int i, ChatColor color) { + BukkitMessageFormatter format = getFormat(type); + format.setColor(i, color); + } + @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 211f5107..0a8b7a59 100644 --- a/bungee/src/main/java/co/aikar/commands/BungeeCommandManager.java +++ b/bungee/src/main/java/co/aikar/commands/BungeeCommandManager.java @@ -58,17 +58,26 @@ public class BungeeCommandManager extends CommandManager { return this.plugin; } + public BungeeMessageFormatter setFormat(MessageType type, BungeeMessageFormatter formatter) { + return (BungeeMessageFormatter) formatters.put(type, formatter); + } + + public BungeeMessageFormatter getFormat(MessageType type) { + return (BungeeMessageFormatter) formatters.getOrDefault(type, defaultFormatter); + } + 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)); + BungeeMessageFormatter format = getFormat(type); + for (int i = 0; i < colors.length; i++) { + format.setColor(i, colors[i]); } } + public void setFormat(MessageType type, int i, ChatColor color) { + BungeeMessageFormatter format = getFormat(type); + format.setColor(i, color); + } + @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 48f5bab9..633d3829 100644 --- a/core/src/main/java/co/aikar/commands/CommandManager.java +++ b/core/src/main/java/co/aikar/commands/CommandManager.java @@ -166,22 +166,6 @@ public abstract class CommandManager { return result; } - public MessageFormatter setFormat(MessageType type, MessageFormatter formatter) { - return formatters.put(type, formatter); - } - - public MessageFormatter getFormat(MessageType type) { - return formatters.get(type); - } - - public MessageFormatter getDefaultFormatter() { - return defaultFormatter; - } - - public void setDefaultFormatter(MessageFormatter defaultFormatter) { - this.defaultFormatter = defaultFormatter; - } - public void sendMessage(Object issuerArg, MessageType type, MessageKeyProvider key, String... replacements) { sendMessage(issuerArg, type, key.getMessageKey(), replacements); } diff --git a/sponge/src/main/java/co/aikar/commands/SpongeCommandManager.java b/sponge/src/main/java/co/aikar/commands/SpongeCommandManager.java index 9dbe14ed..f2f9de5d 100644 --- a/sponge/src/main/java/co/aikar/commands/SpongeCommandManager.java +++ b/sponge/src/main/java/co/aikar/commands/SpongeCommandManager.java @@ -65,17 +65,26 @@ public class SpongeCommandManager extends CommandManager { return plugin; } + public SpongeMessageFormatter setFormat(MessageType type, SpongeMessageFormatter formatter) { + return (SpongeMessageFormatter) formatters.put(type, formatter); + } + + public SpongeMessageFormatter getFormat(MessageType type) { + return (SpongeMessageFormatter) formatters.getOrDefault(type, defaultFormatter); + } + 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)); + SpongeMessageFormatter format = getFormat(type); + for (int i = 0; i < colors.length; i++) { + format.setColor(i, colors[i]); } } + public void setFormat(MessageType type, int i, TextColor color) { + SpongeMessageFormatter format = getFormat(type); + format.setColor(i, color); + } + @Override public boolean isCommandIssuer(Class type) { return CommandSource.class.isAssignableFrom(type);