Fluid Basin and Cauldron Crafting
The Fluid Basin workstation archetype (type: "FLUID_BASIN") transforms vanilla cauldrons into dynamic in-world alchemical reaction basins. Unlike static menu workbenches, Fluid Basins feature physical item tossing, thermodynamic heat simulation, and contamination mechanics.
1. Mechanics Overview
+-----------------------------------------------------------------------------+| FLUID BASIN MECHANICS |+-----------------------------------------------------------------------------+| || [Physical Item Ingestion] || Players toss items directly into the cauldron. CraftingEngine intercepts || the entity on the exact server tick it enters the fluid volume. || || [Environmental Thermodynamics] || Heat is supplied by the block underneath the basin (Lava, Campfire, Fire). || Temperature rises dynamically and dissipates when heat sources extinguish. || || [Hopper & ClearLag Protection] || Tossed ingredients are ingested into memory immediately, preventing || external hoppers or entity sweepers from clearing crafting items. || || [Sludge Contamination] || Throwing incorrect ingredients or letting a craft overheat ruins the || concoction, turning the water into toxic green sludge. || |+-----------------------------------------------------------------------------+2. Station Definition (stations/alchemical_cauldron.yml)
id: "alchemical_cauldron"name: "<gradient:#8a2be2:#4b0082>Alchemical Cauldron</gradient>"type: "FLUID_BASIN"
blocks: - "WATER_CAULDRON" - "CAULDRON"
# Heat and thermodynamicsrequires_heat: truemin_temperature: 80.0 # Minimum temperature in °C to maintain reactionsmax_temperature: 150.0
# Capabilities granted when boilingcapabilities: - "boiling" - "alchemy_tier_1"
# Item tossed handlingitem_ingestion: sound: "entity.generic.splash" particle: "SPLASH" on_wrong_item: "CONTAMINATE" # REJECT | CONTAMINATE | IGNORE3. Thermodynamic Heat Sources
When requires_heat: true is enabled, CraftingEngine continuously inspects the block at y - 1:
| Heat Source Block | Heating Rate | Equilibrium Temp | Notes |
|---|---|---|---|
CAMPFIRE (Lit) | +2.5 °C/s | 95 °C | Ideal for gentle brewing and simmering. |
SOUL_CAMPFIRE (Lit) | +4.0 °C/s | 130 °C | High heat for mystical concoctions. |
FIRE / SOUL_FIRE | +5.0 °C/s | 160 °C | Fast heating; risk of overheating if untended. |
LAVA | +8.0 °C/s | 250 °C | Extreme heat for metallurgical transmutations. |
| (Air / Cold Blocks) | -1.5 °C/s | 20 °C | Natural ambient cooling decay. |
4. Cauldron In-World Recipe Flow
In your blueprint (processes/*.yml), use mode: "ITEM_INSERTION" or mode: "WAITING_FOR_CONDITION":
id: "healing_elixir"name: "Elixir of Vitality"station_id: "alchemical_cauldron"
requirements: capabilities: - "boiling"
inputs: - resource: "minecraft:glistering_melon_slice" quantity: 1 mode: "CONSUME" - resource: "minecraft:ghast_tear" quantity: 1 mode: "CONSUME"
stages: - id: "await_boil" mode: "WAITING_FOR_CONDITION" condition: "capability.temperature >= 90"
- id: "add_ingredients" mode: "ITEM_INSERTION" timeout: "15s" failure_transition: "ruined_sludge"
- id: "brewing" mode: "PASSIVE" duration: "5s" on_tick: - action: "spawn_particle(BUBBLE_POP, 3, 0.2, 0.1, 0.2)"
outputs: - resource: "minecraft:potion" display: "<gradient:#ff80ab:#ff4081>Elixir of Vitality</gradient>" quantity: 15. Sludge and Cleaning
When a recipe is contaminated:
- The cauldron water turns into murky brown/green sludge.
- An extinguish sound plays with heavy smoke particles.
- Players cannot brew further recipes until they bail out the basin using an empty bucket (
minecraft:bucket).
Next Steps
- Workstations Reference - Learn how multiblocks integrate with fluid basins.
- Interactive Minigames - Add minigames to regulate temperature or stir cauldrons.