From 4d78a3a24538ee9caf94a86d8a2c45e4bb46b949 Mon Sep 17 00:00:00 2001 From: ASangarin Date: Sat, 27 Jun 2020 01:00:04 +0200 Subject: [PATCH] MMOCore 1.4.1 - The Colorful Update You can now use hex colors with most things! The format is '<#xxxxxx>' and it works just like the old '&x' did. The old format is still supported and sometimes they can even be mixed! Requires MMOLib 1.2.3 or later --- lib/MMOLib.jar | Bin 167212 -> 183458 bytes pom.xml | 2 +- .../Indyuce/mmocore/api/ConfigMessage.java | 8 +-- .../Indyuce/mmocore/api/PlayerActionBar.java | 6 +- .../api/player/attribute/PlayerAttribute.java | 4 +- .../api/player/profess/PlayerClass.java | 62 ++++++++++-------- .../profess/resource/ManaDisplayOptions.java | 11 ++-- .../mmocore/api/quest/QuestProgress.java | 5 +- .../mmocore/api/util/item/ConfigItem.java | 4 +- .../mmocore/api/util/item/NamedItemStack.java | 5 +- .../comp/placeholder/DefaultParser.java | 5 +- .../net/Indyuce/mmocore/gui/ClassSelect.java | 4 +- .../net/Indyuce/mmocore/gui/SkillList.java | 9 +-- .../Indyuce/mmocore/gui/SubclassSelect.java | 4 +- .../mmocore/gui/api/GeneratedInventory.java | 4 +- .../mmocore/manager/ConfigManager.java | 3 +- 16 files changed, 75 insertions(+), 61 deletions(-) diff --git a/lib/MMOLib.jar b/lib/MMOLib.jar index b15f19fd2302324dea0fb2a59c8436052da30a01..2f59e5252f119b050f5b54a2e54eeafb2d2ab2a8 100644 GIT binary patch delta 58209 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

