Mineuniverse
Log in Register
Mods

Custom Potions

Allows adding custom potions and potion recipes through datapacks
by AshyBoxy
Download Claim this project
490 downloads
0 likes
Updated Jul 6, 2026
0 hypes
Magic Server Utility Utility & QoL

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"
}
2.1.1+1.21.4
MC Fabric, 1.21.4, Server, Quilt
Release 2025-02-28 Get

More from AshyBoxy

Metal Wings
1,054

You Might Also Like

APTweaks: Items (11.x Classic)
Item clustering (fallen blocks, experience orbs, ...) and garbage cleanup.
9,884,514
VanillaDeathChest (Fabric)
Places containers when players die that contain their items.
994,762
Styled Nicknames
Simple, but configurable nicknaming mod allowing your server's players (and admins) to change their nickname with full formatting support
989,499
Tiquality
Make server lag the problem of the source player.
99,489
Blame (Fabric)
Those gosh darn crashlogs not saying which worldgen feature is crashing!
99,012
Weathering with You
Forecast Minecraft weather with a radar or a hat!
98,579