package net.minecraft.client.gui.font.providers; import com.mojang.datafixers.util.Either; import com.mojang.serialization.MapCodec; import com.mojang.serialization.codecs.RecordCodecBuilder; import com.mojang.serialization.codecs.RecordCodecBuilder.Instance; import net.minecraft.resources.ResourceLocation; import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.api.distmarker.OnlyIn; @OnlyIn(Dist.CLIENT) public record ProviderReferenceDefinition(ResourceLocation id) implements GlyphProviderDefinition { public static final MapCodec CODEC = RecordCodecBuilder.mapCodec( p_286521_ -> p_286521_.group(ResourceLocation.CODEC.fieldOf("id").forGetter(ProviderReferenceDefinition::id)) .apply(p_286521_, ProviderReferenceDefinition::new) ); @Override public GlyphProviderType type() { return GlyphProviderType.REFERENCE; } @Override public Either unpack() { return Either.right(new GlyphProviderDefinition.Reference(this.id)); } }