Try load changed version if possible

This commit is contained in:
libraryaddict 2021-06-01 01:08:26 +12:00
parent c49e2e6636
commit 84d95b5b2b
3 changed files with 33 additions and 10 deletions

View File

@ -302,13 +302,17 @@ public enum LibsMsg {
LibsMsg(String string) { LibsMsg(String string) {
this.string = string; this.string = string;
if (!DisguiseUtilities.hasAdventureTextSupport()) { useString = DisguiseUtilities.hasAdventureTextSupport() ? string : getVanillaFormat();
for (ChatColor c : ChatColor.values()) { }
string = string.replaceAll("<" + c.name().toLowerCase(Locale.ROOT) + ">", "§" + c.getChar());
} public String getVanillaFormat() {
String raw = getRaw();
for (ChatColor c : ChatColor.values()) {
raw = raw.replace("<" + c.name().toLowerCase(Locale.ROOT) + ">", "§" + c.getChar());
} }
useString = string; return raw;
} }
public String getRaw() { public String getRaw() {

View File

@ -107,7 +107,7 @@ public class TranslateFiller {
.save("DisgiseType", "Used for the disgiuse modify radius command to list all " + "disguisetypes"); .save("DisgiseType", "Used for the disgiuse modify radius command to list all " + "disguisetypes");
for (LibsMsg msg : LibsMsg.values()) { for (LibsMsg msg : LibsMsg.values()) {
TranslateType.MESSAGES.save(DisguiseUtilities.translateAlternateColorCodes(msg.getRaw()), "Reference: " + msg.name()); TranslateType.MESSAGES.save(msg, DisguiseUtilities.translateAlternateColorCodes(msg.getRaw()), "Reference: " + msg.name());
} }
for (TranslateType type : TranslateType.values()) { for (TranslateType type : TranslateType.values()) {

View File

@ -135,15 +135,31 @@ public enum TranslateType {
} }
public void save(String message, String comment) { public void save(String message, String comment) {
String sanitized = StringEscapeUtils.escapeJava(message.replace(ChatColor.COLOR_CHAR + "", "&")); save(null, message, comment);
}
toDeDupe.put(sanitized, false); public void save(LibsMsg orig, String message, String comment) {
toDeDupe.put(StringEscapeUtils.escapeJava(message.replace("§", "&")), false);
if (translated.containsKey(message)) { if (translated.containsKey(message)) {
return; return;
} }
translated.put(message, message); String value = message;
if (orig != null) {
String vanilla = orig.getVanillaFormat();
if (translated.containsKey(vanilla) && !vanilla.equals(message) && !translated.get(vanilla).equals(vanilla)) {
value = translated.get(vanilla);
for (ChatColor color : ChatColor.values()) {
value = value.replace("§" + color.getChar(), "<" + color.name().toLowerCase(Locale.ROOT) + ">");
}
}
}
translated.put(message, value);
try { try {
boolean exists = getFile().exists(); boolean exists = getFile().exists();
@ -169,7 +185,10 @@ public enum TranslateType {
} }
} }
writer.write("\n" + (comment != null ? "# " + comment + "\n" : "") + "\"" + sanitized + "\": \"" + sanitized + "\"\n"); String sanitizedKey = StringEscapeUtils.escapeJava(message.replace("§", "&"));
String sanitized = StringEscapeUtils.escapeJava(value.replace("§", "&"));
writer.write("\n" + (comment != null ? "# " + comment + "\n" : "") + "\"" + sanitizedKey + "\": \"" + sanitized + "\"\n");
written++; written++;
} catch (Exception ex) { } catch (Exception ex) {
ex.printStackTrace(); ex.printStackTrace();