35 lines
1 KiB
Java
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);
|
|
}
|
|
}
|