Compatibility
Minecraft: Java Edition
1.21.x
1.20.4
1.20–1.20.2
1.19.4
1.19.2
Platforms
Fabric
Supported environments
90% of ad revenue goes to creators
Support creators and Modrinth ad-free with Modrinth+Creators
Details
Licensed LGPL-3.0-only
Published last year
Updated 4 days ago
Changelog
New Developer Wiki
- The Thermoo Wiki has moved! It has been moved to a new MkDocs-powered wiki available at https://thermoo.thedeathlycow.com/
- Along with the new wiki site, the wiki has been largely restructured and many pages have received updates.
- Contributors can also now contribute to the wiki via pull request on GitHub.
Environment API
This is a large new API with a mix of datapack and mod-based components. I would highly recommend reading the Environment API Overview on the new wiki before going out and trying to implement it in your mods.
- Introduced a new datapack-based Environment API to control environment temperature changes.
- All methods in the Environment Controller have been replaced with a new, more fit for purpose alternative.
- The fundamental change here is that the Environment datapack registry now computes a Temperature for a biome in a some widely recognised temperature unit (Celsius, Fahrenheit, Kelvin, or Rankine), as well as a few other parameters, and then those parameters are converted into temperature point changes by an event listener.
- Added the datapack registry
thermoo/environment
. Format: https://thermoo.thedeathlycow.com/datapacks/environment_definition/ - Added the datapack registry
thermoo/environment_provider
. Format: https://thermoo.thedeathlycow.com/datapacks/environment_provider_definition/ - Added environment resistance attributes,
thermoo:environment_heat_resistance
andthermoo:environment_frost_resistance
. - The environment resistance attributes represent a percentage chance to "dodge" the temperature change calculated from the events in
ServerPlayerEnvironmentTickEvents
each time they are applied.
The full list of method replacements is as follows:
getBaseValueForAttribute()
->ThermooAttributes#baseValueEvent()
getLocalTemperatureChange()
-> The Environment Datapack RegistrygetEnvironmentTemperatureForPlayer()
->ServerPlayerEnvironmentTickEvents.GET_TEMPERATURE_CHANGE
getTemperatureEffectsChange()
->LivingEntityTemperatureTickEvents.GET_ACTIVE_TEMPERATURE_CHANGE
getFloorTemperature()
->LivingEntityTemperatureTickEvents.GET_PASSIVE_TEMPERATURE_CHANGE
getMaxWetTicks()
-> The entity attributethermoo:max_soaking_tick_multiplier
(on 1.21.1, the name isthermoo:generic.max_soaking_tick_multiplier
)getSoakChange()
->LivingEntitySoakingTickEvents.GET_SOAKING_CHANGE
getHeatAtLocation()
->LivingEntityTemperatureTickEvents.GET_PASSIVE_TEMPERATURE_CHANGE
applyAwareHeat()
->LivingEntityTemperatureTickEvents.ALLOW_ACTIVE_TEMPERATURE_CHANGE
getHeatFromBlockState()
-> removedisHeatSource()
-> removedisColdSource()
-> removedisAreaHeated()
-> removed
Item Attribute Modifier Event
- Added an experimental
ModifyItemAttributeModifiersCallback.EVENT
that is very similar to the previous Fabric API event of the same name. - This applies attribute modifiers to an entity when they equip or unequip an item, it does not actually modify the underlying
minecraft:attribute_modifiers
component of an item stack.
Kotlin Bindings
- Added new Kotlin-specific method and field extensions to
TemperatureAware
andSoakable
. - These methods allow Kotlin users to use these interfaces in an intuitive way and without having to add a
thermoo$
prefix to all methods.
Files
Metadata
Release channel
ReleaseVersion number
4.4Loaders
Game versions
1.21.1Downloads
438Publication date
March 14, 2025 at 10:08 AMPublisher
TheDeathlyCow
Owner