Newer
Older
void-pack-super-server / work / decompile-ee3ecae0 / net / minecraft / server / DataConverterOminousBannerBlockEntityRename.java
package net.minecraft.server;

import com.mojang.datafixers.DSL;
import com.mojang.datafixers.Dynamic;
import com.mojang.datafixers.Typed;
import com.mojang.datafixers.schemas.Schema;
import java.util.Optional;

public class DataConverterOminousBannerBlockEntityRename extends DataConverterNamedEntity {

    public DataConverterOminousBannerBlockEntityRename(Schema schema, boolean flag) {
        super(schema, flag, "OminousBannerBlockEntityRenameFix", DataConverterTypes.BLOCK_ENTITY, "minecraft:banner");
    }

    @Override
    protected Typed<?> a(Typed<?> typed) {
        return typed.update(DSL.remainderFinder(), this::a);
    }

    private Dynamic<?> a(Dynamic<?> dynamic) {
        Optional<String> optional = dynamic.get("CustomName").asString();

        if (optional.isPresent()) {
            String s = (String) optional.get();

            s = s.replace("\"translate\":\"block.minecraft.illager_banner\"", "\"translate\":\"block.minecraft.ominous_banner\"");
            return dynamic.set("CustomName", dynamic.createString(s));
        } else {
            return dynamic;
        }
    }
}