Class IngredientTypeAdapter
java.lang.Object
net.darkhax.bookshelf.common.api.registry.adapters.GenericRegistryAdapter<IngredientTypeAdapter.IngredientType>
net.darkhax.bookshelf.common.impl.registry.adapter.IngredientTypeAdapter
- All Implemented Interfaces:
RegistryAdapter<net.minecraft.resources.Identifier, IngredientTypeAdapter.IngredientType>
public class IngredientTypeAdapter
extends GenericRegistryAdapter<IngredientTypeAdapter.IngredientType>
A registry adapter that can register new types of ingredients.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final recordAn internal type that holds a map codec and the ByteBuf codec for a custom ingredient type. -
Field Summary
Fields inherited from class GenericRegistryAdapter
context, registryFunc -
Constructor Summary
ConstructorsConstructorDescriptionIngredientTypeAdapter(RegistrationContext context, BiConsumer<net.minecraft.resources.Identifier, Supplier<IngredientTypeAdapter.IngredientType>> registryFunc) -
Method Summary
Modifier and TypeMethodDescription<T extends IngredientLogic<T>>
RegistryReference<net.minecraft.resources.Identifier, IngredientTypeAdapter.IngredientType> add(String key, com.mojang.serialization.MapCodec<T> codec, net.minecraft.network.codec.StreamCodec<net.minecraft.network.RegistryFriendlyByteBuf, T> stream) Adds a new type of ingredient to the game.Methods inherited from class GenericRegistryAdapter
add, add, addMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface RegistryAdapter
add
-
Constructor Details
-
IngredientTypeAdapter
public IngredientTypeAdapter(RegistrationContext context, BiConsumer<net.minecraft.resources.Identifier, Supplier<IngredientTypeAdapter.IngredientType>> registryFunc)
-
-
Method Details
-
add
public <T extends IngredientLogic<T>> RegistryReference<net.minecraft.resources.Identifier, IngredientTypeAdapter.IngredientType> add(String key, com.mojang.serialization.MapCodec<T> codec, net.minecraft.network.codec.StreamCodec<net.minecraft.network.RegistryFriendlyByteBuf, T> stream) Adds a new type of ingredient to the game.- Type Parameters:
T- The type of the ingredient logic.- Parameters:
key- The ID to register the value under. This ID only needs to be unique within your namespace.codec- A map codec that constructs the ingredient logic from map data like JSON.stream- A ByteBuf codec that constructs the ingredient logic from network data.- Returns:
- A reference to the registry entry.
-