minecraft-src/net/minecraft/util/datafix/fixes/LodestoneCompassComponentFix.java
2025-07-04 03:15:13 +03:00

23 lines
917 B
Java

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 <T> Dynamic<T> fixComponent(Dynamic<T> component) {
Optional<Dynamic<T>> optional = component.get("pos").result();
Optional<Dynamic<T>> 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;
}
}