Wiki 9Minecraft Inspirations Wiki
Inspirations WikiDocumentation › Cauldron Recipes

Cauldron Recipes

This page describes the JSON format for cauldron recipes

Table of Contents

Cauldron Recipes

Cauldron recipes take an input of cauldron contents, an item, a level, and a temperature, and can output cauldron contents, item, and level.

Format

  • type (string): Always inspirations:cauldron
  • group (string): Recipe group, mostly unused, defaults to ""
  • input (object): JSON object containing all recipe inputs
    • item (Sized Ingredient): Determines what item must be held to perform this recipe. If unset, any item in hand is accepted
    • contents (Cauldron Ingredient): Determines what must be in the cauldron to perform this recipe. Ignored if the cauldron is empty
    • level (Level Predicate): Predicate to determine required cauldron level
    • temperature (Temperature Predicate): Predicate to determine required cauldron temperature
  • output (object): JSON object determining effects on the cauldron
    • item (ItemStack): Item stack output for the recipe. If unset, no output is given
      • item (string): Registry ID of the output
      • count (integer): Size of the output, defaults to 1
      • tag (object): NBT of the output, defaults to no NBT
      • copy_nbt (boolean): If true, the input item's NBT will be copied to the output. Defaults to false
    • contents (Cauldron Contents): The resulting contents after performing this recipe. If unset, no change is made to the contents
    • level (Level Update): Determines how the cauldron levels change from this recipe. If unset, no change is made to the levels
    • container (ItemStack): Item stack container for this recipe, replacing the input item. If unset, uses the input's container item
      • empty (boolean): If true, no container is returned. Can be used to override an item's default container. Defaults to false
      • item (string): Registry ID of the container item
      • count (integer): Size of the container, defaults to 1
      • tag (object): NBT of the container, defaults to no NBT
  • sound (string): Resource location of the sound to play when this recipe is performed. If unset, uses a generic splash sound

Examples

  • Blue concrete: Transforms concrete powder into blue concrete using 4 levels of water
  • Black wool: Transforms white wool into black wool using 4 levels of black dye
  • Mushroom stew (small and large): Transforms boiling water into mushroom stew, costing more for a full cauldron
  • Fill bowl with mushroom stew: Transforms an empty bowl into a mushroom stew bowl using 4 levels of mushroom stew
  • Empty bowl of mushroom stew: Increase the amount of mushroom stew in the cauldron by 4 levels

Cauldron Transform recipes

Cauldron recipes take an input of cauldron contents, a level, and a temperature, and can output cauldron contents.

Format

  • type (string): Always inspirations:cauldron_transform
  • group (string): Recipe group, mostly unused, defaults to ""
  • input (Cauldron Ingredient): Determines what must be in the cauldron to perform this recipe. Ignored if the cauldron is empty
  • level (Level Predicate): Predicate to determine required cauldron level for this recipe. If unset, at least 1 level is required.
  • output (Cauldron Contents): The resulting contents after performing this recipe
  • time (boolean): Time in ticks to transform the contents
  • sound (string): Resource location of the sound to play when this recipe is performed. If unset, uses the brewing stand brew sound

Examples

  • Ice from water: Freezes water into ice over time in a freezing cauldron

Recipe components

This section contains commonly used components of cauldron recipes.

Contents Contents

Determines the current contents of the cauldron. For outputs, the following subsections detail the types available, as determined by the key type.

Fluid

Contains values from the Minecraft fluid registry

  • type (string): Always inspirations:fluid
  • name (string): Registry name of the fluid.

Potion

Matches values from the Minecraft potion registry

  • type (string): One of two values:
    • inspirations:potion: Standard potions.
    • inspirations:unfermented_potion: Used after performing a brewing recipe while the brewing timer runs. Becomes inspirations:potion after the timer finishes.
  • name (string): Registry name of the fluid. Notable values:
    • minecraft:water is equivalent to the minecraft:water fluid

Dye

Matches any of the 16 dye colors.

  • type (string): Always inspirations:dye
  • name (string): One of 16 values cooresponding to the vanilla dyes
    • Values: white, orange, magenta, light_blue, yellow, lime, pink, gray, light_gray, blue, brown, green, red, or black

Color

