
Custom Potions
Allows adding custom potions and potion recipes through datapacks
Screenshots



About this Mod
Custom Potions
Provides a server side only way to add custom potions using datapacks.
When installed on the client, it provides integration with REI and EMI. (Only up to 1.21.1. If you experience issues with it, you can disable it starting with 2.1.2+1.21.1 in config/custompotions.json)
Adding a potion
In a datapack, make a data/id/custom_potions/id.json file for your potion.
The available parameters are "fallback" for the fallback name of the potion, if translations are unvailable
(Potion of {fallback}, Arrow of {fallback}, Splash {fallback}, Lingering {fallback}),
an array of effects following the vanilla format, and an optional color using the same format as vanilla.
For example:
{
"fallback": "Bad Luck",
"effects": [
{
"id": "minecraft:unluck",
"duration": 6000,
"amplifier": 1
}
],
"color": 5841183
}
Adding a potion recipe
In your datapack, make a data/id/potion_recipes/id.json file for your recipe. The available parameters are "reagent",
which takes in an item id, and is the ingredient used in the top of the brewing stand to make the potion. There are
also "base" and "result", which both use the same format, and define the input and output potions used in the recipe.
They have the parameters "type", which takes in either "custompotions:vanilla" for vanilla (or modded) potions, and
"custompotions:custom" for potions added by datapack using this mod.
For example:
{
"reagent": "minecraft:poisonous_potato",
"base": {
"type": "custompotions:vanilla",
"potion": "minecraft:awkward"
},
"result": {
"type": "custompotions:custom",
"potion": "potionstuffs:bad_luck"
}
}
{
"reagent": "minecraft:nautilus_shell",
"base": {
"type": "custompotions:vanilla",
"potion": "minecraft:awkward"
},
"result": {
"type": "custompotions:vanilla",
"potion": "minecraft:luck"
}
}
Translating
The translation key follows the format of custompotion.namespace.id.type. For example, custompotion.mypotions.bad_luck.normal, custompotion.mypotions.bad_luck.splash, custompotion.mypotions.bad_luck.lingering,
and custompotion.mypotions.bad_luck.arrow.
You can use these in a language json file like so:
{
"custompotion.mypotions.bad_luck.normal": "Unlucky Potion",
"custompotion.mypotions.bad_luck.splash": "Throwable Unlucky Potion",
"custompotion.mypotions.bad_luck.lingering": "Lingering Unlucky Potion",
"custompotion.mypotions.bad_luck.arrow": "Unlucky Arrow"
}
Available Versions
How to Install Custom Potions on Your Server
Order Server
Order a Minecraft Java server with at least 3 GB RAM (4 GB recommended).
Set fabric Loader
In the panel under "Egg", select the fabric loader and matching Minecraft version (1.21.4).
Install Mod
Open the mod browser in the dashboard and search for "Custom Potions". Click "Install" – done! Alternatively, upload the .jar via SFTP to the /mods folder.
Compatibility
Mod Loaders
Minecraft Versions
1.21.4, 1.21.3, 1.21.2 (+6 more)
Server-side
✓ RequiredRecommended RAM
4 GB(min. 3 GB)Frequently Asked Questions
Custom Potions server crashes on startup – what to do?
Most common cause: wrong fabric version or insufficient RAM. Check the server log (latest.log) for "OutOfMemoryError" or "Mixin" errors. With Mado Hosting: ensure at least 3 GB RAM is allocated and the loader matches the mod version (1.21.4). You can switch loaders with one click in the panel.
Is Custom Potions compatible with fabric and quilt?
Custom Potions officially supports fabric, quilt for Minecraft 1.21.4, 1.21.3, 1.21.2. The Mado dashboard automatically detects incompatible loader combinations.
Server lagging with Custom Potions – how to optimize performance?
Recommended RAM: 4 GB (per 8 players). Use /spark profiler to check if Custom Potions consumes the most tick time. Common fixes: reduce server view-distance to 8-10, install "performant" or "starlight" as supplementary mods on Forge. With Mado Hosting, your server runs on NVMe SSDs with dedicated CPU cores for minimal latency.
Similar Mods
Rent Modded Server
Install Custom Potions with just one click on your server.