package net.minecraft.util.datafix.fixes; import com.mojang.datafixers.schemas.Schema; import com.mojang.serialization.Dynamic; import java.util.Optional; public class LodestoneCompassComponentFix extends DataComponentRemainderFix { public LodestoneCompassComponentFix(Schema outputSchema) { super(outputSchema, "LodestoneCompassComponentFix", "minecraft:lodestone_target", "minecraft:lodestone_tracker"); } @Override protected Dynamic fixComponent(Dynamic component) { Optional> optional = component.get("pos").result(); Optional> optional2 = component.get("dimension").result(); component = component.remove("pos").remove("dimension"); if (optional.isPresent() && optional2.isPresent()) { component = component.set("target", component.emptyMap().set("pos", (Dynamic)optional.get()).set("dimension", (Dynamic)optional2.get())); } return component; } }