nvT577cG|HcatWzkzt!oKk2t4~>o<9PF*136{ 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.0.0 net.Indyuce MMOCore - 1.4 + 1.4.1 Offer your players a brand new RPG experience. diff --git a/src/main/java/net/Indyuce/mmocore/api/ConfigMessage.java b/src/main/java/net/Indyuce/mmocore/api/ConfigMessage.java index ce6578fd..f97c6682 100644 --- a/src/main/java/net/Indyuce/mmocore/api/ConfigMessage.java +++ b/src/main/java/net/Indyuce/mmocore/api/ConfigMessage.java @@ -3,11 +3,11 @@ package net.Indyuce.mmocore.api; import java.util.Collection; import java.util.List; -import org.bukkit.ChatColor; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; import net.Indyuce.mmocore.MMOCore; +import net.asangarin.hexcolors.ColorParse; import net.mmogroup.mmolib.MMOLib; public class ConfigMessage { @@ -31,14 +31,14 @@ public class ConfigMessage { } public void send(CommandSender sender) { - messages.forEach(line -> sender.sendMessage(ChatColor.translateAlternateColorCodes('&', line))); + messages.forEach(line -> sender.sendMessage(new ColorParse('&', line).toChatColor())); } public void send(Collection players) { - players.forEach(player -> messages.forEach(line -> player.sendMessage(ChatColor.translateAlternateColorCodes('&', MMOCore.plugin.placeholderParser.parse(player, line))))); + players.forEach(player -> messages.forEach(line -> player.sendMessage(new ColorParse('&', MMOCore.plugin.placeholderParser.parse(player, line)).toChatColor()))); } public void sendAsJSon(Player player) { - messages.forEach(line -> MMOLib.plugin.getNMS().sendJson(player, ChatColor.translateAlternateColorCodes('&', line))); + messages.forEach(line -> MMOLib.plugin.getNMS().sendJson(player, new ColorParse('&', line).toChatColor())); } } diff --git a/src/main/java/net/Indyuce/mmocore/api/PlayerActionBar.java b/src/main/java/net/Indyuce/mmocore/api/PlayerActionBar.java index 3d704b6d..7f21d210 100644 --- a/src/main/java/net/Indyuce/mmocore/api/PlayerActionBar.java +++ b/src/main/java/net/Indyuce/mmocore/api/PlayerActionBar.java @@ -2,7 +2,6 @@ package net.Indyuce.mmocore.api; import java.text.DecimalFormat; -import org.bukkit.ChatColor; import org.bukkit.attribute.Attribute; import org.bukkit.configuration.ConfigurationSection; import org.bukkit.scheduler.BukkitRunnable; @@ -10,6 +9,7 @@ import org.bukkit.scheduler.BukkitRunnable; import net.Indyuce.mmocore.MMOCore; import net.Indyuce.mmocore.api.player.PlayerData; import net.Indyuce.mmocore.api.player.stats.StatType; +import net.asangarin.hexcolors.ColorParse; import net.md_5.bungee.api.ChatMessageType; import net.md_5.bungee.api.chat.TextComponent; @@ -31,7 +31,7 @@ public class PlayerActionBar extends BukkitRunnable { for (PlayerData data : PlayerData.getAll()) if (data.isOnline() && !data.getPlayer().isDead() && !data.isCasting() && data.canSeeActionBar()) { data.getPlayer().spigot().sendMessage(ChatMessageType.ACTION_BAR, TextComponent.fromLegacyText(MMOCore.plugin.placeholderParser.parse(data.getPlayer(), - ChatColor.translateAlternateColorCodes('&', new String(format) + new ColorParse('&', new String(format) .replace("{health}", digit.format(data.getPlayer().getHealth())) .replace("{max_health}", "" + StatType.MAX_HEALTH.format(data.getPlayer().getAttribute(Attribute.GENERIC_MAX_HEALTH).getValue())) .replace("{mana_icon}", data.getProfess().getManaDisplay().getIcon()) @@ -45,7 +45,7 @@ public class PlayerActionBar extends BukkitRunnable { .replace("{xp}", "" + data.getExperience()) .replace("{armor}", "" + StatType.ARMOR.format(data.getPlayer().getAttribute(Attribute.GENERIC_ARMOR).getValue())) .replace("{level}", "" + data.getLevel()) - .replace("{name}", data.getPlayer().getDisplayName()))))); + .replace("{name}", data.getPlayer().getDisplayName())).toChatColor()))); } } } diff --git a/src/main/java/net/Indyuce/mmocore/api/player/attribute/PlayerAttribute.java b/src/main/java/net/Indyuce/mmocore/api/player/attribute/PlayerAttribute.java index 4bf8ddaa..920c3e0a 100644 --- a/src/main/java/net/Indyuce/mmocore/api/player/attribute/PlayerAttribute.java +++ b/src/main/java/net/Indyuce/mmocore/api/player/attribute/PlayerAttribute.java @@ -7,10 +7,10 @@ import java.util.Set; import java.util.logging.Level; import org.apache.commons.lang.Validate; -import org.bukkit.ChatColor; import org.bukkit.configuration.ConfigurationSection; import net.Indyuce.mmocore.MMOCore; +import net.asangarin.hexcolors.ColorParse; import net.mmogroup.mmolib.api.stat.modifier.StatModifier; public class PlayerAttribute { @@ -48,7 +48,7 @@ public class PlayerAttribute { } public String getName() { - return ChatColor.translateAlternateColorCodes('&', name); + return new ColorParse('&', name).toChatColor(); } public boolean hasMax() { diff --git a/src/main/java/net/Indyuce/mmocore/api/player/profess/PlayerClass.java b/src/main/java/net/Indyuce/mmocore/api/player/profess/PlayerClass.java index 7690955d..dac45a54 100644 --- a/src/main/java/net/Indyuce/mmocore/api/player/profess/PlayerClass.java +++ b/src/main/java/net/Indyuce/mmocore/api/player/profess/PlayerClass.java @@ -13,7 +13,6 @@ import java.util.UUID; import java.util.logging.Level; import org.apache.commons.lang.Validate; -import org.bukkit.ChatColor; import org.bukkit.Material; import org.bukkit.Particle; import org.bukkit.configuration.ConfigurationSection; @@ -38,6 +37,8 @@ import net.Indyuce.mmocore.api.skill.Skill.SkillInfo; import net.Indyuce.mmocore.api.util.MMOCoreUtils; import net.Indyuce.mmocore.api.util.math.formula.LinearValue; import net.Indyuce.mmocore.api.util.math.particle.CastingParticle; +import net.asangarin.hexcolors.ColorParse; +import net.md_5.bungee.api.ChatColor; import net.mmogroup.mmolib.api.MMOLineConfig; import net.mmogroup.mmolib.version.VersionMaterial; @@ -64,7 +65,7 @@ public class PlayerClass extends PostLoadObject { this.id = id.toUpperCase().replace("-", "_").replace(" ", "_"); - name = ChatColor.translateAlternateColorCodes('&', config.getString("display.name")); + name = new ColorParse('&', config.getString("display.name")).toChatColor(); icon = MMOCoreUtils.readIcon(config.getString("display.item", "BARRIER")); if (config.contains("display.texture") && icon.getType() == VersionMaterial.PLAYER_HEAD.toMaterial()) @@ -76,20 +77,23 @@ public class PlayerClass extends PostLoadObject { gp.getProperties().put("textures", new Property("textures", config.getString("display.texture"))); profileField.set(meta, gp); icon.setItemMeta(meta); - } catch (IllegalArgumentException | IllegalAccessException | NoSuchFieldException | SecurityException exception) { + } catch (IllegalArgumentException | IllegalAccessException | NoSuchFieldException + | SecurityException exception) { throw new IllegalArgumentException("Could not apply playerhead texture: " + exception.getMessage()); } for (String string : config.getStringList("display.lore")) - description.add(ChatColor.GRAY + ChatColor.translateAlternateColorCodes('&', string)); + description.add(ChatColor.GRAY + new ColorParse('&', string).toChatColor()); for (String string : config.getStringList("display.attribute-lore")) - attrDescription.add(ChatColor.GRAY + ChatColor.translateAlternateColorCodes('&', string)); - manaDisplay = config.contains("mana") ? new ManaDisplayOptions(config.getConfigurationSection("mana")) : ManaDisplayOptions.DEFAULT; + attrDescription.add(ChatColor.GRAY + new ColorParse('&', string).toChatColor()); + manaDisplay = config.contains("mana") ? new ManaDisplayOptions(config.getConfigurationSection("mana")) + : ManaDisplayOptions.DEFAULT; maxLevel = config.getInt("max-level"); displayOrder = config.getInt("display.order"); expCurve = config.contains("exp-curve") - ? MMOCore.plugin.experience.getOrThrow(config.get("exp-curve").toString().toLowerCase().replace("_", "-").replace(" ", "-")) + ? MMOCore.plugin.experience.getOrThrow( + config.get("exp-curve").toString().toLowerCase().replace("_", "-").replace(" ", "-")) : ExpCurve.DEFAULT; if (config.contains("attributes")) @@ -98,27 +102,30 @@ public class PlayerClass extends PostLoadObject { stats.put(StatType.valueOf(key.toUpperCase().replace("-", "_")), new LinearValue(config.getConfigurationSection("attributes." + key))); } catch (IllegalArgumentException exception) { - MMOCore.plugin.getLogger().log(Level.WARNING, - "Could not load stat info '" + key + "' from class '" + id + "': " + exception.getMessage()); + MMOCore.plugin.getLogger().log(Level.WARNING, "Could not load stat info '" + key + "' from class '" + + id + "': " + exception.getMessage()); } if (config.contains("skills")) for (String key : config.getConfigurationSection("skills").getKeys(false)) try { Validate.isTrue(MMOCore.plugin.skillManager.has(key), "Could not find skill " + key); - skills.put(key.toUpperCase(), MMOCore.plugin.skillManager.get(key).newSkillInfo(config.getConfigurationSection("skills." + key))); + skills.put(key.toUpperCase(), MMOCore.plugin.skillManager.get(key) + .newSkillInfo(config.getConfigurationSection("skills." + key))); } catch (IllegalArgumentException exception) { - MMOCore.plugin.getLogger().log(Level.WARNING, - "Could not load skill info '" + key + "' from class '" + id + "': " + exception.getMessage()); + MMOCore.plugin.getLogger().log(Level.WARNING, "Could not load skill info '" + key + "' from class '" + + id + "': " + exception.getMessage()); } - castParticle = config.contains("cast-particle") ? new CastingParticle(config.getConfigurationSection("cast-particle")) + castParticle = config.contains("cast-particle") + ? new CastingParticle(config.getConfigurationSection("cast-particle")) : new CastingParticle(Particle.SPELL_INSTANT); if (config.contains("options")) for (String key : config.getConfigurationSection("options").getKeys(false)) try { - setOption(ClassOption.valueOf(key.toUpperCase().replace("-", "_").replace(" ", "_")), config.getBoolean("options." + key)); + setOption(ClassOption.valueOf(key.toUpperCase().replace("-", "_").replace(" ", "_")), + config.getBoolean("options." + key)); } catch (IllegalArgumentException exception) { MMOCore.plugin.getLogger().log(Level.WARNING, "Could not load option '" + key + "' from class '" + key + "': " + exception.getMessage()); @@ -127,12 +134,13 @@ public class PlayerClass extends PostLoadObject { if (config.contains("main-exp-sources")) for (String key : config.getStringList("main-exp-sources")) try { - ExperienceSource source = MMOCore.plugin.loadManager.loadExperienceSource(new MMOLineConfig(key), null); + ExperienceSource source = MMOCore.plugin.loadManager.loadExperienceSource(new MMOLineConfig(key), + null); source.setClass(this); MMOCore.plugin.professionManager.registerExpSource(source); } catch (IllegalArgumentException exception) { - MMOCore.plugin.getLogger().log(Level.WARNING, - "Could not load exp source '" + key + "' from class '" + id + "': " + exception.getMessage()); + MMOCore.plugin.getLogger().log(Level.WARNING, "Could not load exp source '" + key + "' from class '" + + id + "': " + exception.getMessage()); } if (config.contains("triggers")) @@ -146,17 +154,17 @@ public class PlayerClass extends PostLoadObject { } /* - * must make sure all the resourceHandlers are registered when the - * placer class is initialized. + * must make sure all the resourceHandlers are registered when the placer class + * is initialized. */ for (PlayerResource resource : PlayerResource.values()) { if (config.isConfigurationSection("resource." + resource.name().toLowerCase())) try { - resourceHandlers.put(resource, - new ResourceHandler(resource, config.getConfigurationSection("resource." + resource.name().toLowerCase()))); + resourceHandlers.put(resource, new ResourceHandler(resource, + config.getConfigurationSection("resource." + resource.name().toLowerCase()))); } catch (IllegalArgumentException exception) { - MMOCore.log(Level.WARNING, "[PlayerClasses:" + id + "] Could not load special resource regen for " + resource.name() + ": " - + exception.getMessage()); + MMOCore.log(Level.WARNING, "[PlayerClasses:" + id + "] Could not load special resource regen for " + + resource.name() + ": " + exception.getMessage()); resourceHandlers.put(resource, new ResourceHandler(resource)); } else @@ -191,11 +199,13 @@ public class PlayerClass extends PostLoadObject { if (config.contains("subclasses")) for (String key : config.getConfigurationSection("subclasses").getKeys(false)) try { - subclasses.add(new Subclass(MMOCore.plugin.classManager.getOrThrow(key.toUpperCase().replace("-", "_").replace(" ", "_")), + subclasses.add(new Subclass( + MMOCore.plugin.classManager + .getOrThrow(key.toUpperCase().replace("-", "_").replace(" ", "_")), config.getInt("subclasses." + key))); } catch (IllegalArgumentException exception) { - MMOCore.plugin.getLogger().log(Level.WARNING, - "Could not load subclass '" + key + "' from class '" + getId() + "': " + exception.getMessage()); + MMOCore.plugin.getLogger().log(Level.WARNING, "Could not load subclass '" + key + "' from class '" + + getId() + "': " + exception.getMessage()); } } diff --git a/src/main/java/net/Indyuce/mmocore/api/player/profess/resource/ManaDisplayOptions.java b/src/main/java/net/Indyuce/mmocore/api/player/profess/resource/ManaDisplayOptions.java index fb1b010e..bdab062a 100644 --- a/src/main/java/net/Indyuce/mmocore/api/player/profess/resource/ManaDisplayOptions.java +++ b/src/main/java/net/Indyuce/mmocore/api/player/profess/resource/ManaDisplayOptions.java @@ -1,9 +1,10 @@ package net.Indyuce.mmocore.api.player.profess.resource; import org.apache.commons.lang.Validate; -import org.bukkit.ChatColor; import org.bukkit.configuration.ConfigurationSection; +import net.asangarin.hexcolors.ColorParse; +import net.md_5.bungee.api.ChatColor; import net.mmogroup.mmolib.api.util.AltChar; public class ManaDisplayOptions { @@ -21,15 +22,15 @@ public class ManaDisplayOptions { Validate.notNull(name, "Could not load mana name"); Validate.notNull(config.getConfigurationSection("color"), "Could not find mana color config"); - full = ChatColor.valueOf(config.getString("color.full", "NO_INPUT").toUpperCase().replace("-", "_").replace(" ", "_")); - half = ChatColor.valueOf(config.getString("color.half", "NO_INPUT").toUpperCase().replace("-", "_").replace(" ", "_")); - empty = ChatColor.valueOf(config.getString("color.empty", "NO_INPUT").toUpperCase().replace("-", "_").replace(" ", "_")); + full = ColorParse.getColor(config.getString("color.full", "NO_INPUT")); + half = ColorParse.getColor(config.getString("color.half", "NO_INPUT")); + empty = ColorParse.getColor(config.getString("color.empty", "NO_INPUT")); String format = config.getString("char", ""); Validate.notEmpty(format, "Could not load mana bar character"); barCharacter = format.charAt(0); - icon = ChatColor.translateAlternateColorCodes('&', config.getString("icon", "")); + icon = new ColorParse('&', config.getString("icon", "")).toChatColor(); Validate.notEmpty(format, "Could not load mana action bar icon"); } diff --git a/src/main/java/net/Indyuce/mmocore/api/quest/QuestProgress.java b/src/main/java/net/Indyuce/mmocore/api/quest/QuestProgress.java index 6ac9cea1..3589a490 100644 --- a/src/main/java/net/Indyuce/mmocore/api/quest/QuestProgress.java +++ b/src/main/java/net/Indyuce/mmocore/api/quest/QuestProgress.java @@ -1,9 +1,8 @@ package net.Indyuce.mmocore.api.quest; -import org.bukkit.ChatColor; - import net.Indyuce.mmocore.api.player.PlayerData; import net.Indyuce.mmocore.api.quest.objective.Objective; +import net.asangarin.hexcolors.ColorParse; public class QuestProgress { private final Quest quest; @@ -65,6 +64,6 @@ public class QuestProgress { } public String getFormattedLore() { - return ChatColor.translateAlternateColorCodes('&', objectiveProgress.formatLore(objectiveProgress.getObjective().getDefaultLore())); + return new ColorParse('&', objectiveProgress.formatLore(objectiveProgress.getObjective().getDefaultLore())).toChatColor(); } } \ No newline at end of file diff --git a/src/main/java/net/Indyuce/mmocore/api/util/item/ConfigItem.java b/src/main/java/net/Indyuce/mmocore/api/util/item/ConfigItem.java index 3230d2ea..fb6c018f 100644 --- a/src/main/java/net/Indyuce/mmocore/api/util/item/ConfigItem.java +++ b/src/main/java/net/Indyuce/mmocore/api/util/item/ConfigItem.java @@ -9,7 +9,6 @@ import java.util.UUID; import java.util.logging.Level; import org.apache.commons.lang.Validate; -import org.bukkit.ChatColor; import org.bukkit.Material; import org.bukkit.configuration.ConfigurationSection; import org.bukkit.inventory.ItemFlag; @@ -20,6 +19,7 @@ import com.mojang.authlib.GameProfile; import com.mojang.authlib.properties.Property; import net.Indyuce.mmocore.MMOCore; +import net.asangarin.hexcolors.ColorParse; import net.mmogroup.mmolib.MMOLib; import net.mmogroup.mmolib.api.item.ItemTag; import net.mmogroup.mmolib.api.item.NBTItem; @@ -138,6 +138,6 @@ public class ConfigItem { for (String placeholder : placeholders.keySet()) if (string.contains("{" + placeholder + "}")) string = string.replace("{" + placeholder + "}", "" + placeholders.get(placeholder)); - return ChatColor.translateAlternateColorCodes('&', string); + return new ColorParse('&', string).toChatColor(); } } diff --git a/src/main/java/net/Indyuce/mmocore/api/util/item/NamedItemStack.java b/src/main/java/net/Indyuce/mmocore/api/util/item/NamedItemStack.java index 8a46934e..6121bd97 100644 --- a/src/main/java/net/Indyuce/mmocore/api/util/item/NamedItemStack.java +++ b/src/main/java/net/Indyuce/mmocore/api/util/item/NamedItemStack.java @@ -1,16 +1,17 @@ package net.Indyuce.mmocore.api.util.item; -import org.bukkit.ChatColor; import org.bukkit.Material; import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.meta.ItemMeta; +import net.asangarin.hexcolors.ColorParse; + public class NamedItemStack extends ItemStack { public NamedItemStack(Material material, String name) { super(material); ItemMeta meta = getItemMeta(); - meta.setDisplayName(ChatColor.translateAlternateColorCodes('&', name)); + meta.setDisplayName(new ColorParse('&', name).toChatColor()); setItemMeta(meta); } } diff --git a/src/main/java/net/Indyuce/mmocore/comp/placeholder/DefaultParser.java b/src/main/java/net/Indyuce/mmocore/comp/placeholder/DefaultParser.java index a2bb8392..a9b55887 100644 --- a/src/main/java/net/Indyuce/mmocore/comp/placeholder/DefaultParser.java +++ b/src/main/java/net/Indyuce/mmocore/comp/placeholder/DefaultParser.java @@ -1,11 +1,12 @@ package net.Indyuce.mmocore.comp.placeholder; -import org.bukkit.ChatColor; import org.bukkit.OfflinePlayer; +import net.asangarin.hexcolors.ColorParse; + public class DefaultParser implements PlaceholderParser { @Override public String parse(OfflinePlayer player, String string) { - return ChatColor.translateAlternateColorCodes('&', string.replace("%player%", player.getName())); + return new ColorParse('&', string.replace("%player%", player.getName())).toChatColor(); } } diff --git a/src/main/java/net/Indyuce/mmocore/gui/ClassSelect.java b/src/main/java/net/Indyuce/mmocore/gui/ClassSelect.java index 3e5250e3..eac3757a 100644 --- a/src/main/java/net/Indyuce/mmocore/gui/ClassSelect.java +++ b/src/main/java/net/Indyuce/mmocore/gui/ClassSelect.java @@ -5,7 +5,6 @@ import java.util.Comparator; import java.util.List; import java.util.stream.Collectors; -import org.bukkit.ChatColor; import org.bukkit.Material; import org.bukkit.Sound; import org.bukkit.configuration.ConfigurationSection; @@ -24,6 +23,7 @@ import net.Indyuce.mmocore.gui.api.GeneratedInventory; import net.Indyuce.mmocore.gui.api.item.InventoryItem; import net.Indyuce.mmocore.gui.api.item.NoPlaceholderItem; import net.Indyuce.mmocore.manager.InventoryManager; +import net.asangarin.hexcolors.ColorParse; import net.mmogroup.mmolib.api.item.ItemTag; import net.mmogroup.mmolib.api.item.NBTItem; @@ -68,7 +68,7 @@ public class ClassSelect extends EditableInventory { ItemMeta meta = item.getItemMeta(); if (hideFlags()) meta.addItemFlags(ItemFlag.values()); - meta.setDisplayName(ChatColor.translateAlternateColorCodes('&', name).replace("{name}", profess.getName())); + meta.setDisplayName(new ColorParse('&', name).toChatColor().replace("{name}", profess.getName())); List lore = new ArrayList<>(this.lore); int index = lore.indexOf("{lore}"); diff --git a/src/main/java/net/Indyuce/mmocore/gui/SkillList.java b/src/main/java/net/Indyuce/mmocore/gui/SkillList.java index 308cc556..211017a2 100644 --- a/src/main/java/net/Indyuce/mmocore/gui/SkillList.java +++ b/src/main/java/net/Indyuce/mmocore/gui/SkillList.java @@ -27,6 +27,7 @@ import net.Indyuce.mmocore.gui.api.item.InventoryItem; import net.Indyuce.mmocore.gui.api.item.InventoryPlaceholderItem; import net.Indyuce.mmocore.gui.api.item.NoPlaceholderItem; import net.Indyuce.mmocore.gui.api.item.Placeholders; +import net.asangarin.hexcolors.ColorParse; import net.mmogroup.mmolib.api.item.ItemTag; import net.mmogroup.mmolib.api.item.NBTItem; @@ -70,7 +71,7 @@ public class SkillList extends EditableInventory { if (function.equals("slot")) return new InventoryPlaceholderItem(config) { - private final String none = ChatColor.translateAlternateColorCodes('&', config.getString("no-skill")); + private final String none = new ColorParse('&', config.getString("no-skill")).toChatColor(); private final Material emptyMaterial = Material .valueOf(config.getString("empty-item").toUpperCase().replace("-", "_").replace(" ", "_")); @@ -169,12 +170,12 @@ public class SkillList extends EditableInventory { lore.add(index + j, skillLore.get(j)); for (int j = 0; j < lore.size(); j++) - lore.set(j, ChatColor.GRAY + ChatColor.translateAlternateColorCodes('&', lore.get(j))); + lore.set(j, ChatColor.GRAY + new ColorParse('&', lore.get(j)).toChatColor()); ItemStack item = cloneItem(); ItemMeta meta = item.getItemMeta(); - meta.setDisplayName(ChatColor.translateAlternateColorCodes('&', getName().replace("{skill}", skill.getSkill().getName()) - .replace("{roman}", MMOCoreUtils.intToRoman(skillLevel)).replace("{level}", "" + skillLevel))); + meta.setDisplayName(new ColorParse('&', getName().replace("{skill}", skill.getSkill().getName()) + .replace("{roman}", MMOCoreUtils.intToRoman(skillLevel)).replace("{level}", "" + skillLevel)).toChatColor()); meta.addItemFlags(ItemFlag.values()); meta.setLore(lore); item.setItemMeta(meta); diff --git a/src/main/java/net/Indyuce/mmocore/gui/SubclassSelect.java b/src/main/java/net/Indyuce/mmocore/gui/SubclassSelect.java index 5b85da0b..ab867b50 100644 --- a/src/main/java/net/Indyuce/mmocore/gui/SubclassSelect.java +++ b/src/main/java/net/Indyuce/mmocore/gui/SubclassSelect.java @@ -4,7 +4,6 @@ import java.util.ArrayList; import java.util.List; import java.util.stream.Collectors; -import org.bukkit.ChatColor; import org.bukkit.Sound; import org.bukkit.configuration.ConfigurationSection; import org.bukkit.event.inventory.InventoryClickEvent; @@ -21,6 +20,7 @@ import net.Indyuce.mmocore.gui.api.GeneratedInventory; import net.Indyuce.mmocore.gui.api.item.InventoryItem; import net.Indyuce.mmocore.gui.api.item.NoPlaceholderItem; import net.Indyuce.mmocore.manager.InventoryManager; +import net.asangarin.hexcolors.ColorParse; import net.mmogroup.mmolib.api.item.ItemTag; import net.mmogroup.mmolib.api.item.NBTItem; @@ -65,7 +65,7 @@ public class SubclassSelect extends EditableInventory { ItemStack item = profess.getIcon(); ItemMeta meta = item.getItemMeta(); - meta.setDisplayName(ChatColor.translateAlternateColorCodes('&', name).replace("{name}", profess.getName())); + meta.setDisplayName(new ColorParse('&', name).toChatColor().replace("{name}", profess.getName())); List lore = new ArrayList<>(this.lore); int index = lore.indexOf("{lore}"); diff --git a/src/main/java/net/Indyuce/mmocore/gui/api/GeneratedInventory.java b/src/main/java/net/Indyuce/mmocore/gui/api/GeneratedInventory.java index 8af87c23..d1595869 100644 --- a/src/main/java/net/Indyuce/mmocore/gui/api/GeneratedInventory.java +++ b/src/main/java/net/Indyuce/mmocore/gui/api/GeneratedInventory.java @@ -4,13 +4,13 @@ import java.util.ArrayList; import java.util.List; import org.bukkit.Bukkit; -import org.bukkit.ChatColor; import org.bukkit.event.inventory.InventoryClickEvent; import org.bukkit.inventory.Inventory; import net.Indyuce.mmocore.api.player.PlayerData; import net.Indyuce.mmocore.gui.api.item.InventoryItem; import net.Indyuce.mmocore.gui.api.item.TriggerItem; +import net.asangarin.hexcolors.ColorParse; public abstract class GeneratedInventory extends PluginInventory { private final EditableInventory editable; @@ -54,7 +54,7 @@ public abstract class GeneratedInventory extends PluginInventory { @Override public Inventory getInventory() { - Inventory inv = Bukkit.createInventory(this, editable.getSlots(), ChatColor.translateAlternateColorCodes('&', calculateName())); + Inventory inv = Bukkit.createInventory(this, editable.getSlots(), new ColorParse('&', calculateName()).toChatColor()); for (InventoryItem item : editable.getItems()) if (item.canDisplay(this)) diff --git a/src/main/java/net/Indyuce/mmocore/manager/ConfigManager.java b/src/main/java/net/Indyuce/mmocore/manager/ConfigManager.java index 6eb042bd..9e6113fe 100644 --- a/src/main/java/net/Indyuce/mmocore/manager/ConfigManager.java +++ b/src/main/java/net/Indyuce/mmocore/manager/ConfigManager.java @@ -20,6 +20,7 @@ import net.Indyuce.mmocore.api.util.input.AnvilGUI; import net.Indyuce.mmocore.api.util.input.ChatInput; import net.Indyuce.mmocore.api.util.input.PlayerInput; import net.Indyuce.mmocore.api.util.input.PlayerInput.InputType; +import net.asangarin.hexcolors.ColorParse; public class ConfigManager { @@ -155,7 +156,7 @@ public class ConfigManager { String format = messages.getString(key, ""); for (int j = 0; j < placeholders.length - 1; j += 2) format = format.replace("{" + placeholders[j] + "}", placeholders[j + 1]); - return new SimpleMessage(ChatColor.translateAlternateColorCodes('&', format)); + return new SimpleMessage(new ColorParse('&', format).toChatColor()); } public class SimpleMessage {