9
0
mirror of https://github.com/Xiao-MoMi/Custom-Fishing.git synced 2025-12-29 11:59:11 +00:00
This commit is contained in:
Xiao-MoMi
2022-11-29 16:58:23 +08:00
parent 0bd8e447d0
commit f4c3f42cf0
13 changed files with 162 additions and 141 deletions

View File

@@ -68,7 +68,7 @@ public class ItemStackUtil {
NBTCompound display = nbtItem.addCompound("display");
String name = item.getName();
if (name.contains("&") || name.contains("§")){
name = replaceLegacy(name);
name = AdventureUtil.replaceLegacy(name);
}
display.setString("Name", GsonComponentSerializer.gson().serialize(MiniMessage.miniMessage().deserialize("<!i>" + name)));
}
@@ -77,7 +77,7 @@ public class ItemStackUtil {
List<String> lore = display.getStringList("Lore");
item.getLore().forEach(line -> {
if (line.contains("&") || line.contains("§")){
line = replaceLegacy(line);
line = AdventureUtil.replaceLegacy(line);
}
lore.add(GsonComponentSerializer.gson().serialize(MiniMessage.miniMessage().deserialize("<!i>" + line)));
});
@@ -289,113 +289,4 @@ public class ItemStackUtil {
});
return map;
}
public static String replaceLegacy(String s) {
StringBuilder stringBuilder = new StringBuilder();
char[] chars = s.replaceAll("&","§").toCharArray();
for (int i = 0; i < chars.length; i++) {
if (chars[i] == '§') {
if (i + 1 < chars.length) {
switch (chars[i+1]){
case '0' -> {
i++;
stringBuilder.append("<black>");
}
case '1' -> {
i++;
stringBuilder.append("<dark_blue>");
}
case '2' -> {
i++;
stringBuilder.append("<dark_green>");
}
case '3' -> {
i++;
stringBuilder.append("<dark_aqua>");
}
case '4' -> {
i++;
stringBuilder.append("<dark_red>");
}
case '5' -> {
i++;
stringBuilder.append("<dark_purple>");
}
case '6' -> {
i++;
stringBuilder.append("<gold>");
}
case '7' -> {
i++;
stringBuilder.append("<gray>");
}
case '8' -> {
i++;
stringBuilder.append("<dark_gray>");
}
case '9' -> {
i++;
stringBuilder.append("<blue>");
}
case 'a' -> {
i++;
stringBuilder.append("<green>");
}
case 'b' -> {
i++;
stringBuilder.append("<aqua>");
}
case 'c' -> {
i++;
stringBuilder.append("<red>");
}
case 'd' -> {
i++;
stringBuilder.append("<light_purple>");
}
case 'e' -> {
i++;
stringBuilder.append("<yellow>");
}
case 'f' -> {
i++;
stringBuilder.append("<white>");
}
case 'r' -> {
i++;
stringBuilder.append("<reset><!italic>");
}
case 'l' -> {
i++;
stringBuilder.append("<bold>");
}
case 'm' -> {
i++;
stringBuilder.append("<strikethrough>");
}
case 'o' -> {
i++;
stringBuilder.append("<italic>");
}
case 'n' -> {
i++;
stringBuilder.append("<underlined>");
}
case 'x' -> {
stringBuilder.append("<#").append(chars[i+3]).append(chars[i+5]).append(chars[i+7]).append(chars[i+9]).append(chars[i+11]).append(chars[i+13]).append(">");
i += 13;
}
case 'k' -> {
i++;
stringBuilder.append("<obfuscated>");
}
}
}
}
else {
stringBuilder.append(chars[i]);
}
}
return stringBuilder.toString();
}
}