minecraft-src/net/minecraft/util/datafix/fixes/OminousBannerRenameFix.java
2025-07-04 03:45:38 +03:00

35 lines
1 KiB
Java

package net.minecraft.util.datafix.fixes;
import com.mojang.datafixers.Typed;
import com.mojang.datafixers.schemas.Schema;
import com.mojang.serialization.Dynamic;
import java.util.Optional;
import net.minecraft.Util;
public class OminousBannerRenameFix extends ItemStackTagFix {
public OminousBannerRenameFix(Schema schema) {
super(schema, "OminousBannerRenameFix", string -> string.equals("minecraft:white_banner"));
}
private <T> Dynamic<T> fixItemStackTag(Dynamic<T> data) {
return data.update(
"display",
dynamic -> dynamic.update(
"Name",
dynamicx -> {
Optional<String> optional = dynamicx.asString().result();
return optional.isPresent()
? dynamicx.createString(
((String)optional.get()).replace("\"translate\":\"block.minecraft.illager_banner\"", "\"translate\":\"block.minecraft.ominous_banner\"")
)
: dynamicx;
}
)
);
}
@Override
protected Typed<?> fixItemStackTag(Typed<?> data) {
return Util.writeAndReadTypedOrThrow(data, data.getType(), this::fixItemStackTag);
}
}