How to Create Custom Soil for Botany Pots
Registering Soil
Soil recipes tell Botany Pots which block a pot should display and which growth categories it provides. Use event.recipes.botanypots.soil inside ServerEvents.recipes.
`js
ServerEvents.recipes(event => {
event.recipes.botanypots.soil(
"minecraft:oak_leaves",
{ block: "minecraft:oak_leaves" },
["oak_leaves"],
100
)
})
`
Matching Soil to Crops
The first argument is the item consumed or attached as soil. The display block is what renders inside the pot. The category list is the important part: any crop whose category list includes one of these strings can be planted on this soil. The final number is the growth tick value the soil contributes.
If a crop never grows, the most common cause is a category mismatch. Double-check that the string in your crop's category array exactly matches a string in your soil's category array — capitalization and spelling matter. You can assign multiple categories to one soil so it supports several crop types at once. After editing, run /reload and place the soil item into a Botany Pot to confirm it registers.