Compatibility
Minecraft: Java Edition
Platforms
Supported environments
Tags
Creators
Details
Caloric Flux (Beta)
Caloric Flux is a technical energy generation mod for Minecraft 1.21.1 / NeoForge that turns temperature differences into FE.
The mod is in beta. Please report bugs in the comments.
How it works
The Thermal Difference Generator stores heat on its left and right sides. Place a hot source on one side and a cold source on the other: heat flowing through the machine produces energy. Source conductivity affects how quickly heat transfers, so temperature alone does not determine your output.
A side without an active source exchanges heat with the surrounding air, which defaults to a configurable 25 °C.
Energy & Logistics
- Passive output: The generator can export up to 5 FE/t without processors.
- I/O processing: A powered Logistics I/O Processor raises the output limit to 500 FE/t and unlocks side configuration.
- One shared limit: These configurable limits apply to all sides, connected Thermalloy Expansion Manifolds and cable extraction combined.
- Processor power: Processors consume FE, with priority from left to right. If one cannot be powered, it switches off along with those to its right. Put important processors on the left; restarting requires sufficient generation or stored energy.
- Comparator support: Read the generator's stored charge with a comparator.
Key Features
- Heat and cold sources: Use lava, water, magma, ice and more. Lit furnaces, blast furnaces, smokers, campfires, soul campfires, candles, torches, soul fire, lava cauldrons, frosted ice and powder snow offer more options. Flowing lava and water also work, with reduced conductivity and reserves that depend on fluid level.
- Source reserves: Depleting sources have a heat reserve shared by every generator using the same source block and saved with the world. Heat exchange consumes it; the source's configured temperature stays fixed. Ice eventually becomes water, lava becomes magma, and torches disappear and drop sticks. Furnaces, blast furnaces and smokers work only while lit and do not deplete.
- Reserve tracking: Partly used sources retain their reserve in matching block drops and through bucket pickup and placement, including vanilla dispenser and cauldron handling. Item tooltips show the remaining reserve, solid sources show wear cracks, and partly used sources cannot be moved by pistons.
- Thermal effects and sound: Particles, heat shimmer, glowing edges and frost follow actual machine temperatures. Quiet thermal sounds and a fan hum respond to the machine's activity.
- Machine interfaces: An animated Δ logo, nonlinear thermometers, processor power indicators, sliding side panels and a filling manifold coil show the machine's state.
Dependencies & Integrations
- GeckoLib (Required) — Required for the mod's animations.
- Ponder & Flywheel (Bundled) — No separate installation needed. Hold W (the default Ponder key) while hovering over a supported item, such as the generator, housing, processor or manifold, to view animated tutorials.
- Just Enough Items (JEI) (Optional, recommended) — Browse thermal sources, conductivity, reserves, depletion results and housing assembly/disassembly steps.
- Jade (Optional) — View temperatures, net generation, processor status, source reserves and housing assembly hints.
Technical Documentation for Modpacks
Thermal sources and housing assembly are configurable through datapacks.
1. Thermal Sources
Place source profiles in data/<namespace>/thermal_sources/*.json. Example for a torch source:
{
"blocks": ["minecraft:torch", "minecraft:wall_torch"],
"temperature": 200,
"conductivity": 40,
"exhaustion": {
"heat_budget": 300000,
"result": { "block": "minecraft:air" },
"drop": "minecraft:stick",
"effect": "smoke"
}
}
blocks/fluid: Specify exactly one. Accepts an ID, a#tag, or a list of IDs and tags.temperature: Source temperature in °C.conductivity: How quickly heat transfers between the source and the generator.active_when(optional): Required block-state properties. For example,"active_when": { "lit": "true" }makes a source work only while lit.exhaustion: Use"none"for a source that does not deplete, or an object containingheat_budgetandresult. The budget is consumed by heat exchanged, including cooling, rather than elapsed time.result: Use{ "block": "minecraft:water" }to replace the source, or{ "set": { "lit": "false" } }to change properties of a block source. Fluid results must replace the block.drop(optional, insideexhaustion): Item ID to drop on depletion.effect(optional, insideexhaustion):hiss,smoke,ice_crack,steamornone. If omitted, the effect is selected from the source temperature relative to ambient.
For a furnace that works only while burning without depleting:
{
"blocks": "minecraft:furnace",
"active_when": { "lit": "true" },
"temperature": 200,
"conductivity": 20,
"exhaustion": "none"
}
Fluid profiles can also include flowing:
{
"fluid": "#minecraft:lava",
"temperature": 1000,
"conductivity": 100,
"exhaustion": {
"heat_budget": 5000000,
"result": { "block": "minecraft:magma_block" }
},
"flowing": {
"conductivity_scale": 0.5,
"budget_scale": 0.25,
"result": { "block": "minecraft:cobblestone" }
}
}
The flowing scales multiply the base conductivity and reserve, then both are multiplied by the fluid amount divided by 8. Scales default to 1 and must be greater than 0 and no greater than 1. A flowing result defaults to the main depletion result. Omit flowing to accept only source fluids; budget_scale and a flowing result require a depleting profile.
2. Housing Assembly (caloricflux:housing_assembly)
Place recipes in data/<namespace>/recipe/*.json. Example for the initial construction step:
{
"type": "caloricflux:housing_assembly",
"stage": 0,
"ingredient": { "item": "minecraft:iron_ingot" },
"base_block": "caloricflux:thermalloy_block",
"result_block": "caloricflux:thermalloy_housing",
"reverse_tool": { "tag": "minecraft:axes" },
"reverse_drop": "minecraft:iron_ingot"
}
stage: Current construction step index;0starts construction on the base block.ingredient: Item or tool used to advance construction.base_block/result_block(optional): Blocks used for the construction transition.reverse_tool/reverse_drop(optional): Tool used for disassembly and the item returned.
Housing stages run from 1 to 10. Custom recipes do not extend that range.
Getting Started
- Craft a Block of Thermalloy and the housing parts. Place the block and assemble the Thermalloy Housing in the world, step by step, up to stage 10. Ponder, housing hints and JEI show the parts and tools needed.
- Use the completed housing to craft your Thermal Difference Generator.
- Place a hot source on its left or right side and a cold source on the opposite side, perpendicular to the front fan. Let the generator warm up and store FE.
- Connect a cable or machine for basic output. Install and power a Logistics I/O Processor to configure outputs and raise the shared limit to 500 FE/t by default.


