package net.minecraft.util.datafix.fixes; import com.mojang.datafixers.schemas.Schema; import com.mojang.serialization.Dynamic; import java.util.Map; import java.util.Optional; public class PrimedTntBlockStateFixer extends NamedEntityWriteReadFix { public PrimedTntBlockStateFixer(Schema outputSchema) { super(outputSchema, true, "PrimedTnt BlockState fixer", References.ENTITY, "minecraft:tnt"); } private static Dynamic renameFuse(Dynamic tag) { Optional> optional = tag.get("Fuse").get().result(); return optional.isPresent() ? tag.set("fuse", (Dynamic)optional.get()) : tag; } private static Dynamic insertBlockState(Dynamic tag) { return tag.set("block_state", tag.createMap(Map.of(tag.createString("Name"), tag.createString("minecraft:tnt")))); } @Override protected Dynamic fix(Dynamic tag) { return renameFuse(insertBlockState(tag)); } }