Skip to content

Commit 113b20d

Browse files
committed
Added colors as optional
Added so you don't need use the build in color translator and it will fall back to the default one.
1 parent f910530 commit 113b20d

2 files changed

Lines changed: 28 additions & 1 deletion

File tree

Commands/src/main/java/org/broken/arrow/library/command/CommandRegister.java

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,22 @@
11
package org.broken.arrow.library.command;
22

33

4+
import net.md_5.bungee.api.ChatColor;
5+
import org.broken.arrow.library.color.TextTranslator;
46
import org.broken.arrow.library.command.command.CommandProperty;
57
import org.broken.arrow.library.command.commandhandler.CommandExecutor;
68
import org.broken.arrow.library.command.commandhandler.CommandRegistering;
79
import org.broken.arrow.library.command.commandhandler.MainCommandHandler;
810
import org.broken.arrow.library.command.builers.CommandBuilder;
911
import org.broken.arrow.library.logging.Logging;
1012
import org.bukkit.Bukkit;
13+
import org.bukkit.Color;
1114
import org.bukkit.command.Command;
1215
import org.bukkit.command.CommandMap;
1316
import org.bukkit.plugin.Plugin;
1417

1518
import javax.annotation.Nonnull;
19+
import javax.print.attribute.standard.ColorSupported;
1620
import java.lang.reflect.Field;
1721
import java.util.Arrays;
1822
import java.util.Collection;
@@ -30,8 +34,18 @@
3034
public class CommandRegister implements CommandRegistering {
3135
private final Logging log = new Logging(CommandRegister.class);
3236
private final Map<String, MainCommandHandler> commands = new ConcurrentHashMap<>();
37+
private static boolean hasColorLib;
3338
private boolean registeredMainCommand;
3439

40+
public CommandRegister() {
41+
try {
42+
TextTranslator.getInstance();
43+
hasColorLib = true;
44+
} catch (NoClassDefFoundError | NoSuchMethodError exception) {
45+
hasColorLib = false;
46+
}
47+
}
48+
3549
@Override
3650
public CommandBuilder registerCommand(final Plugin plugin, final String mainCommand) {
3751
final CommandBuilder commandBuilder = new CommandBuilder();
@@ -84,6 +98,19 @@ public void setRegisteredMainCommand(final boolean registeredMainCommand) {
8498
this.registeredMainCommand = registeredMainCommand;
8599
}
86100

101+
/**
102+
* Translate colors on a text.
103+
*
104+
* @param message the message to translate the color codes.
105+
* @return Array of strings that has formated colors.
106+
*/
107+
public static String translateColors(final String message) {
108+
if (message == null) return "";
109+
if (hasColorLib)
110+
return TextTranslator.toSpigotFormat(message);
111+
return ChatColor.translateAlternateColorCodes('&', message);
112+
}
113+
87114
/**
88115
* Registers the main command with the specified fallback prefix, command, description, usage message, and aliases.
89116
* If the main command has already been registered, this method does nothing.

Commands/src/main/java/org/broken/arrow/library/command/commandhandler/CommandExecutor.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -142,7 +142,7 @@ public String[] colors(final String[] messages) {
142142
*/
143143
public String translateColors(final String message) {
144144
if (message == null) return "";
145-
return TextTranslator.toSpigotFormat(message);
145+
return CommandRegister.translateColors(message);
146146
}
147147

148148

0 commit comments

Comments
 (0)