Advertisement
CreativeMasterBonin

SignType Codecs

Jul 12th, 2025
82
0
6 days
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.70 KB | None | 0 0
  1. package net.rk.longroads.registries;
  2.  
  3. import com.mojang.serialization.Codec;
  4. import com.mojang.serialization.codecs.RecordCodecBuilder;
  5. import net.minecraft.core.Holder;
  6. import net.minecraft.network.RegistryFriendlyByteBuf;
  7. import net.minecraft.network.codec.ByteBufCodecs;
  8. import net.minecraft.network.codec.StreamCodec;
  9. import net.minecraft.resources.RegistryFileCodec;
  10. import net.minecraft.resources.ResourceLocation;
  11.  
  12. public record SignType(ResourceLocation assetId, String translationKey, String signModeltype){
  13.     public static final Codec<SignType> DIRECT_CODEC = RecordCodecBuilder.create(
  14.             codecBuilderInstance -> codecBuilderInstance.group(
  15.                             ResourceLocation.CODEC.fieldOf("asset_id").forGetter(SignType::assetId),
  16.                             Codec.STRING.fieldOf("translation_key").forGetter(SignType::translationKey),
  17.                             Codec.STRING.fieldOf("sign_model_type").forGetter(SignType::signModeltype)
  18.                     )
  19.                     .apply(codecBuilderInstance, SignType::new)
  20.     );
  21.     public static final StreamCodec<RegistryFriendlyByteBuf, SignType> DIRECT_STREAM_CODEC = StreamCodec.composite(
  22.             ResourceLocation.STREAM_CODEC, SignType::assetId,
  23.             ByteBufCodecs.STRING_UTF8, SignType::translationKey,
  24.             ByteBufCodecs.STRING_UTF8, SignType::signModeltype,
  25.             SignType::new
  26.     );
  27.     public static final Codec<Holder<SignType>> CODEC = RegistryFileCodec.create(TLRRegistries.SIGN_TYPE, DIRECT_CODEC);
  28.     public static final StreamCodec<RegistryFriendlyByteBuf, Holder<SignType>> STREAM_CODEC = ByteBufCodecs.holder(
  29.             TLRRegistries.SIGN_TYPE, DIRECT_STREAM_CODEC
  30.     );
  31. }
  32.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement