This Mod allows you to change a lot of Minecraft's potion system through configuration.
When you first start Minecraft with this Mod installed, it will create a config file named "potion-config.json" containing a configuration that reimplements Minecraft's default.
Some stuff you can do with this mod:
- Remove potions
- change effect durations
- change brewing recipes
- change crafting recipes for tipped arrows
- change what fuel you can use for the brewing stand
- change which potions are used by Wandering Traders or Witches
- it also has some compatitibility with other Mods
- Potion tooltips show how potions are brewed
- Set stack size for potions
- Deactivate potion glint
Example Config with Comments
{
"stack_size": 1, // how many potions can be in an item stack
"burst_chance": 0, // 0 to 1, chance of a potion to break when taking damage (per potion stack in your inventory)
"glint": false, // whether potion items have a glint effect
"potions": [
{
"id": "turtle_master",
// the "vanilla" option lets the mod convert between vanilla potions and custom potions when installing / uninstalling this mod
"vanilla": "turtle_master",
// duration, splash, lingering and arrow set the effect duration for normal, splash, lingering potions and tipped arrows respectively.
// if any of these aren't set, the respective item of this potion won't exist.
"duration": 20,
"splash": 20,
"lingering": 5,
"arrow": 2.5,
"effects": [
{
// for the effect, put the registered Status-Effect's Identifier.
// amplifier makes the effect stronger. This is an optional parameter and 0 is the default.
// it's also possible to overwrite the default effect duration configured above by supplying "duration", "splash", "lingering" or "arrow" parameters respectively.
"effect": "minecraft:slowness",
"amplifier": 3
},
{
"effect": "minecraft:resistance",
"amplifier": 2
}
]
},
...
],
"ingredient_groups": {
// you can group ingredients so you don't have to create a recipe for every single item of the group
// just use the id of the group as ingredient in the recipe, in this case "flower"
"flower": [
"minecraft:dandelion",
"minecraft:poppy",
"minecraft:blue_orchid"
]
},
"recipes": [
{
// This is the recipe that allows players to brew splash potions. In this example, wild cards are used. See the bottom of this description for an explanation.
"input": "normal-*",
"ingredient": "minecraft:gunpowder",
"output": "splash-{1}"
},
...
],
"arrow_recipes": [
{
// Tipped Arrows are crafted using 8 Arrows and the potion supplied to "input". In this example, wild cards are used. See the bottom of this description for an explanation.
"input": "splash-*",
"output": "{1}"
}
],
"fuel": {
// as is the Minecraft default, Blaze Powder allows you to brew 20 potions before running out.
"minecraft:blaze_powder": 20
},
"witch": {
// this overwrites the potions used by the witch.
"normal-fire_resistance": "normal-fire_resistance",
"normal-water_breathing": "normal-water_breathing",
"normal-healing": "normal-healing",
"normal-swiftness": "normal-swiftness",
"splash-harming": "splash-harming",
"splash-healing": "splash-healing",
"splash-poison": "splash-poison",
"splash-regeneration": "splash-regeneration",
"splash-slowness": "splash-slowness",
"splash-weakness": "splash-weakness"
},
// replaces the potion used by wandering traders at night
"wandering_trader_night": "normal-invisibility",
"replace": {
// the "replace" parameter may allow for mod compatibility.
// on the left side, use the Identifier used by the mod to register a potion, on the right supply a potion to replace the original with
"potion_mod:milk": "normal-milk"
}
}
Wildcards in the config file
Because nobody wants to write a lot of duplicate text, it's possible to use wildcards in recipe input potions.
Wildcard may be replaced by most sequences of characters (avoid special characters like these: \/"-: )
In the output parameter, the matched character sequences will be inserted instead of those numbers in brackets.
The first wildcard match will replace {1}, the second match replaces {2} and so on.
Let's consider the following recipe:
{
"input": "*-*",
"ingredient": "minecraft:redstone",
"output": "{1}-long_{2}"
},
The input value is two wildcards separated by a dash, (which signifies prefixes).
Any potion will fit this example pattern, for example a bottle of water which is defined as "normal-water".
The first wildcard matches "normal" of "normal-water". In the output "{1}" is thus replaced by "normal".
The second wildcard matches "water" of "normal-water". In the output "{2}" is thus replaced by "water".
Thus, for an input potion of "normal-water", we would get the output potion "normal-long_water".
This output potion doesn't exist which means that this recipe does'nt work with water bottles as input potions.
On the other hand, "splash-poison" can be brewed into "splash-long_poison" using the above recipe.
Prefixes for normal, splash and lingering potions are "normal-", "splash-" and "lingering-" respectively.
If you add new potions, you will have to add their names to a resource pack in a folder like the following:
<resource-pack name>/assets/minecraft/lang/en_us.json
This mod requires Fabric API