-
Notifications
You must be signed in to change notification settings - Fork 0
Brewmaster Home Page
Brewmaster is a Minecraft mod that allows you to define, add, remove, or replace potion recipes, container mixes, or containers using a datapack.
The datapack entries need to be added to data/<id>/brewmaster/potion_recipe/
The mod also adds a command to generate recipe files for all the current potions in the game, which can then be used to to change them this can be found under the command /brews
Potion Recipes
Below is an example of what the JSON file should look like for adding a new potion mix:
{
"value": {
"input_potion": "minecraft:harming",
"ingredient": {
"item": "minecraft:acacia_boat"
},
"output_potion": "minecraft:healing",
"type": "brewmaster:add_potion_mix"
}
}
This JSON defines a new recipe for a healing potion from an acacia boat and a potion of harming
The item item key can also be changed with tag to allow for tags to be used instead of a single item as ingredient
Below is an example of what the JSON file should look like for removing a potion mix:
{
"value": {
"recipe_to_remove": {
"input_potion": "minecraft:awkward",
"ingredient": "minecraft:blaze_rod",
"output_potion": "minecraft:strength"
},
"type": "brewmaster:remove_potion_mix"
}
}
This JSON checks for the items and potions defined in the recipe list and if it finds them it will remove the recipe.
Below is an example of what the JSON file should look like for replacing a potion mix:
{
"value": {
"old_recipe": {
"input_potion": "minecraft:awkward",
"ingredient": "minecraft:blaze_rod",
"output_potion": "minecraft:strength"
},
"new_recipe": {
"input_potion": "minecraft:awkward",
"ingredient": {
"item": "minecraft:emerald"
},
"output_potion": "minecraft:strength"
},
"type": "brewmaster:replace_potion_mix"
}
}
This JSON checks for the items and potions defined in the recipe list and if it finds them it will replace it with the recipe defined.
This is essentially a remove and add operation added together.
The item item key can also be changed with tag to allow for tags to be used instead of a single item as ingredient
Below is an example of what the JSON file should look like for adding a potion start mix:
{
"value": {
"ingredient": {
"item": "minecraft:ice"
},
"output_potion": "minecraft:slowness",
"type": "brewmaster:add_potion_start_mix"
}
}
This JSON adds a base mix with a potion of water and awkward.
water -> mundane.
awkward -> result.
Item Mixes
Below is an example of what the JSON file should look like for adding a new container mix:
{
"value": {
"input_item": "minecraft:diamond",
"ingredient": {
"item": "minecraft:acacia_boat"
},
"output_item": "minecraft:emerald",
"type": "brewmaster:add_container_mix"
}
}
This JSON defines a new recipe for an emerald from an acacia boat and a diamond
The item item key can also be changed with tag to allow for tags to be used instead of a single item as ingredient
Below is an example of what the JSON file should look like for removing a container mix:
{
"value": {
"recipe_to_remove": {
"input_item": "minecraft:potion",
"ingredient": "minecraft:gunpowder",
"output_item": "minecraft:splash_potion"
},
"type": "brewmaster:remove_container_mix"
}
}
This JSON checks for the items defined in the recipe list and if it finds them it will remove the recipe
This one looks for a potion item, gunpowder and splash potion result
Below is an example of what the JSON file should look like for replacing a container mix:
{
"value": {
"old_recipe": {
"input_item": "minecraft:potion",
"ingredient": "minecraft:gunpowder",
"output_item": "minecraft:splash_potion"
},
"new_recipe": {
"input_item": "minecraft:diamond",
"ingredient": {
"item": "minecraft:acacia_boat"
},
"output_item": "minecraft:splash_potion"
},
"type": "brewmaster:replace_container_mix"
}
}
This JSON checks for the items defined in the list and if it finds them it will replace it with the recipe defined.
This is essentially a remove and add operation added together.
The item item key can also be changed with tag to allow for tags to be used instead of a single item as ingredient
This one looks for a potion item, gunpowder and splash potion result and replaces it with a recipe that uses a diamond and acacia boat to give a splash potion
Containers
Below is an example of what the JSON file should look like for adding a new container:
{
"value": {
"container": {
"item": "minecraft:diamond"
},
"type": "brewmaster:add_container"
}
}
This JSON defines a new container for a diamond
Below is an example of what the JSON file should look like for removing a container:
{
"value": {
"container": {
"item": "minecraft:splash_potion"
},
"type": "brewmaster:remove_container"
}
}
This JSON checks for a splash potion as container and if it finds it, it will remove it, preventing any splash potions
Below is an example of what the JSON file should look like for replacing a container:
{
"value": {
"old_container": {
"item": "minecraft:splash_potion"
},
"new_container": {
"container": {
"item": "minecraft:chest"
}
},
"type": "brewmaster:replace_container"
}
}
This JSON checks for a splash potion and if it finds it, it will replace it with a chest as container
This is essentially a remove and add operation added together.