Skip to content
Max M edited this page Jan 16, 2022 · 4 revisions

The following features were added to Crossroads in MC1.16.2. Before MC1.16.2, there is no way to add new reagents or change the properties of existing ones.

Alchemy reagents are defined by JSON, and can be added/changed by data packs. Default reagents can not be removed, but can have their properties completely changed, and can be made uncraftable.

The post-Crossroads 2.7.0 JSON specification is below. Anything preceded by // is a comment, and should not be in an actual JSON.

{
    "type": "crossroads:reagents", //Tells Minecraft this is a reagent
    "group": <group>, //Optional, same purpose as vanilla
    "id": <string reagent id>, //ID of this reagent. Reagents with the same ID will overwrite. All lowercase, no spaces
    "melting": <number OR "never">, //Melting temperature in degrees C. Optional, defaults to below absolute zero. String "never" will prevent melting
    "boiling": <number OR "never">, //Boiling temperature in degrees C. Optional, defaults to below absolute zero. Must be higher than melting. String "never" will prevent boiling
    "item": <tag id>, //The ID of a tag representing the item form of this reagent when solid, 1:1 ratio. Optional, defaults to an empty tag
    //ONE OF THE FOLLOWING (optional, for a liquid version of the fluid form of the reagent)
    "fluid": { 
        "fluid": <string fluid ID>,//Registry name of the input fluid
        //OR 
        "tag": <string tag ID>,//Fluid path tag to match all fluids in the tag
    },
    //OR, for multiple fluids/tags
    "fluid": [
        {
            "fluid": <string fluid ID>,//Registry name of the input fluid
            //OR 
            "tag": <string tag ID>,//Fluid path tag to match all fluids in the tag
        },
        //.... with as many accepted fluids as desired
    ],
    "fluid_amount": <integer> //Quantity of the fluid in mb for one unit of this reagent. Optional, required if fluid is specified.
    "vessel": <glass/crystal/destructive>, //The requirements to contain this reagent. Optional, default glass. Destructive requires crystal and will also destroy the container if glass
    "effect": <string effect name>, //The effect of this reagent. See the full list of values below (effectMap code). Optional, defaults to none
    "flame": <none/small/large/fixed_small/fixed_large>, //Whether this is a flame reagent, and the size of the flame cloud if so. Optional, defaults to none. Any value other than none will force this to always be flame phase.

    //For constant color:
    "color": <color> //The color of this reagent, as a 6 (rgb) or 8 (argb for alpha) character hexadecimal color code, without a hash sign. Optional, defaults to white

    //OR, for phase dependent color:
    "color": {
        "base": <color> //The color of any phase not specifically set. Optional, defaults to white
        "solid": <color> //Color in the solid phase. Optional, defaults to base color
        "liquid": <color> //Color in the liquid phase. Optional, defaults to base color
        "gas": <color> //Color in the gas phase. Optional, defaults to base color
        "flame": <color> //Color in the flame phase. Optional, defaults to base color
    }
}

The pre-Crossroads 2.7.0 JSON specification is below. Anything preceded by // is a comment, and should not be in an actual JSON.

{
    "type": "crossroads:reagents", //Tells Minecraft this is a reagent
    "group": <group>, //Optional, same purpose as vanilla
    "id": <string reagent id>, //ID of this reagent. Reagents with the same ID will overwrite. All lowercase, no spaces
    "melting": <number OR "never">, //Melting temperature in degrees C. Optional, defaults to below absolute zero. String "never" will prevent melting
    "boiling": <number OR "never">, //Boiling temperature in degrees C. Optional, defaults to below absolute zero. Must be higher than melting. String "never" will prevent boiling
    "item": <tag id>, //The ID of a tag representing the item form of this reagent when solid, 1:1 ratio. Optional, defaults to an empty tag
    "fluid": { //The liquid and quantity for the liquid version of one unit of this reagent. This entire JSON object is optional
        "fluid": <fluid id>, //ID of the fluid
        "amount": <number> //Quantity of the fluid in mb for one unit of this reagent
    },
    "vessel": <glass/crystal/destructive>, //The requirements to contain this reagent. Optional, default glass. Destructive requires crystal and will also destroy the container if glass
    "effect": <string effect name>, //The effect of this reagent. See the full list of values below (effectMap code). Optional, defaults to none
    "flame": <none/small/large/fixed_small/fixed_large>, //Whether this is a flame reagent, and the size of the flame cloud if so. Optional, defaults to none. Any value other than none will force this to always be flame phase.

    //For constant color:
    "color": <color> //The color of this reagent, as a 6 (rgb) or 8 (argb for alpha) character hexadecimal color code, without a hash sign. Optional, defaults to white

    //OR, for phase dependent color:
    "color": {
        "base": <color> //The color of any phase not specifically set. Optional, defaults to white
        "solid": <color> //Color in the solid phase. Optional, defaults to base color
        "liquid": <color> //Color in the liquid phase. Optional, defaults to base color
        "gas": <color> //Color in the gas phase. Optional, defaults to base color
        "flame": <color> //Color in the flame phase. Optional, defaults to base color
    }
}

Effects:

  • "none": Does nothing
  • "acid": Normal acid
  • "acid_gold": Stronger acid, can dissolve gold and bedrock
  • "disinfect": Cures several debuffs, cures zombie villagers
  • "drop_phil_stone": Drops a philosopher stone item if in solid phase
  • "drop_prac_stone": Drops a practitioner stone item if in solid phase
  • "electric": Shocks nearby entities
  • "poison": Applies a large number of severe debuffs
  • "salt": Kills plants
  • "salt_alc": Kills plants, unless part of a flame cloud
  • "terraform_desert": Terraforms to a desert biome
  • "terraform_nether": Terraforms to a nether waste biome
  • "terraform_ocean": Terraforms to a deep ocean biome
  • "terraform_plains": Terraforms to a plains biome
  • "terraform_snow": Terraforms to a snowy tundra biome
  • "terraform_mushroom": Terraforms to a mushroom island biome
  • "terraform_jungle": Terraforms to a jungle biome
  • "terraform_end": Terraforms to the end biome
  • "terraform_flower_forest": Terraforms to a flower forest biome

Flame values:

  • "none": Normal, not a flame reagent
  • "small": Flame cloud, size dependent on quantity, limited to 8 block radius
  • "large": Flame cloud, size dependent on quantity, limited to 64 block radius. Acts as "small" if ignis infernum is disabled in the config.
  • "fixed_small": Flame cloud, size constant 8 block radius
  • "fixed_large": Flame cloud, size constant 64 block radius. Acts as "fixed_small" if ignis infernum is disabled in the config.
Clone this wiki locally