Merge remote-tracking branch 'origin/master' into dev

This commit is contained in:
KennyTV 2020-10-16 16:56:29 +02:00
commit 6cb2837d77
No known key found for this signature in database
GPG Key ID: 6BE3B555EBC5982B
2 changed files with 22 additions and 8 deletions

View File

@ -27,8 +27,15 @@ public class TranslateRewriter {
return;
}
String value = hoverEvent.getAsJsonPrimitive("value").getAsString();
if (AchievementTranslationMapping.get(value) == null) {
String textValue;
JsonElement value = hoverEvent.get("value");
if (value.isJsonObject()) {
textValue = value.getAsJsonObject().get("text").getAsString();
} else {
textValue = value.getAsJsonPrimitive().getAsString();
}
if (AchievementTranslationMapping.get(textValue) == null) {
JsonObject invalidText = new JsonObject();
invalidText.addProperty("text", "Invalid statistic/achievement!");
invalidText.addProperty("color", "red");
@ -48,17 +55,17 @@ public class TranslateRewriter {
baseArray.add(namePart);
baseArray.add(newLine);
baseArray.add(typePart);
if (value.startsWith("achievement")) {
namePart.addProperty("translate", value);
namePart.addProperty("color", AchievementTranslationMapping.isSpecial(value) ? "dark_purple" : "green");
if (textValue.startsWith("achievement")) {
namePart.addProperty("translate", textValue);
namePart.addProperty("color", AchievementTranslationMapping.isSpecial(textValue) ? "dark_purple" : "green");
typePart.addProperty("translate", "stats.tooltip.type.achievement");
JsonObject description = new JsonObject();
typePart.addProperty("italic", true);
description.addProperty("translate", value + ".desc");
baseArray.add(newLine);
baseArray.add(description);
} else if (value.startsWith("stat")) {
namePart.addProperty("translate", value);
} else if (textValue.startsWith("stat")) {
namePart.addProperty("translate", textValue);
namePart.addProperty("color", "gray");
typePart.addProperty("translate", "stats.tooltip.type.statistic");
typePart.addProperty("italic", true);

View File

@ -211,6 +211,7 @@ public class EntityPackets {
handler(wrapper -> {
wrapper.passthrough(Type.VAR_INT);
int size = wrapper.passthrough(Type.INT);
int actualSize = size;
for (int i = 0; i < size; i++) {
// Attributes have been renamed and are now namespaced identifiers
String key = wrapper.read(Type.STRING);
@ -218,7 +219,10 @@ public class EntityPackets {
if (attributeIdentifier == null) {
attributeIdentifier = "minecraft:" + key;
if (!us.myles.ViaVersion.protocols.protocol1_13to1_12_2.data.MappingData.isValid1_13Channel(attributeIdentifier)) {
Via.getPlatform().getLogger().warning("Invalid attribute: " + key);
if (!Via.getConfig().isSuppressConversionWarnings()) {
Via.getPlatform().getLogger().warning("Invalid attribute: " + key);
}
actualSize--;
wrapper.read(Type.DOUBLE);
int modifierSize = wrapper.read(Type.VAR_INT);
for (int j = 0; j < modifierSize; j++) {
@ -240,6 +244,9 @@ public class EntityPackets {
wrapper.passthrough(Type.BYTE);
}
}
if (size != actualSize) {
wrapper.set(Type.INT, 0, actualSize);
}
});
}
});