Interface CustomIngredientSerializer<T extends CustomIngredient>

Type Parameters:
T - the type of the custom ingredient

public interface CustomIngredientSerializer<T extends CustomIngredient>
Serializer for a CustomIngredient.

All instances must be registered using register(net.fabricmc.fabric.api.recipe.v1.ingredient.CustomIngredientSerializer<?>) for deserialization to work.

  • Method Details

    • register

      static void register(CustomIngredientSerializer<?> serializer)
      Registers a custom ingredient serializer, using the serializer's identifier.
      Throws:
      IllegalArgumentException - if the serializer is already registered
    • get

      @Nullable static @Nullable CustomIngredientSerializer<?> get(Identifier identifier)
      Returns the custom ingredient serializer registered with the given identifier, or null if there is no such serializer..
      Returns:
      the custom ingredient serializer registered with the given identifier, or null if there is no such serializer
    • getIdentifier

      Identifier getIdentifier()
      Returns the identifier of this serializer..
      Returns:
      the identifier of this serializer
    • getCodec

      com.mojang.serialization.Codec<T> getCodec(boolean allowEmpty)
      Returns the codec..

      Codecs are used to read the ingredient from the recipe JSON files.

      Returns:
      the codec
      See Also:
    • read

      T read(PacketByteBuf buf)
      Deserializes the custom ingredient from a packet buffer.
    • write

      void write(PacketByteBuf buf, T ingredient)
      Serializes the custom ingredient to a packet buffer.