Spaces:
Build error
Build error
File size: 2,706 Bytes
d46f4a3 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 |
package net.minecraft.locale;
import com.google.gson.JsonElement;
import com.google.gson.JsonParser;
import com.mojang.logging.LogUtils;
import com.mojang.serialization.Codec;
import com.mojang.serialization.JsonOps;
import com.mojang.serialization.codecs.RecordCodecBuilder;
import com.mojang.serialization.codecs.RecordCodecBuilder.Instance;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.nio.charset.StandardCharsets;
import java.util.List;
import java.util.Map;
import org.slf4j.Logger;
public record DeprecatedTranslationsInfo(List<String> removed, Map<String, String> renamed) {
private static final Logger LOGGER = LogUtils.getLogger();
public static final DeprecatedTranslationsInfo EMPTY = new DeprecatedTranslationsInfo(List.of(), Map.of());
public static final Codec<DeprecatedTranslationsInfo> CODEC = RecordCodecBuilder.create(
p_368182_ -> p_368182_.group(
Codec.STRING.listOf().fieldOf("removed").forGetter(DeprecatedTranslationsInfo::removed),
Codec.unboundedMap(Codec.STRING, Codec.STRING).fieldOf("renamed").forGetter(DeprecatedTranslationsInfo::renamed)
)
.apply(p_368182_, DeprecatedTranslationsInfo::new)
);
public static DeprecatedTranslationsInfo loadFromJson(InputStream p_366953_) {
JsonElement jsonelement = JsonParser.parseReader(new InputStreamReader(p_366953_, StandardCharsets.UTF_8));
return CODEC.parse(JsonOps.INSTANCE, jsonelement)
.getOrThrow(p_370184_ -> new IllegalStateException("Failed to parse deprecated language data: " + p_370184_));
}
public static DeprecatedTranslationsInfo loadFromResource(String p_369676_) {
try (InputStream inputstream = Language.class.getResourceAsStream(p_369676_)) {
return inputstream != null ? loadFromJson(inputstream) : EMPTY;
} catch (Exception exception) {
LOGGER.error("Failed to read {}", p_369676_, exception);
return EMPTY;
}
}
public static DeprecatedTranslationsInfo loadFromDefaultResource() {
return loadFromResource("/assets/minecraft/lang/deprecated.json");
}
public void applyToMap(Map<String, String> p_370162_) {
for (String s : this.removed) {
p_370162_.remove(s);
}
this.renamed.forEach((p_363113_, p_364770_) -> {
String s1 = p_370162_.remove(p_363113_);
if (s1 == null) {
LOGGER.warn("Missing translation key for rename: {}", p_363113_);
p_370162_.remove(p_364770_);
} else {
p_370162_.put(p_364770_, s1);
}
});
}
} |