remove legacy chars before minimessage deserialization

This commit is contained in:
Julian Krings 2025-06-09 18:39:11 +02:00
parent 9cf567e1ff
commit eefbbab7ee
No known key found for this signature in database
GPG Key ID: 208C6E08C3B718D2
3 changed files with 30 additions and 7 deletions

View File

@ -160,7 +160,8 @@ public interface DecreeSystem extends CommandExecutor, TabCompleter {
} }
J.aBukkit(() -> { J.aBukkit(() -> {
if (!call(new VolmitSender(sender), args)) { var volmit = new VolmitSender(sender);
if (!call(volmit, args)) {
if (IrisSettings.get().getGeneral().isCommandSounds()) { if (IrisSettings.get().getGeneral().isCommandSounds()) {
if (sender instanceof Player) { if (sender instanceof Player) {
@ -169,7 +170,7 @@ public interface DecreeSystem extends CommandExecutor, TabCompleter {
} }
} }
sender.sendMessage(C.RED + "Unknown Iris Command"); volmit.sendMessage(C.RED + "Unknown Iris Command");
} else { } else {
if (IrisSettings.get().getGeneral().isCommandSounds()) { if (IrisSettings.get().getGeneral().isCommandSounds()) {
if (sender instanceof Player) { if (sender instanceof Player) {

View File

@ -376,6 +376,28 @@ public enum C {
return "#" + Integer.toHexString(spin(color.awtColor(), h, s, b).getRGB()).substring(2); return "#" + Integer.toHexString(spin(color.awtColor(), h, s, b).getRGB()).substring(2);
} }
public static String mini(String s) {
String msg = compress(s);
StringBuilder b = new StringBuilder();
boolean c = false;
for (char i : msg.toCharArray()) {
if (!c) {
if (i == C.COLOR_CHAR) {
c = true;
continue;
}
b.append(i);
} else {
c = false;
C o = C.getByChar(i);
b.append(o.token);
}
}
return b.toString();
}
public static String aura(String s, int hrad, int srad, int vrad) { public static String aura(String s, int hrad, int srad, int vrad) {
return aura(s, hrad, srad, vrad, 0.3D); return aura(s, hrad, srad, vrad, 0.3D);
} }

View File

@ -264,7 +264,7 @@ public class VolmitSender implements CommandSender {
private Component createNoPrefixComponent(String message) { private Component createNoPrefixComponent(String message) {
if (!IrisSettings.get().getGeneral().canUseCustomColors(this)) { if (!IrisSettings.get().getGeneral().canUseCustomColors(this)) {
String t = C.translateAlternateColorCodes('&', MiniMessage.miniMessage().stripTags(message)); String t = C.translateAlternateColorCodes('&', MiniMessage.miniMessage().stripTags(message));
return MiniMessage.miniMessage().deserialize(t); return MiniMessage.miniMessage().deserialize(C.mini(t));
} }
String t = C.translateAlternateColorCodes('&', message); String t = C.translateAlternateColorCodes('&', message);
@ -273,13 +273,13 @@ public class VolmitSender implements CommandSender {
} }
private Component createNoPrefixComponentNoProcessing(String message) { private Component createNoPrefixComponentNoProcessing(String message) {
return MiniMessage.builder().postProcessor(c -> c).build().deserialize(message); return MiniMessage.builder().postProcessor(c -> c).build().deserialize(C.mini(message));
} }
private Component createComponent(String message) { private Component createComponent(String message) {
if (!IrisSettings.get().getGeneral().canUseCustomColors(this)) { if (!IrisSettings.get().getGeneral().canUseCustomColors(this)) {
String t = C.translateAlternateColorCodes('&', MiniMessage.miniMessage().stripTags(getTag() + message)); String t = C.translateAlternateColorCodes('&', MiniMessage.miniMessage().stripTags(getTag() + message));
return MiniMessage.miniMessage().deserialize(t); return MiniMessage.miniMessage().deserialize(C.mini(t));
} }
String t = C.translateAlternateColorCodes('&', getTag() + message); String t = C.translateAlternateColorCodes('&', getTag() + message);
@ -290,11 +290,11 @@ public class VolmitSender implements CommandSender {
private Component createComponentRaw(String message) { private Component createComponentRaw(String message) {
if (!IrisSettings.get().getGeneral().canUseCustomColors(this)) { if (!IrisSettings.get().getGeneral().canUseCustomColors(this)) {
String t = C.translateAlternateColorCodes('&', MiniMessage.miniMessage().stripTags(getTag() + message)); String t = C.translateAlternateColorCodes('&', MiniMessage.miniMessage().stripTags(getTag() + message));
return MiniMessage.miniMessage().deserialize(t); return MiniMessage.miniMessage().deserialize(C.mini(t));
} }
String t = C.translateAlternateColorCodes('&', getTag() + message); String t = C.translateAlternateColorCodes('&', getTag() + message);
return MiniMessage.miniMessage().deserialize(t); return MiniMessage.miniMessage().deserialize(C.mini(t));
} }
public <T> void showWaiting(String passive, CompletableFuture<T> f) { public <T> void showWaiting(String passive, CompletableFuture<T> f) {