CurseForge · Minecraft mod
TFC Thermia
Terrafirmacraft Temperature Addon.
Quick answer
Which TFC Thermia release should I use?
TFC Thermia thermia-0.2.0-beta.jar targets 1.21.1 with NeoForge. The project page does not say whether this file belongs on the client, dedicated server, or both. All 3 required mods have matching files.
Where it goes
Is TFC Thermia required on the client, server, or both?
The project page does not say whether this file belongs on the client, dedicated server, or both.
The source does not explicitly classify this release as client-only or server-only.
What else does TFC Thermia thermia-0.2.0-beta.jar need?
thermia-0.2.0-beta.jar. Change the file and its required mods may change too.
Install TerraFirmaCraft, Curios API, Patchouli first. We found matching files for this game-version and loader setup. 1 comes through another mod in the chain.
1 extra mod was pulled in by another dependency. Indented rows show who needs each one. We only count dependency files that match this setup. A file for another loader does not fill the gap.
Before you install it
Add TFC Thermia without breaking your instance.
Built for TFC Thermia thermia-0.2.0-beta.jar. Pick another file and the loader, install side or required mods may change.
- 01
Stick to this file
Use thermia-0.2.0-beta.jar. It targets 1.21.1 with NeoForge; another release may have different loader, side or dependency requirements.
- 02
Bring the mods it needs
Install TerraFirmaCraft, Curios API, Patchouli first. We found matching files for this game-version and loader setup. 1 comes through another mod in the chain.
- 03
Put it on the correct side
The project page does not say whether this file belongs on the client, dedicated server, or both.
- 04
Pick the file you checked
Use the “Get this file” button beside thermia-0.2.0-beta.jar. It opens that exact file at the source.
About this project
What does TFC Thermia add?
Alpha, Subject to changes
Summary:
A temperature mod for Terrafirmacraft, A complex temperature system that can also be extended to non player entities.
Keeping Warm:
- Seeking sunlight
- Sheltering from wind
- Heat sources such as fire, TFC sources are also supported
- Heated items such as ingots, pots, etc.
- Insulation or clothing
Keeping Cool:
- Seeking shade
- Seeking wind
- Swimming
- Contact with cold blocks such as ice
- Insulation or clothing
Interiors:
- Dynamic flood fill system allowing for any structure
- Thermodynamic based model, Internal volume requires energy and time to warm
- Block porosity allows for functional differing block states, Eg. trapdoor as windows.
Data Driven:
Entity Temperature Data Map: data/thermia/data_maps/entity_type/entity_temperatures.json
Entity Temperature is the primary data map that you'll encounter and is the method to add or remove the temperature system to entities. It has the following data:
- max_entity_temperature: Maximum temperature or climate for an entity.
- min_entity_temperature: Minimum temperature or climate for an entity.
- is_mob: This is for deciding if the entity receives the simple or complex player model.
- is_tamed: If the entity requires taming for the temperature system to enable.
Player entry for example:
"minecraft:player": {
"is_mob": false,
"is_tamed": false,
"max_entity_temperature": 25.0,
"min_entity_temperature": 5.0
}
Block Temperature Data Map: data/thermia/data_maps/block/block_temperature.json
Block Temperature is another primary data map. It's what tells thermia what block has what temperature and if it's hot and radiative or cold and conductive. It has the following data:
- temperature: Temperature of the block or default temperature if it has blockstates, If hasTFCHeat is true this must be 0.
- search_cap: How many should thermia look for and save in each nearby block search.
- has_tfc_heat: If the block has TFC's heat mechanic, If this is true the temperature must be 0.
- is_radiative: If this block should be treated like a radiation source. If this is false it's treated as a contact source, Eg. Ice.
- state_temps: This is more complex, This allows for specific blockstates to have different temperatures.
Bloomery entry for example:
"tfc:bloomery": {
"has_tfc_heat": false,
"is_radiative": true,
"search_cap": 16,
"state_temps": [
{
"value": 1200.0,
"when": [
"lit=true"
]
}
],
"temperature": 0.0
}
Fluid Temperature Data Map: data/thermia/data_maps/fluid/fluid_temperature.json
Much like Block Temperature, This handles fluid temperature. It will also allow you to define radiative temperatures for blocks containing these fluids such as tanks. Note this data map does not have special block state handling. It has the following data:
- temperature: Temperature of the fluid.
- search_cap: How many should thermia look for and save in each nearby block search.
- is_radiative: If this block should be treated like a radiation source. If this is false it's treated as a submersion source, Eg. Water.
Lava entry for example:
"minecraft:lava": {
"is_radiative": true,
"search_cap": 32,
"temperature": 1000.0
}
Block Porosity Data Map data/thermia/data_maps/block/block_porosity.json
The Block Seal Data Map is for defining the leakiness of a block for interiors. As the interior system only uses Block Seal and isSolidRender to determine boundaries, Block Porosity also acts as a whitelist to allow non solid blocks as walls or edges. It has the following data:
- state_block_seal: Much like the state_temps value for Block Temperature, This is a complex entry for allowing a block with multiple block state values to have differing porosity or leakiness values. As with trapdoors their vertical position is considered "open" however closed for the purpose of a window.
- default_block_seal: The default porosity if none of the state_porosity values apply.
Fences entry for example:
"#c:fences": {
"default_block_seal": 0.5,
"state_block_seal": [
{
"value": 0.25,
"when": [
"east=true",
"west=false"
]
},
{
"value": 0.25,
"when": [
"east=false",
"west=true"
]
},
{
"value": 0.25,
"when": [
"south=true",
"north=false"
]
},
{
"value": 0.25,
"when": [
"south=false",
"north=true"
]
}
]
}
Item Insulation Data Map: data/thermia/data_maps/item/item_insulation.json
Item insulation is a key part of Thermia's thermal system. It isolates you from the environment slowing or even stopping environmental temperature change. There are 4 attributes to the clothing system. It has the following data:
conductionProtection: Conduction does double duty, First and foremost it helps protect against contact sources like cold blocks. It also helps dampen the pull of environmental temperature. Must be within -1 to 1.
radiationProtection: Radiation protects from radiative sources like lava, fire or the sun. This helps with the sun on a hot day or when working by a forge. Must be within -1 to 1.
convectionProtection: This guards against the wind or moving air, Helping keeping the entity warm. Must be within -1 to 1.
rainProtection: Rain protection is fairly simple, It's a simple limit to how wet you can get while in the rain. Must be within 0 to 1.
Black bear pelt coat for example:
"thermia:black_bear_lined_coat": {
"conduction_protection": 0.85,
"convection_protection": 0.4,
"radiation_protection": 0.1,
"rain_protection": 0.85
}
Project description from CurseForge.
Pick your setup
TFC Thermia by Minecraft version and loader
Choose the version and loader you play, then open the matching release.
1.21.1
1 loader buildCheck the dependencies, then try the file in a copied instance before changing a world you care about.
Recent files
TFC Thermia versions and loaders
thermia-0.2.0-beta.jar
29 Aug 2026
thermia-0.1.0-beta.jar
14 Jul 2026
thermia-0.0.7-alpha.jar
24 Jun 2026
thermia-0.0.6-alpha.jar
19 Mar 2026
Looking for an older file? The official CurseForge project page is in Resources.