-
Notifications
You must be signed in to change notification settings - Fork 0
API Usage
SlamTheHam edited this page Jan 26, 2026
·
1 revision
SimpleColor provides a comprehensive API for other plugins to parse colored text.
All aliases provide the same functionality:
import org.slamstudios.simplecolor.enums.ChatColor;
import org.slamstudios.simplecolor.aliases.CC;
import org.slamstudios.simplecolor.aliases.Color;import org.slamstudios.simplecolor.SimpleColor;
import org.slamstudios.simplecolor.ColorParser;
import org.slamstudios.simplecolor.GradientUtil;All color constants return §x format when converted to string:
ChatColor.BLACK // §0
ChatColor.DARK_BLUE // §1
ChatColor.DARK_GREEN // §2
ChatColor.DARK_AQUA // §3
ChatColor.DARK_RED // §4
ChatColor.DARK_PURPLE // §5
ChatColor.GOLD // §6
ChatColor.GRAY // §7
ChatColor.DARK_GRAY // §8
ChatColor.BLUE // §9
ChatColor.GREEN // §a
ChatColor.AQUA // §b
ChatColor.RED // §c
ChatColor.LIGHT_PURPLE // §d
ChatColor.YELLOW // §e
ChatColor.WHITE // §fUse with Message.raw():
player.sendMessage(Message.raw(CC.GREEN + "Success!"));
player.sendMessage(Message.raw(CC.RED + "Error!"));
// Multiple colors
player.sendMessage(Message.raw(
CC.GOLD + "Server: " + CC.WHITE + "Welcome!"
));The translate() method parses color code strings and returns a Message:
// Legacy codes
player.sendMessage(CC.translate("&aGreen &cRed &eYellow"));
// Hex colors
player.sendMessage(CC.translate("&#FF5733Orange �FFFFCyan"));
// Gradients
player.sendMessage(CC.translate("&#FF0000:0000FFRed to blue"));
// Rainbow
player.sendMessage(CC.translate("&*Rainbow text!"));
// Links
player.sendMessage(CC.translate("&(https://example.com)[Click!]"));
// Combined
player.sendMessage(CC.translate(
"&aSuccess! &7Visit &(https://example.com)[our site]"
));Helper methods return code strings that need translation:
// Returns "&#FF5733"
String code = ChatColor.hex("#FF5733");
String code2 = CC.hex("00FFFF"); // # is optional
player.sendMessage(ChatColor.translate(
ChatColor.hex("#FF5733") + "Orange"
));// Returns "&#FF5555:5555FF"
String code = ChatColor.gradient("red", "blue");
String code2 = CC.gradient("#FF5733", "#FFC300", "#3498DB");
player.sendMessage(ChatColor.translate(
ChatColor.gradient("red", "blue") + "Gradient text"
));// Returns "&*"
String code = ChatColor.RAINBOW;
String code2 = CC.RAINBOW;
player.sendMessage(ChatColor.translate(
ChatColor.RAINBOW + "Rainbow text"
));// Returns "&(url)[text]"
String code = ChatColor.link("https://example.com", "Click!");
player.sendMessage(ChatColor.translate(
ChatColor.link("https://example.com", "Click Here")
));Use SimpleColor.parse() with a player for permission checks:
import org.slamstudios.simplecolor.SimpleColor;
// Strips codes player doesn't have permission for
Message msg = SimpleColor.parse("&c&lBold Red", player);
player.sendMessage(msg);Use ColorParser.parse() without permission checks:
import org.slamstudios.simplecolor.ColorParser;
// No permission checks
Message msg = ColorParser.parse("&c&lBold Red");Remove color codes from strings:
// Strip legacy codes (§x format)
String plain = ChatColor.stripColor(CC.GREEN + "Hello");
// Returns "Hello"
// Strip all codes (hex, gradients, rainbow, links)
String stripped = ChatColor.stripAll("&#FF5733Custom &*rainbow &(url)[link]");
// Returns "Custom rainbow link"
// Also via aliases
String stripped2 = CC.stripAll("&aColored text");// Get by code character
ChatColor red = ChatColor.getByCode('c');
// Get by name
ChatColor blue = ChatColor.getByName("blue");
// Get java.awt.Color
java.awt.Color awtColor = ChatColor.RED.getColor();
// Parse hex to java.awt.Color
java.awt.Color custom = ChatColor.parseHex("FF5500");
// Convert Color to hex string
String hex = ChatColor.toHex(awtColor); // "ff5555"
// Apply color to text
String colored = ChatColor.RED.apply("Error"); // "§cError"
// Create Message directly
Message msg = ChatColor.GREEN.message("Success!");Generate color gradients programmatically:
import org.slamstudios.simplecolor.GradientUtil;
import java.awt.Color;
import java.util.List;
// Two-color gradient
List<Color> gradient = GradientUtil.generateGradient(
Color.RED,
Color.BLUE,
10 // steps
);
// Multi-color gradient
List<Color> colors = List.of(Color.RED, Color.YELLOW, Color.GREEN);
List<Color> multi = GradientUtil.generateMultiGradient(colors, 20);
// Interpolate between colors
Color mid = GradientUtil.interpolate(Color.RED, Color.BLUE, 0.5f);import org.slamstudios.simplecolor.enums.ChatColor;
import org.slamstudios.simplecolor.aliases.CC;
import org.slamstudios.simplecolor.SimpleColor;
import com.hypixel.hytale.server.core.Message;
public class MyPlugin {
public void sendWelcome(Player player) {
// Simple colored message
player.sendMessage(Message.raw(CC.GOLD + "Welcome!"));
// Gradient title
player.sendMessage(ChatColor.translate(
ChatColor.gradient("gold", "yellow") + "=== My Server ==="
));
// Info with link
player.sendMessage(ChatColor.translate(
"&7Visit our website: " +
ChatColor.link("https://example.com", "&b&lClick Here")
));
// Permission-checked message
Message userMsg = SimpleColor.parse(userInput, player);
player.sendMessage(userMsg);
}
}