diff --git a/pom.xml b/pom.xml
index 8de7c78..11b0a0f 100644
--- a/pom.xml
+++ b/pom.xml
@@ -6,7 +6,7 @@
cn.lunadeer
MiniPlayerTitle
- 4.6.2
+ 4.7.0
jar
MiniPlayerTitle
@@ -82,7 +82,7 @@
cn.lunadeer
MinecraftPluginUtils
- 1.3.4-SNAPSHOT
+ 1.3.7-SNAPSHOT
me.clip
diff --git a/src/main/java/cn/lunadeer/miniplayertitle/Expansion.java b/src/main/java/cn/lunadeer/miniplayertitle/Expansion.java
index 0b1365f..ad547f1 100644
--- a/src/main/java/cn/lunadeer/miniplayertitle/Expansion.java
+++ b/src/main/java/cn/lunadeer/miniplayertitle/Expansion.java
@@ -34,7 +34,7 @@ public class Expansion extends PlaceholderExpansion {
if (t == null) {
return "";
}
- return ChatColor.translateAlternateColorCodes('&', t.getTitleColoredBukkit());
+ return t.getTitleColoredBukkit();
}
return null; //
diff --git a/src/main/java/cn/lunadeer/miniplayertitle/dtos/TitleDTO.java b/src/main/java/cn/lunadeer/miniplayertitle/dtos/TitleDTO.java
index 7aa60ba..99cff97 100644
--- a/src/main/java/cn/lunadeer/miniplayertitle/dtos/TitleDTO.java
+++ b/src/main/java/cn/lunadeer/miniplayertitle/dtos/TitleDTO.java
@@ -1,21 +1,16 @@
package cn.lunadeer.miniplayertitle.dtos;
-import cn.lunadeer.minecraftpluginutils.XLogger;
+import cn.lunadeer.minecraftpluginutils.ColorParser;
import cn.lunadeer.minecraftpluginutils.databse.DatabaseManager;
import cn.lunadeer.minecraftpluginutils.databse.Field;
import cn.lunadeer.minecraftpluginutils.databse.FieldType;
-import cn.lunadeer.miniplayertitle.Color;
import cn.lunadeer.miniplayertitle.MiniPlayerTitle;
-import net.kyori.adventure.text.Component;
import net.kyori.adventure.text.TextComponent;
-import net.kyori.adventure.text.event.HoverEvent;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
import static cn.lunadeer.minecraftpluginutils.databse.DatabaseManager.handleDatabaseError;
@@ -80,32 +75,8 @@ public class TitleDTO {
}
public TextComponent getTitleColored() {
- TextComponent prefix = Component.text(MiniPlayerTitle.config.getPrefix(), new Color("#ffffff").getStyle());
- TextComponent suffix = Component.text(MiniPlayerTitle.config.getSuffix(), new Color("#ffffff").getStyle());
- String[] parts = getTitleRaw().split("");
- List components = new ArrayList<>();
- components.add(prefix);
- for (String part : parts) {
- if (part.isEmpty()) {
- continue;
- }
- Color color = new Color("#ffffff");
- String content;
- if (part.length() > 6 && part.substring(0, 6).matches("^[0-9a-fA-F]{6}$")) {
- String color_str = part.substring(0, 6);
- color = new Color("#" + color_str);
- content = part.substring(6);
- } else {
- content = part;
- }
- components.add(Component.text(content, color.getStyle()));
- }
- components.add(suffix);
- TextComponent.Builder title_component = Component.text();
- for (TextComponent component : components) {
- title_component.append(component);
- }
- return title_component.build().hoverEvent(HoverEvent.hoverEvent(HoverEvent.Action.SHOW_TEXT, Component.text(getDescription())));
+ String with_pre_suf = "ffffff" + MiniPlayerTitle.config.getPrefix() + getTitleRaw() + "ffffff" + MiniPlayerTitle.config.getSuffix();
+ return ColorParser.getComponentType(with_pre_suf);
}
/**
@@ -116,38 +87,12 @@ public class TitleDTO {
* @return String
*/
public String getTitleColoredBukkit() {
- String title = "&f" + MiniPlayerTitle.config.getPrefix() + getTitleRaw() + "&f" + MiniPlayerTitle.config.getSuffix();
- title = title.replaceAll("", "#");
- Pattern pattern = Pattern.compile("#[a-fA-F0-9]{6}");
- Matcher matcher = pattern.matcher(title);
- while (matcher.find()) {
- String hexCode = matcher.group();
- StringBuilder builder = new StringBuilder("&x");
- for (char c : hexCode.substring(1).toCharArray()) {
- builder.append('&').append(c);
- }
- title = title.replace(hexCode, builder.toString());
- }
- XLogger.debug("TitleDTO.getTitleColoredBukkit: %s", title);
- return title;
+ String with_pre_suf = "ffffff" + MiniPlayerTitle.config.getPrefix() + getTitleRaw() + "ffffff" + MiniPlayerTitle.config.getSuffix();
+ return ColorParser.getBukkitType(with_pre_suf);
}
public String getTitlePlainText() {
- String[] parts = getTitleRaw().split("");
- StringBuilder res = new StringBuilder();
- for (String part : parts) {
- if (part.isEmpty()) {
- continue;
- }
- String content;
- if (part.length() > 6 && part.substring(0, 6).matches("^[0-9a-fA-F]{6}$")) {
- content = part.substring(6);
- } else {
- content = part;
- }
- res.append(content);
- }
- return res.toString();
+ return ColorParser.getPlainText(getTitleRaw());
}
public Integer getId() {