
Thermia
A temperature mod for Terrafirmacraft, A complex temperature system that can also be extended to non player entities.
- Загрузки
- 494
- Подписчики
- 5
- Обновлён
- 29 августа 2026 г.
- Лицензия
- EUPL-1.2
Опубликован 12 января 2026 г.
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
Spoiler
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
Spoiler
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
Spoiler
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 Seal Data Map data/thermia/data_maps/block/block_porosity.json
Spoiler
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
Spoiler
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
}
Ченджлог
0.1.0-betaБета1.21.1 · 14 июля 2026 г.
Added:
- Pelts: Used with clothing, Crafts into hides
- Foundation for animal clothing
- New field guide entries for clothing and interiors
- Clothes:
- Capes: Protects against wind
- Wide Brim Hats: Protects against sun
- Pelt Insulated: Well insulated
- Cloth: Various, Silk and wool are dyeable
Changes:
- Changed block search from 100 ticks to 40
- Most blocks and fluids now have a search cap of 32 instead of 16
- Tweaks to environment temperature math
- Tweaks to entity temperature change
- Insulation Rework:
- Conduction: Protect against cold or contact sources, Also against environment pull
- Radiation: Protects against radiative sources like fire, lava, etc
- Convection: Protects against wind or air movement
- Rain: Limits how wet you can get in rain
0.0.7-alphaАльфа1.21.1 · 24 июня 2026 г.
- GUI rework
- Effect management rework
- Field Guide support compleate (First Pass)
- Thermometer support
- Tweaked drying rate
- Tweaked inventory heating
- Tweaked internal temperature change
- Fixed sweating
- Fixed rain humidity
- Fixed effect rendering
- Other various fixes
0.0.5-alphaАльфа1.21.1 · 30 января 2026 г.
- Reworked radiant heating: 6 samples with LOD type system.
- Acclimatization: Entity min/max temperatures will now drift towards average temperature
- Rewritten Animal AI: Animals use the brain system, moving away from goal system
- Fixed rain detection
Комментарии
Загружаем…