Potions
A Potion
is simply a list of Effect
s to be applied when used. Each Potion
gets applied to every Items#POTION
, Items#SPLASH_POTION
, Items#LINGERING_POTION
, and Items#TIPPED_ARROW
. Like effects, potions need to be registered.
Creating a Potion
A Potion
requires a passed in list of EffectInstance
s to apply to the player when the potion is "consumed". There is also a nullable parameter called baseName
that can be set if you would like to use the same name for multiple potions (e.g. a SWIFTNESS
and LONG_SWIFTNESS
entry can be both swiftness
potions).
Adding a Brewing Recipe
Brewing Recipes can be added using BrewingRecipeRegistry::addRecipe
. The most common constructor takes in an Ingredient
input, an Ingredient
reactant, and an ItemStack
output. This can be registered during FMLCommonSetupEvent
.
Important
NBTIngredient
instead.Alert
BrewingRecipeRegistry
is not thread-safe. It should be called within enqueueWork
in the specified parallel dispatch event.