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(final String name, final Schema outputSchema, final boolean changesType) { super(name, outputSchema, changesType); } @Override protected Pair> fix(final String name, final Typed entity) { Pair> pair = this.getNewNameAndTag(name, entity.getOrCreate(DSL.remainderFinder())); return Pair.of(pair.getFirst(), entity.set(DSL.remainderFinder(), pair.getSecond())); } protected abstract Pair> getNewNameAndTag(final String name, final Dynamic tag); }