Matches an arbitrary hexadecimal color value, used mainly for leather armor dyeing.

  • type (string): Always inspirations:color
  • color (string): A 6 character hexadecimal string in the format "RRGGBB". Notable values:
    • F9FFFE: Cooresponds to the dye white
    • F9801D: Cooresponds to the dye orange
    • C74EBD: Cooresponds to the dye magenta
    • 3AB3DA: Cooresponds to the dye light_blue
    • FED83D: Cooresponds to the dye yellow
    • 80C71F: Cooresponds to the dye lime
    • F38BAA: Cooresponds to the dye pink
    • 474F52: Cooresponds to the dye gray
    • 9D9D97: Cooresponds to the dye light_gray
    • 169C9C: Cooresponds to the dye cyan
    • 8932B8: Cooresponds to the dye purple
    • 3C44AA: Cooresponds to the dye blue
    • 835432: Cooresponds to the dye brown
    • 5E7C16: Cooresponds to the dye green
    • B02E26: Cooresponds to the dye red
    • 1D1D21: Cooresponds to the dye black

Custom

Data and resource pack defined content types.

  • type (string): Always inspirations:custom
  • name (string): A resource location value in the format <mod_id>:<value>. Any value is acceptable, however textures will only be loaded if <mod_id> is a loaded mod.

Custom content types require defining both name and texture through a resource pack, or they will show as unlocalized and with a missing texture.

Names can be defined in any en_us.json language file. The format is cauldron_contents.<mod_id>.<value> using the same values from the recipe.

Textures can be defined by creating a JSON file at assets/inspirations/models/cauldron_textures.json. This JSON file contains keys corresponding to each custom contents type, and values containing texture resource location. Mod IDs must be loaded for the texture to be loaded. Note that if multiple files exist at that location in different resource packs, they will all be combined, so there is no need to copy all default values to add custom contents.

For example, the following JSON:

{
  "minecraft:ice": "minecraft:block/ice",
  "rats:cheese": "rats:block/cheese"
}

Defines two custom content textures:

  • minecraft:ice: Texture for the custom ice contents using assets/minecraft/textures/block/ice.png as the texture.
  • rats:cheese: Texture for the custom cheese contents using assets/rats/textures/block/cheese.png as the texture. Skipped if rats is not loaded.

Cauldron Ingredient

Cauldron ingredients are similar to content types, but are used for input instead of output. All ingredients have a type key determining the ingredient type.

Fluid

Matches values from the Minecraft fluid registry, corresponding to the fluid type.

  • type (string): Always inspirations:fluid
  • name (string): Registry name of the fluid. Only this or name is used
  • tag (string): Tag used for matching.
Potion

Matches values from the Minecraft potion registry, corresponding to the fermented potion type.

  • type (string): Always inspirations:potion
  • name (string): Registry name of the potion.

Potion tags are not currently supported, but will be in a later build.

Dye

Matches values from the dye type.

  • type (string): Always inspirations:potion
  • name (string): Name of the color, see dye for values.
Color

Matches values from the color type.

  • type (string): Always inspirations:potion
  • color (string): A 6 character hexadecimal string in the format "RRGGBB". Notable values described by color.
Custom

Matches values from the custom type.

  • type (string): Always inspirations:potion
  • name (string): Custom value. See custom for more information.

Level

Cauldron levels are simple predicates to determine the required fluid amount. The cauldron fluid ranges from 0 to 12 levels, but most recipes work in increments of 4 effectively giving 0 to 3 levels.

Level Update

Level update allows changing the number of levels in the cauldron. Level update allows either of the following keys to be set:

  • add (integer): Increases the number of levels in the cauldron, or decreases if negative. May be between -12 and 12, final level after adding is clamped between 0 and 12.
  • set (integer): Forces the cauldron level to a specific number. May be between 0 and 12. Generally its better to use add

Level Predicate

Level predicates allow recipes to match a specific number of levels in the cauldron

  • A level predicate: Predicate to determine required cauldron level
    • min (integer): Minimum number of levels, can be between 0 and 12. Defaults to 0.
    • max (integer): Maximum number of levels, can be between 0 and 12. Defaults to 12.

Temperature

Cauldrons have 3 different temperatures: boiling, freezing, and normal. These temperatures are determined by the biome temperature.

The cauldron can be made to boil in any biome by placing it above fire, and can be made freezing by surrounding it with blue or packed ice. Doing both will force its temperature to normal.

Temperature Predicate

