Custom Crystallarieum Growing Recipes - DaFuqs/Spectrum GitHub Wiki

The Crystallarieum is a magical construction functioning not unlike a budding block. While it can only grow blocks on it's top, it can grow a wide range of ressources put onto it. It needs a steady supply of Ink and optionally a reagent that modifies growth time and ink consumption.

Grown resources on it's top can be harvested either by hand, automatically, or via the Crystal Apothecary. For the last one to work you will have to add the block to the crystal_apothecary_harvestable block tag.

Crystallarieum Growing

Properties

  • "group" (string, optional): A string that represents a recipe group. Recipes that have a group set will only trigger a single unlocking toast. Add a localization string "recipeGroup.spectrum.<<your_group_string>>" so the toast popup is properly localized.
  • "ingredient" (ingredient): The item that has to be thrown on top of the Crystallarieum to begin growing
  • "growth_stage_states" (list of block states): A list of blockstates that this recipe represents. When throwing the
  • "ticks_per_growth_stage" (int): # of Ticks that each growth stage takes to grow to the next
  • "ink_color" (color string): The color name (like red) of the type of Ink consumed while growing
  • "ink_per_tick" (int): The amount of Ink drained each tick
  • "grows_without_catalyst" (boolean): True if the recipe should be usable without supplying a catalyst. False: no growth without a catalst at all
  • "catalysts" (list of crystallarieum catalysts): A list of Crystallarieum Catalyst entries valid for this recipe (see below)
  • "required_advancement" (advancement identifier, optional): The advancement a player must have to be able to craft his recipe. Spectrum will automatically show a toast to the player when this advancement has been unlocked

Crystallarieum Catalysts

  • "ingredient" (ingredient): The ingredient that defines this catalyst entry
  • "growth_acceleration_mod" (float): Multiplier how much faster/slower this catalyst will make each growth stage
  • "ink_consumption_mod" (float): Multiplier how much ink will be consumed each tick while growing
  • "consume_chance_per_second" (float): Chance for the ingredient to get used up. At 0.0 it will never get used up. 1.0 will be a 100 % chance each second

Example: Growing Iron

Throwing Raw Iron into the Crystallarieum will start growing it to an Iron Cluster, which drops Native Iron. For it to grow faster you can supply Quitoxic Powder. It takes 800 ticks (40 seconds) to grow a single of the 4 stages, while consuming 1 Brown Ink per Tick.

{
  "type": "spectrum:crystallarieum_growing",
  "ingredient": {
    "item": "minecraft:raw_iron"
  },
  "growth_stage_states": [
    "spectrum:small_iron_bud",
    "spectrum:medium_iron_bud",
    "spectrum:large_iron_bud",
    "spectrum:iron_cluster"
  ],
  "ticks_per_growth_stage": 800,
  "ink_color": "brown",
  "ink_per_tick": 1,
  "grows_without_catalyst": true,
  "catalysts": [
    {
      "ingredient": {
        "item": "spectrum:quitoxic_powder"
      },
      "growth_acceleration_mod": 3.0,
      "ink_efficiency_mod": 1.0,
      "consume_chance_per_second": 0.0
    }
  ]
}