package net.minecraft.util.datafix.fixes; import com.mojang.datafixers.DSL; import com.mojang.datafixers.Typed; import com.mojang.datafixers.schemas.Schema; import com.mojang.datafixers.util.Pair; import com.mojang.serialization.Dynamic; public abstract class SimpleEntityRenameFix extends EntityRenameFix { public SimpleEntityRenameFix(String name, Schema outputSchema, boolean changesType) { super(name, outputSchema, changesType); } @Override protected Pair> fix(String entityName, Typed typed) { Pair> pair = this.getNewNameAndTag(entityName, typed.getOrCreate(DSL.remainderFinder())); return Pair.of(pair.getFirst(), typed.set(DSL.remainderFinder(), pair.getSecond())); } protected abstract Pair> getNewNameAndTag(String name, Dynamic tag); }