Some recipes require certain temperatures to work, denoted by a temperature predicate string. The following are valid values for a temperature predicate:

  • any: Recipe ignores temperature, default
  • boiling: Cauldron must be boiling
  • freezing: Cauldron must be freezing
  • normal: Cauldron must be normal, that is not boiling or freezing
  • warm: Cauldron must be normal or boiling, not freezing
  • cool: Cauldron must be normal or freezing, not boiling

Advanced recipes

The following subsections describe cauldron recipe serializers with more specialized functionality.

Empty potion

Recipe to empty a potion item into the cauldron. Format:

  • type (string): Always inspirations:cauldron_empty_potion
  • potion (string): Registry ID of the input potion item. For example, minecraft:potion
  • bottle (string): Registry ID of the bottle to return after emptying. For example, minecraft:glass_bottle

Example: empty potion from glass bottle

Fill potion

Recipe to fill a potion item into the cauldron. Format:

  • type (string): Always inspirations:cauldron_fill_potion
  • bottle (Sized Ingredient): Empty bottle being filled by the cauldron. Amount needed determines the stack size of the output.
  • potion (string): Registry ID of the output potion item. For example, minecraft:potion

Example: fill potion from glass bottle

Mix dye

Recipe to mix the dye from a container with the current cauldron contents. Increases the cauldron level by 4. Format:

  • type (string): Always inspirations:cauldron_mix_dye
  • `ingredient (Ingredient): Vanilla ingredient of the item held by the player.
  • color (string): A 6 character hexadecimal string in the format "RRGGBB". If unset, uses the color string from the held stack.

Recipe instances

Dye dyeable

Recipe to dye a dyeable item, such as leather armor, with the color in the cauldron. Format:

  • type (string): Always inspirations:cauldron_dye_dyeable
  • `ingredient (Ingredient): Vanilla ingredient of the item to dye.

Example: dye leather boots

Clear dyeable

Recipe to clear dye from a dyeable item, such as leather armor. Removes dye from the item. Format:

  • type (string): Always inspirations:cauldron_clear_dyeable
  • `ingredient (Ingredient): Vanilla ingredient of the item to clean.

Example: clear leather boots


Dynamic recipes

The following subsections describe cauldron recipe serializers for dynamic recipes.

Dye water

Recipe to dye cauldron water using one of the Forge dye tags. Only 16 instances of this recipe are generally needed. Format:

  • type (string): Always inspirations:cauldron_dye_water
  • dye (string): Dye color to use, see dye for a list of values.

All recipe instances

Empty bucket

Recipe that empties a fluid container containing 1000mb into the cauldron, increasing it to 12 levels. Uses a type of inspirations:cauldron_empty_bucket and no other keys.

Recipe instance

Fill bucket

Recipe that fills a fluid container that can hold 1000mb using a cauldron filled with fluid. Uses a type of inspirations:cauldron_fill_bucket and no other keys.

Recipe instance

Fill dyed bottle

Recipe that fills the Inspirations dyed bottle using 4 levels of fluid from the cauldron. Uses a type of inspirations:cauldron_fill_dyed_bottle and no other keys. Emptying is done by mix dye.

Recipe instance

Remove banner pattern

Recipe that removes a single pattern from the banner consuming 4 layers of water. Uses a type of inspirations:cauldron_remove_banner_pattern and no other keys.

Recipe instance

Potion brewing

Recipes to brew potions using the cauldron. Two instances are created, one for vanilla recipes and one for forge ones.

  • type (string):
    • inspirations:cauldron_potion_brewing:
    • inspirations:cauldron_forge_brewing:
  • instant (boolean): If true, potions brew instantly. If false, potions take time via potion fermenting.

Recipe instances:

Potion fermenting

Recipe to transform a potion from unfermented to a usable potion over time. Format:

  • type (string): Always inspirations:cauldron_potion_ferment
  • time (boolean): Time in ticks to "ferment" the potion

Recipe instance

Creating timed item recipes

The cauldron has two main recipe formats, regular and transform recipes. The regular recipes are item sensitive, while the transform recipes are time recipes. If you wish to add an item sensitive recipe that transforms over time, the way that is supported by Inspirations is done using two recipes.

  • Make a regular recipe that converts the item into an intermediate state. Example: place ice
  • Make a transform recipe that converts the intermediate state into the desired output. Example: melt ice