package com.level314.teleportanchor; import com.mojang.serialization.Codec; import com.mojang.serialization.codecs.RecordCodecBuilder; import net.minecraft.core.UUIDUtil; import java.util.List; import java.util.UUID; public record AnchorRecord( String dimension, int x, int y, int z, long activatedTime, List boundPlayers, UUID owner ){ public static final Codec CODEC = RecordCodecBuilder.create( instance -> instance.group( Codec.STRING.fieldOf("dimension").forGetter(AnchorRecord::dimension), Codec.INT.fieldOf("x").forGetter(AnchorRecord::x), Codec.INT.fieldOf("y").forGetter(AnchorRecord::y), Codec.INT.fieldOf("z").forGetter(AnchorRecord::z), Codec.LONG.fieldOf("activated_time").forGetter(AnchorRecord::activatedTime), UUIDUtil.CODEC.listOf().fieldOf("boundPlayers").forGetter(AnchorRecord::boundPlayers), UUIDUtil.CODEC.fieldOf("owner").forGetter(AnchorRecord::owner) ).apply(instance, AnchorRecord::new) ); }