Skip to content

Custom Titration Barrel Recipes

DaFuqs edited this page Oct 11, 2024 · 10 revisions

The Titration Barrel is mainly used to create all kinds of builtin recipes that require fermenting in a way. It's special mechanic is that is runs on real-life, instead of ingame time, making it's recipes time-gated and requiring some patience. The Titration Barrel can fit up to 64 items in total, distributed over up to 5 different stacks. To start the crafting process, it has to be sealed with a single Colored Plank, which is consumed.

Titration Barrel Fermenting

NOTE: If you plan adding alcoholic beverages (maybe your pack has a mod that adds rice and you want to add Sake), please gate the recipe behind the advancement "spectrum:milestones/confirmed_drinking_age". This hidden advancement only unlocks for people that confirmed they are of legal drinking age within the guidebook.

Properties

Entry Type Default Description
group string empty A string that represents a recipe group. Recipes with a common group will only trigger a single unlock popup, if multiple are unlocked at once. Add a localization string "recipeGroup.spectrum.<<your_group_string>>" so the toast popup is properly localized
secret boolean false If true, the recipe will never be listed in recipe listing mods, like REI
required_advancement advancement_identifier empty The advancement a player needs to have to be able to see this recipe. Spectrum will automatically show a toast to the player when this advancement has been unlocked and reached the set tier
ingredients list of <= 5 ingredients The ingredients that have to be put into the Barrel before sealing it with a Colored Plank
fluid fluid ingredient The fluid that has to be in the barrel
min_fermentation_time_hours integer 24 The amount of real-life hours this recipe takes to finish. Counted even if the game is not running.
tapping_item float empty An item that is required to get one of the outputs of the Barrel, like an empty Bottle
fermentation_data fermentation_data empty If present, the result will get additional NBT set, depending on various properties of the fermentation process. See Fermentation Data below
result item_stack Output item stack, supports NBT

Fermentation Data

If set, the resulting item stack will get set additional NBT: How long the item was in the Titration Barrel (counted in ingame days) and the Alc % of the

Entry Type Default Description
fermentation_speed_mod float 1.0 The ingredient that is used as catalyst
angels_share_percent_per_mc_day float 0.1 How much % of the content dissipates each minecraft day in %. The default of 0.1 makes the barrel "empty" after 1000 ingame days.Special case: Even if the dissipation reaches 100%, there always is at least 1 bottle to tap
effects status_effect_entry list empty Which status effects should the item grant when consumed. See below

The alc % calculation is a logarythmic calculation over time, local downfall and thickness (water content). The fermentation_speed_mod is used as a base for this logarythmic calculation. Therefore smaller mods result in high %, while high mods result in low %. These following example values are for plains biomes with a thickness of 1:

Beverage Type Ferm.Mod 12h 1d 2d 3d 4d 14d 30d
Non Alcoholic 0 0% 0% 0% 0% 0% 0% 0%
Beers/Ciders 1,25 4% 5% 6% 6% 7% 8% 9%
Liquor / Creme Liquor 0,25 14% 18% 21% 22% 24% 29% 33%
High % 0,125 26% 33% 39% 43% 45% 56% 62%

Fermentation Effects

If set, the resulting item stack will grant Status Effects when consumed, similar to a Potion (if the item can be consumed, that is).

Entry Type Default Description
id status_effect_identifier The ID of the status effect
base_duration float The duration in ticks of the status effect. Get's shorter the thicker the brew (less water in contrast to item count)
potency potency_entry list The potency of the effect (potency 0 ^= level 1 effect). Either a single number, or a Potency Entry (see below)

Potency Entries

Effect potency can vary based on alc % and thickness. If given a list, the last valid entry in the list will be the final one.

Entry Type Default Description
min_alc int 0 The ID of the status effect
min_thickness int 0 The duration in ticks of the status effect. Get's shorter the thicker the brew (less water in contrast to item count)
potency int 0 The potency of the effect (potency 0 ^= level 1 effect). Either a single number, or a Potency Entry (see below)

Example: Kimchi

A simple recipe that takes 3 different vegetables (equal ones would stack) and a time of 4 real-life hours to get 8 Kimchi.

{
  "type": "spectrum:titration_barrel",
  "ingredients": [
    {
      "tag": "c:vegetables",
      "count": 4
    },
    {
      "tag": "c:vegetables",
      "count": 4
    },
    {
      "tag": "c:vegetables",
      "count": 4
    }
  ],
  "min_fermentation_time_hours": 4,
  "result": {
    "item": "spectrum:kimchi",
    "count": 8
  }
}

Example: Brewing Apple Cider

Brewing Apple Cider, making use of the fermentation_data entry.

The fermentation_speed_mod of 1.25 makes it very low on alcohol, even when fermented for a long time. It takes at least 12 real-life hours and can grant Speed, Strength, but also Weakness or Nausea when drunk. To get one out of the Barrel, the player has to click on it with a Glass Bottle.

{
  "type": "spectrum:titration_barrel",
  "group": "infused_beverages",
  "ingredients": [
    {
      "item": "minecraft:apple",
      "count": 8
    }
  ],
  "min_fermentation_time_hours": 12,
  "fluid": {
    "fluid": "minecraft:water"
  },
  "tapping_item": "minecraft:glass_bottle",
  "fermentation_data": {
    "fermentation_speed_mod": 1.25,
    "effects": [
      {
        "id": "minecraft:speed",
        "base_duration": 9600,
        "potency": [
          {
            "potency": 0
          },
          {
            "min_alc": 5,
            "potency": 1
          },
          {
            "min_alc": 8,
            "potency": 2
          }
        ]
      },
      {
        "id": "minecraft:strength",
        "base_duration": 9600,
        "potency": [
          {
            "min_alc": 3,
            "potency": 0
          },
          {
            "min_alc": 6,
            "potency": 1
          }
        ]
      },
      {
        "id": "minecraft:glowing",
        "base_duration": 4800,
        "potency": [
          {
            "potency": 0
          }
        ]
      },
      {
        "id": "minecraft:weakness",
        "base_duration": 9600,
        "potency": [
          {
            "min_thickness": 2
          },
          {
            "min_thickness": 3,
            "potency": 1
          },
          {
            "min_thickness": 4,
            "potency": 2
          }
        ]
      },
      {
        "id": "minecraft:nausea",
        "base_duration": 600,
        "potency": [
          {
            "min_thickness": 3
          },
          {
            "min_alc": 9
          }
        ]
      }
    ]
  },
  "result": {
    "item": "spectrum:infused_beverage",
    "count": 4,
    "nbt": "{Variant: \"apple_cider\", Color: 15032656 }"
  },
  "required_advancement": "spectrum:milestones/confirmed_drinking_age"
}
Clone this wiki locally