package net.minecraft.world.level.saveddata.maps; import com.mojang.serialization.Codec; import com.mojang.serialization.codecs.RecordCodecBuilder; import net.minecraft.core.BlockPos; public record MapFrame(BlockPos pos, int rotation, int entityId) { public static final Codec CODEC = RecordCodecBuilder.create( instance -> instance.group( BlockPos.CODEC.fieldOf("pos").forGetter(MapFrame::pos), Codec.INT.fieldOf("rotation").forGetter(MapFrame::rotation), Codec.INT.fieldOf("entity_id").forGetter(MapFrame::entityId) ) .apply(instance, MapFrame::new) ); public String getId() { return frameId(this.pos); } public static String frameId(BlockPos pos) { return "frame-" + pos.getX() + "," + pos.getY() + "," + pos.getZ(); } }