Added support for RGB color codes
This commit is contained in:
@@ -7,6 +7,7 @@ import com.willfp.ecoenchants.config.ConfigManager;
|
||||
import com.willfp.ecoenchants.display.EnchantmentCache;
|
||||
import com.willfp.ecoenchants.enchantments.EcoEnchant;
|
||||
import com.willfp.ecoenchants.enchantments.EcoEnchants;
|
||||
import com.willfp.ecoenchants.util.StringUtils;
|
||||
import org.apache.commons.lang.WordUtils;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.Material;
|
||||
@@ -77,7 +78,7 @@ public final class CommandEnchantinfo extends AbstractCommand {
|
||||
if(allConflicts.length() >= 2) {
|
||||
allConflicts = allConflicts.substring(0, allConflicts.length() -2);
|
||||
} else {
|
||||
allConflicts = ChatColor.translateAlternateColorCodes('&', ConfigManager.getLang().getString("no-conflicts"));
|
||||
allConflicts = StringUtils.translate(ConfigManager.getLang().getString("no-conflicts"));
|
||||
}
|
||||
|
||||
Set<Material> targets = enchantment.getTarget();
|
||||
@@ -110,7 +111,7 @@ public final class CommandEnchantinfo extends AbstractCommand {
|
||||
if(allTargets.length() >= 2) {
|
||||
allTargets = allTargets.substring(0, allTargets.length() - 2);
|
||||
} else {
|
||||
allTargets = ChatColor.translateAlternateColorCodes('&', ConfigManager.getLang().getString("no-targets"));
|
||||
allTargets = StringUtils.translate(ConfigManager.getLang().getString("no-targets"));
|
||||
}
|
||||
|
||||
String maxLevel = String.valueOf(enchantment.getMaxLevel());
|
||||
|
||||
@@ -7,6 +7,7 @@ import com.willfp.ecoenchants.enchantments.EcoEnchant;
|
||||
import com.willfp.ecoenchants.enchantments.EcoEnchants;
|
||||
import com.willfp.ecoenchants.enchantments.meta.EnchantmentTarget;
|
||||
import com.willfp.ecoenchants.util.NumberUtils;
|
||||
import com.willfp.ecoenchants.util.StringUtils;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.NamespacedKey;
|
||||
import org.bukkit.enchantments.Enchantment;
|
||||
@@ -73,11 +74,11 @@ public final class EnchantDisplay {
|
||||
* Update config values
|
||||
*/
|
||||
public static void update() {
|
||||
descriptionColor = ChatColor.translateAlternateColorCodes('&', ConfigManager.getLang().getString("description-color"));
|
||||
curseColor = ChatColor.translateAlternateColorCodes('&', ConfigManager.getLang().getString("curse-color"));
|
||||
specialColor = ChatColor.translateAlternateColorCodes('&', ConfigManager.getLang().getString("special-color"));
|
||||
artifactColor = ChatColor.translateAlternateColorCodes('&', ConfigManager.getLang().getString("artifact-color"));
|
||||
normalColor = ChatColor.translateAlternateColorCodes('&', ConfigManager.getLang().getString("not-curse-color"));
|
||||
descriptionColor = StringUtils.translate(ConfigManager.getLang().getString("description-color"));
|
||||
curseColor = StringUtils.translate(ConfigManager.getLang().getString("curse-color"));
|
||||
specialColor = StringUtils.translate(ConfigManager.getLang().getString("special-color"));
|
||||
artifactColor = StringUtils.translate(ConfigManager.getLang().getString("artifact-color"));
|
||||
normalColor = StringUtils.translate(ConfigManager.getLang().getString("not-curse-color"));
|
||||
|
||||
useNumerals = ConfigManager.getConfig().getBool("lore.use-numerals");
|
||||
numbersThreshold = ConfigManager.getConfig().getInt("lore.use-numbers-above-threshold");
|
||||
|
||||
@@ -5,6 +5,7 @@ import com.willfp.ecoenchants.config.ConfigManager;
|
||||
import com.willfp.ecoenchants.config.configs.EnchantmentConfig;
|
||||
import com.willfp.ecoenchants.enchantments.meta.EnchantmentRarity;
|
||||
import com.willfp.ecoenchants.enchantments.util.Watcher;
|
||||
import com.willfp.ecoenchants.util.StringUtils;
|
||||
import com.willfp.ecoenchants.util.interfaces.Registerable;
|
||||
import com.willfp.ecoenchants.util.optional.Prerequisite;
|
||||
import net.md_5.bungee.api.ChatColor;
|
||||
@@ -82,8 +83,8 @@ public abstract class EcoEnchant extends Enchantment implements Listener, Regist
|
||||
canGetFromVillager = config.getBool(EcoEnchants.OBTAINING_LOCATION + "villager");
|
||||
canGetFromLoot = config.getBool(EcoEnchants.OBTAINING_LOCATION + "loot");
|
||||
maxLvl = config.getInt(EcoEnchants.GENERAL_LOCATION + "maximum-level", 1);
|
||||
name = ChatColor.translateAlternateColorCodes('&', config.getString("name"));
|
||||
description = ChatColor.translateAlternateColorCodes('&', config.getString("description"));
|
||||
name = StringUtils.translate(config.getString("name"));
|
||||
description = StringUtils.translate(config.getString("description"));
|
||||
target.clear();
|
||||
targetMaterials.clear();
|
||||
target.addAll(config.getTargets());
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package com.willfp.ecoenchants.enchantments.meta;
|
||||
|
||||
import com.willfp.ecoenchants.config.ConfigManager;
|
||||
import com.willfp.ecoenchants.util.StringUtils;
|
||||
import com.willfp.ecoenchants.util.interfaces.Registerable;
|
||||
import org.bukkit.ChatColor;
|
||||
|
||||
@@ -128,7 +129,7 @@ public class EnchantmentRarity implements Registerable {
|
||||
double lootProbability = ConfigManager.getRarity().getDouble("rarities." + rarity + ".loot-probability");
|
||||
String customColor = null;
|
||||
if(ConfigManager.getRarity().getBool("rarities." + rarity + ".custom-color.enabled")) {
|
||||
customColor = ChatColor.translateAlternateColorCodes('&', ConfigManager.getRarity().getString("rarities." + rarity + ".custom-color.color"));
|
||||
customColor = StringUtils.translate(ConfigManager.getRarity().getString("rarities." + rarity + ".custom-color.color"));
|
||||
}
|
||||
|
||||
new EnchantmentRarity(name, probability, minimumLevel, villagerProbability, lootProbability, customColor).register();
|
||||
|
||||
@@ -44,6 +44,7 @@ import com.willfp.ecoenchants.nms.Cooldown;
|
||||
import com.willfp.ecoenchants.nms.RepairCost;
|
||||
import com.willfp.ecoenchants.nms.TridentStack;
|
||||
import com.willfp.ecoenchants.util.Logger;
|
||||
import com.willfp.ecoenchants.util.StringUtils;
|
||||
import com.willfp.ecoenchants.util.UpdateChecker;
|
||||
import com.willfp.ecoenchants.util.interfaces.EcoRunnable;
|
||||
import com.willfp.ecoenchants.util.optional.Prerequisite;
|
||||
@@ -213,9 +214,9 @@ public class Loader {
|
||||
Logger.info(EcoEnchants.getAll().size() + " Enchantments Loaded:");
|
||||
EcoEnchants.getAll().forEach((ecoEnchant -> {
|
||||
if(ecoEnchant.getType().equals(EcoEnchant.EnchantmentType.SPECIAL)) {
|
||||
Logger.info(ChatColor.translateAlternateColorCodes('&', ConfigManager.getLang().getString("special-color")) + "- " + ecoEnchant.getName() + ": " + ecoEnchant.getKey().toString());
|
||||
Logger.info(StringUtils.translate(ConfigManager.getLang().getString("special-color")) + "- " + ecoEnchant.getName() + ": " + ecoEnchant.getKey().toString());
|
||||
} else if(ecoEnchant.getType().equals(EcoEnchant.EnchantmentType.ARTIFACT)) {
|
||||
Logger.info(ChatColor.translateAlternateColorCodes('&', ConfigManager.getLang().getString("artifact-color")) + "- " + ecoEnchant.getName() + ": " + ecoEnchant.getKey().toString());
|
||||
Logger.info(StringUtils.translate(ConfigManager.getLang().getString("artifact-color")) + "- " + ecoEnchant.getName() + ": " + ecoEnchant.getKey().toString());
|
||||
} else {
|
||||
Logger.info("- " + ecoEnchant.getName() + ": " + ecoEnchant.getKey().toString());
|
||||
}
|
||||
|
||||
@@ -2,8 +2,28 @@ package com.willfp.ecoenchants.util;
|
||||
|
||||
import net.md_5.bungee.api.ChatColor;
|
||||
|
||||
import java.util.regex.Matcher;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
import static net.md_5.bungee.api.ChatColor.COLOR_CHAR;
|
||||
|
||||
public class StringUtils {
|
||||
public static String translate(String message){
|
||||
return ChatColor.translateAlternateColorCodes('&', message);
|
||||
return ChatColor.translateAlternateColorCodes('&', translateHexColorCodes("&#", "", message));
|
||||
}
|
||||
|
||||
private static String translateHexColorCodes(String startTag, String endTag, String message) {
|
||||
Pattern hexPattern = Pattern.compile(startTag + "([A-Fa-f0-9]{6})" + endTag);
|
||||
Matcher matcher = hexPattern.matcher(message);
|
||||
StringBuffer buffer = new StringBuffer(message.length() + 4 * 8);
|
||||
while(matcher.find()) {
|
||||
String group = matcher.group(1);
|
||||
matcher.appendReplacement(buffer, COLOR_CHAR + "x"
|
||||
+ COLOR_CHAR + group.charAt(0) + COLOR_CHAR + group.charAt(1)
|
||||
+ COLOR_CHAR + group.charAt(2) + COLOR_CHAR + group.charAt(3)
|
||||
+ COLOR_CHAR + group.charAt(4) + COLOR_CHAR + group.charAt(5));
|
||||
}
|
||||
|
||||
return matcher.appendTail(buffer).toString();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user