COWMODSКаталог модов
Thermoo

ВЕРСИИ (93)

release

Thermoo Fabric 10.1.5

10.1.5
31 июл. 2026 г.3,6 тыс.Minecraft: 26.1, 26.1.1, 26.1.2fabric, quilt
Скачать
Что нового
- Moved mod metadata files to common module - This should make classtweakers apply for users relying on the common module in Loom
release

Thermoo NeoForge 10.1.5

10.1.5
31 июл. 2026 г.567Minecraft: 26.1, 26.1.1, 26.1.2neoforge
Скачать
Что нового
- Moved mod metadata files to common module - This should make classtweakers apply for users relying on the common module in Loom
release

Thermoo NeoForge 10.1.4

10.1.4
28 июл. 2026 г.75Minecraft: 26.1, 26.1.1, 26.1.2neoforge
Скачать
Что нового
# Thermoo 10.1.4 - Publish MDG-compatible AT/Interface injections via NeoLoom - Updated Argentine Spanish translations
release

Thermoo Fabric 10.1.4

10.1.4
28 июл. 2026 г.253Minecraft: 26.1, 26.1.1, 26.1.2fabric, quilt
Скачать
Что нового
# Thermoo 10.1.4 - Publish MDG-compatible AT/Interface injections via NeoLoom - Updated Argentine Spanish translations
release

Thermoo NeoForge 10.1.3

10.1.3
30 июн. 2026 г.149Minecraft: 26.1, 26.1.1, 26.1.2neoforge
Скачать
Что нового
- Fixed crash with Polymer patch
release

Thermoo Fabric 10.1.3

10.1.3
30 июн. 2026 г.2,1 тыс.Minecraft: 26.1, 26.1.1, 26.1.2fabric, quilt
Скачать
Что нового
- Fixed crash with Polymer patch
release

Thermoo Fabric 10.1.1

10.1.1
23 июн. 2026 г.795Minecraft: 26.1, 26.1.1, 26.1.2fabric, quilt
Скачать
Что нового
# Thermoo 10.1: Multiloaderification Thermoo now fully supports both Fabric and Neoforge for Minecraft 26.1.x. The Neoforge version of Thermoo no longer requires Forgified Fabric API, but it does require the Yumi Minecraft Foundation library (which is bundled with the mod). This release should also be fully compatible with 10.0.x. There are should be no breaking changes for users of this mod. However, as Thermoo now ships a common module, some things may change for developers consuming this mod. Changelog: - Ported Thermoo to a multi-loader architecture based on Neo-Loom. - Thermoo now ships `thermoo-common`, `thermoo-fabric`, and `thermoo-neoforge` jars. - Added support for Neoforge. - Added a new `ThermooDataComponentMapBuilder` interface to support what the `FabricDataComponentMapBuilder` interface does, but in a loader-agnostic way. 10.1.1 changelog: - Fixed javadoc jar not generating any data - Fixed the patch list url and removed the option from the default config
release

Thermoo NeoForge 10.1.1

10.1.1
23 июн. 2026 г.83Minecraft: 26.1, 26.1.1, 26.1.2neoforge
Скачать
Что нового
# Thermoo 10.1: Multiloaderification Thermoo now fully supports both Fabric and Neoforge for Minecraft 26.1.x. The Neoforge version of Thermoo no longer requires Forgified Fabric API, but it does require the Yumi Minecraft Foundation library (which is bundled with the mod). This release should also be fully compatible with 10.0.x. There are should be no breaking changes for users of this mod. However, as Thermoo now ships a common module, some things may change for developers consuming this mod. Changelog: - Ported Thermoo to a multi-loader architecture based on Neo-Loom. - Thermoo now ships `thermoo-common`, `thermoo-fabric`, and `thermoo-neoforge` jars. - Added support for Neoforge. - Added a new `ThermooDataComponentMapBuilder` interface to support what the `FabricDataComponentMapBuilder` interface does, but in a loader-agnostic way. 10.1.1 changelog: - Fixed javadoc jar not generating any data - Fixed the patch list url and removed the option from the default config
release

Thermoo 10.0.1

10.0.1
22 июн. 2026 г.293Minecraft: 26.1, 26.1.1, 26.1.2fabric, quilt
Скачать
Что нового
* Fixed attribute modifier temperature status effect removing itself wrongly
release

Thermoo 10.0.0

10.0.0
9 июн. 2026 г.2 тыс.Minecraft: 26.1, 26.1.1, 26.1.2fabric, quilt
Скачать
Что нового
# Thermoo 10.0.0 for Minecraft 26.1.x The full release of Thermoo 10 for Minecraft 26.1.x. Thermoo 10 is now considered stable and no further breaking changes are planned. Documentation has now also been updated. New from 10.0.0-beta.4: * Added a `IS_COLD_ENOUGH_TO_SNOW` event to the `ThermooSeasonEvents` class. * This provides a way to check if a seasons mod believes that an area should be snowy without relying on multiple redundant or inconsistent vanilla checks. * A convenience method to invoke this event has been added in `ThermooSeason`. * Introduced a more fool-proof way of registering attributes to entities to avoid invalid data from other mods prematurely cancelling `createLivingAttributes`. Full changelog from 9.x: * Updated to Minecraft 26.1.x * Replaced API exposure of Fabric API with Yumi classes. * For example: * `net.fabricmc.fabric.api.event.Event` -> `dev.yumi.commons.event.Event`, * `net.fabricmc.fabric.api.util.TriState` -> `dev.yumi.commons.TriState` * Usage of Yumi events is essentially identical to Fabric API events, but it does not tie Thermoo's API to another Minecraft mod. * This is primarily intended to make a future non-FFAPI based Neoforge port of Thermoo possible. * I will not be making FFAPI-free ports of Frostiful. * Replaced the Temperature Effect API with the Temperature Status API ([#104](https://github.com/TheDeathlyCow/thermoo/pull/104)). * Added Temperature Status Tags ([#106](https://github.com/TheDeathlyCow/thermoo/pull/106)). * Replaced `HeatingMode` with a data-driven temperature sources API ([#109](https://github.com/TheDeathlyCow/thermoo/pull/109)). * Added F3 debug screen entries for temperature, soaking, and environment providers. * Added a new event: `TemperatureStatusEvents#ALLOW_TEMPERATURE_STATUS` that allows for finer grained control over temperature statuses than the enable/disable API. * The command `/thermoo temperature status` now permits `enable` or `disable` syntax as an alternative to `set_enabled`. * Removed previously deprecated usage of `/thermoo environment relativehumidity`, users must now use `/thermoo environment relative_humidity`. * Added version numbers to API packages. * For example: * `com.github.thedeathlycow.thermoo.api.command` -> `com.github.thedeathlycow.thermoo.api.command.v1` * `com.github.thedeathlycow.thermoo.api.temperature.effect` -> `com.github.thedeathlycow.thermoo.api.temperature.status.v2` * `com.github.thedeathlycow.thermoo.api.environment.*` -> `com.github.thedeathlycow.thermoo.api.environment.v2.*` * `com.github.thedeathlycow.thermoo.api.item.*` -> `com.github.thedeathlycow.thermoo.api.item.v2.*` * `com.github.thedeathlycow.thermoo.api.season.*` -> `com.github.thedeathlycow.thermoo.api.season.v2.*` * `com.github.thedeathlycow.thermoo.api.util.*` -> `com.github.thedeathlycow.thermoo.api.util.v1.*` (these classes may still be split up to more specific packages) * `com.github.thedeathlycow.thermoo.api.client.*` -> `com.github.thedeathlycow.thermoo.api.client.v1.*` * Removed command definition classes from API. * These are now implementation classes. * Renamed `*ArgumentType` classes to `*Argument` in the command API. * Moved the `ThermooRegistries` and `ThermooRegistryKeys` classes to a `registry` package in the core API * Moved the `predicate` package and `ThermooAttributes` class to a new entity API package: `com.github.thedeathlycow.thermoo.api.entity.v1` * Split the `Item` and `EntityType` tags in `ThermooTags` into classes in the entity API (`ThermooEntityTypeTags`) and item API (`ThermooItemTags`), respectively * Removed `ThermooTags`. * Usage of `GuiGraphics` in `StatusBarOverlayRenderEvents` was replaced with `GuiGraphicsExtractor` * Moved all classes previously under the `util` package to the `core.v2` package. * Renamed `TemperatureRecord#add(TemperatureRecord)` to `TemperatureRecord#shift(TemperatureRecord)`, and deprecated the `add` method. * Added convenience methods for creating instances of `TemperatureChange` to `BuiltinTemperatureSources`. * Refactored the `TemperatureLootCondition` and `SoakedLootCondition` classes to no longer be records. * Replaced the `EnvironmentProviderType` class and its usage with direct registration of `MapCodec`s. * Established a more uniform and consistent naming scheme for the builtin implementations of `EnvironmentProvider`. Classes were renamed as follows: * `ConstantEnvironmentProvider` -> `ConstantProvider` * `ModifyEnvironmentProvider` -> `ModifyProvider` * `TemperatureShiftEnvironmentProvider` -> `ShiftTemperatureProvider` * `SetTemperatureFromPressure` -> `SetTemperatureFromPressureProvider` * `SetPressureFromAltitude` -> `SetPressureFromAltitudeProvider` * `TemperateSeasonEnvironmentProvider` -> `TemperateSeasonSelector` * `TropicalSeasonEnvironmentProvider` -> `TropicalSeasonSelector` * `LightThresholdLightProvider` -> `LightThresholdSelector` * `WeatherStateEnvironmentProvider` -> `WeatherStateSelector` * `BiomePrecipitationTypeEnvironmentProvider` -> `PrecipitationTypeSelector` * Renamed Thermoo registry classes to match Mojmap: * `ThermooRegistries` -> `ThermooBuiltInRegistries` * `ThermooRegistryKeys` -> `ThermooRegistries` ## Data-driven Temperature Sources * Moved all classes and packages under `com.github.thedeathlycow.thermoo.api.temperature.*` EXCEPT for the `status` package to `com.github.thedeathlycow.thermoo.api.core.v2`. * Removed the `HeatingMode` and `HeatingModes` classes. * The method `TemperatureAware#thermoo$addTemperature(int, HeatingMode)` was converted to `TemperatureAware#thermoo$addTemperature(int, TemperatureChange)`. * `TemperatureChange` now stores information about the context of individual temperature changes, including source, cause, direct cause, and position, and this data is now passed to various temperature change related events. * Added a new `ThermooLevel` interface that is injected onto all `Level` instances by mixin. * `ThermooLevel` provides access to a set of shared instances of `TemperatureChange`. * The `ALLOW_X_UPDATE` and `ALLOW_X_CHANGE` events in `LivingEntityTemperatureTickEvents` were removed and replaced with more general events in `TemperatureChangeEvents`. * The `GET_X_CHANGE` event in `LivingEntityTemperatureTickEvents` is now a source-key mapped event returned by `getTemperatureChange` that allows for the same sort of event to apply to any temperature source - except absolute and environment sources. * The `/thermoo temperature (add|remove)` sub-commands now provide more ability to specify context about a temperature change with `at` and `by` syntax, essentially to provide the data for the `TemperatureChange` class. ### Example Migration A simple migration of adding temperature: ```diff void foo(LivingEntity e) { - e.thermoo$addTemperature(10, HeatingModes.ACTIVE); + e.thermoo$addTemperature(10, e.level().thermoo$temperatureSources().active()); } ``` ## Temperature Status API The Temperature Effect API was rewritten and renamed to the Temperature Status API to better distinguish between the JSON files (statuses) and the effect types that actually do the work. The API largely does the same thing, but here is a summary of the changes: - Replaced the `thermoo/temperature_effect` registry with `thermoo/temperature_status` registry - The new status registry is now an actual registry, which supports tags, synchronisation, and `Holder`s, and all that. - Replaced `config` objects with a direct `effects` list entry. - Moved type delegation to entries of the effects, rather than at the root of the registry object. - Merged the `attribute_modifier` and `scaling_attribute_modifier` into a single type, differentiated with a field. - Removed the `empty` and `sequence` types, they are no longer needed. - Added a way to define the application order of statuses with the `thermoo:application_order` temperature status tag. This also removed some functionality: - Temperature statuses can no longer be "hot reloaded"; you must restart the server to reload them. - There is no longer a `loading_priority` field. The intended functionality behind this was to allow Thermoo Patches to override the effects from Frostiful/Scorchful with a check for Origin. This was superseded by the enable API. It is not known if anyone else used this for any particular functionality that was actually necessary, so it is being removed. ### Example migration Old effect ```json { "type": "thermoo:damage", "temperature_scale_range": { "max": -0.99 }, "config": { "amount": 1, "damage_interval": 20, "damage_type": "minecraft:freeze" } } ``` New status ```json { "temperature_scale_range": { "max": -0.99 }, "interval": 20, "effects": [ { "type": "thermoo:damage", "amount": 1, "damage_type": "minecraft:freeze" } ] } ```
beta

Thermoo 10.0.0-beta.4

10.0.0-beta.4
26 мар. 2026 г.7,8 тыс.Minecraft: 26.1, 26.1.1, 26.1.2fabric, quilt
Скачать
Что нового
# Thermoo 10.0.0 Beta 3 for Minecraft 26.1 Another beta build for Thermoo 10 for Minecraft 26.1, this time targeting the full release. While this is targeting the release version, **further breaking changes are still possible.**. Documentation has not yet been updated either, but it will be soon. ## Beta 4 * Fixed Yumi libraries not loading correctly, causing a start-up crash. ## Beta 3 * Updated to release 26.1 * Updated Polymer integration * Breaking change: Renamed Thermoo registry classes to match Mojmap: * `ThermooRegistries` -> `ThermooBuiltInRegistries` * `ThermooRegistryKeys` -> `ThermooRegistries` ## Beta 2 * Replaced usage of `net.fabricmc.fabric.api.util.TriState` in the public API with `dev.yumi.commons.TriState` * Added a new event: `TemperatureStatusEvents#ALLOW_TEMPERATURE_STATUS` that allows for finer grained control over temperature statuses than the enable/disable API. * Added F3 debug screen entries for temperature and soaking. * The command `/thermoo temperature status` now permits `enable` or `disable` syntax as an alternative to `set_enabled`. * Removed previously deprecated usage of `/thermoo environment relativehumidity`, users must now use `/thermoo environment relative_humidity`. ## Beta 1 * Bumped the version of the `core` package to `v2` to align with the general vibe of changes 26.1 is introducing. * Moved all classes previously under the `util.v1` package to the `core.v2` package. * Renamed `TemperatureRecord#add(TemperatureRecord)` to `TemperatureRecord#shift(TemperatureRecord)`, and deprecated the `add` method. * Added convenience methods for creating instances of `TemperatureChange` to `BuiltinTemperatureSources`. * Replaced API exposure of Fabric API with Yumi Commons by LambdAurora. * Replaced all usage of Fabric API event classes (`net.fabricmc.fabric.api.event.Event`) with Yumi event classes (`dev.yumi.commons.event.Event`). * Usage of Yumi events is essentially identical to Fabric API events, but it does not tie Thermoo's API to another Minecraft mod. * This is primarily intended to make a future non-FFAPI based Neoforge port of Thermoo possible. * I will not be making FFAPI-free ports of Frostiful. * Refactored the `TemperatureLootCondition` and `SoakedLootCondition` classes to no longer be records. * Replaced the `EnvironmentProviderType` class and its usage with direct registration of `MapCodec`s. * Established a more uniform and consistent naming scheme for the builtin implementations of `EnvironmentProvider`. Classes were renamed as follows: * `ConstantEnvironmentProvider` -> `ConstantProvider` * `ModifyEnvironmentProvider` -> `ModifyProvider` * `TemperatureShiftEnvironmentProvider` -> `ShiftTemperatureProvider` * `SetTemperatureFromPressure` -> `SetTemperatureFromPressureProvider` * `SetPressureFromAltitude` -> `SetPressureFromAltitudeProvider` * `TemperateSeasonEnvironmentProvider` -> `TemperateSeasonSelector` * `TropicalSeasonEnvironmentProvider` -> `TropicalSeasonSelector` * `LightThresholdLightProvider` -> `LightThresholdSelector` * `WeatherStateEnvironmentProvider` -> `WeatherStateSelector` * `BiomePrecipitationTypeEnvironmentProvider` -> `PrecipitationTypeSelector` ## Alpha 2 * Replaced `HeatingMode` with a data-driven temperature sources API ([#109](https://github.com/TheDeathlyCow/thermoo/pull/109)). * Moved all remaining API packages to versioned packages, as follows: * `com.github.thedeathlycow.thermoo.api.environment.*` -> `com.github.thedeathlycow.thermoo.api.environment.v2.*` * `com.github.thedeathlycow.thermoo.api.item.*` -> `com.github.thedeathlycow.thermoo.api.item.v2.*` * `com.github.thedeathlycow.thermoo.api.season.*` -> `com.github.thedeathlycow.thermoo.api.season.v2.*` * `com.github.thedeathlycow.thermoo.api.util.*` -> `com.github.thedeathlycow.thermoo.api.util.v1.*` (these classes may still be split up to more specific packages) * `com.github.thedeathlycow.thermoo.api.client.*` -> `com.github.thedeathlycow.thermoo.api.client.v1.*` * Moved the `ThermooRegistries` and `ThermooRegistryKeys` classes to a `registry` package in the core API * Moved the `predicate` package and `ThermooAttributes` class to a new entity API package: `com.github.thedeathlycow.thermoo.api.entity.v1` * Split the `Item` and `EntityType` tags in `ThermooTags` into classes in the entity API (`ThermooEntityTypeTags`) and item API (`ThermooItemTags`), respectively * Removed `ThermooTags`. * Usage of `GuiGraphics` in `StatusBarOverlayRenderEvents` was replaced with `GuiGraphicsExtractor` ## Data-driven Temperature Sources * Moved all classes and packages under `com.github.thedeathlycow.thermoo.api.temperature.*` EXCEPT for the `status` package to `com.github.thedeathlycow.thermoo.api.core.v2`. * Removed the `HeatingMode` and `HeatingModes` classes. * The method `TemperatureAware#thermoo$addTemperature(int, HeatingMode)` was converted to `TemperatureAware#thermoo$addTemperature(int, TemperatureChange)`. * `TemperatureChange` now stores information about the context of individual temperature changes, including source, cause, direct cause, and position, and this data is now passed to various temperature change related events. * Added a new `ThermooLevel` interface that is injected onto all `Level` instances by mixin. * `ThermooLevel` provides access to a set of shared instances of `TemperatureChange`. * The `ALLOW_X_UPDATE` and `ALLOW_X_CHANGE` events in `LivingEntityTemperatureTickEvents` were removed and replaced with more general events in `TemperatureChangeEvents`. * The `GET_X_CHANGE` event in `LivingEntityTemperatureTickEvents` is now a source-key mapped event returned by `getTemperatureChange` that allows for the same sort of event to apply to any temperature source - except absolute and environment sources. * The `/thermoo temperature (add|remove)` sub-commands now provide more ability to specify context about a temperature change with `at` and `by` syntax, essentially to provide the data for the `TemperatureChange` class. ## Alpha 1 * Begun adding version numbers to API packages. * So far this has impacted the following packages: * `com.github.thedeathlycow.thermoo.api.command` -> `com.github.thedeathlycow.thermoo.api.command.v1` * `com.github.thedeathlycow.thermoo.api.temperature.effect` -> `com.github.thedeathlycow.thermoo.api.temperature.status.v2` * More packages will be moved before the full 26.1 release. * Removed command definition classes from API. * These are now implementation classes. * Renamed `*ArgumentType` classes to `*Argument` in the command API. * Replaced the Temperature Effect API with the Temperature Status API ([#104](https://github.com/TheDeathlyCow/thermoo/pull/104)). * Added Temperature Status Tags ([#106](https://github.com/TheDeathlyCow/thermoo/pull/106)). ### Example Migration A simple migration of adding temperature: ```diff void foo(LivingEntity e) { - e.thermoo$addTemperature(10, HeatingModes.ACTIVE); + e.thermoo$addTemperature(10, e.level().thermoo$temperatureSources().active()); } ``` ## Temperature Status API The Temperature Effect API was rewritten and renamed to the Temperature Status API to better distinguish between the JSON files (statuses) and the effect types that actually do the work. The API largely does the same thing, but here is a summary of the changes: - Replaced the `thermoo/temperature_effect` registry with `thermoo/temperature_status` registry - The new status registry is now an actual registry, which supports tags, synchronisation, and `Holder`s, and all that. - Replaced `config` objects with a direct `effects` list entry. - Moved type delegation to entries of the effects, rather than at the root of the registry object. - Merged the `attribute_modifier` and `scaling_attribute_modifier` into a single type, differentiated with a field. - Removed the `empty` and `sequence` types, they are no longer needed. - Added a way to define the application order of statuses with the `thermoo:application_order` temperature status tag. This also removed some functionality: - Temperature statuses can no longer be "hot reloaded"; you must restart the server to reload them. - There is no longer a `loading_priority` field. The intended functionality behind this was to allow Thermoo Patches to override the effects from Frostiful/Scorchful with a check for Origin. This was superseded by the enable API. It is not known if anyone else used this for any particular functionality that was actually necessary, so it is being removed. ### Example migration Old effect ```json { "type": "thermoo:damage", "temperature_scale_range": { "max": -0.99 }, "config": { "amount": 1, "damage_interval": 20, "damage_type": "minecraft:freeze" } } ``` New status ```json { "temperature_scale_range": { "max": -0.99 }, "interval": 20, "effects": [ { "type": "thermoo:damage", "amount": 1, "damage_type": "minecraft:freeze" } ] } ```
beta

Thermoo 10.0.0-beta.3

10.0.0-beta.3
26 мар. 2026 г.137Minecraft: 26.1fabric, quilt
Скачать
Что нового
# Thermoo 10.0.0 Beta 3 for Minecraft 26.1 Another beta build for Thermoo 10 for Minecraft 26.1, this time targeting the full release. While this is targeting the release version, **further breaking changes are still possible.**. Documentation has not yet been updated either, but it will be soon. ## Beta 3 * Updated to release 26.1 * Updated Polymer integration * Breaking change: Renamed Thermoo registry classes to match Mojmap: * `ThermooRegistries` -> `ThermooBuiltInRegistries` * `ThermooRegistryKeys` -> `ThermooRegistries` ## Beta 2 * Replaced usage of `net.fabricmc.fabric.api.util.TriState` in the public API with `dev.yumi.commons.TriState` * Added a new event: `TemperatureStatusEvents#ALLOW_TEMPERATURE_STATUS` that allows for finer grained control over temperature statuses than the enable/disable API. * Added F3 debug screen entries for temperature and soaking. * The command `/thermoo temperature status` now permits `enable` or `disable` syntax as an alternative to `set_enabled`. * Removed previously deprecated usage of `/thermoo environment relativehumidity`, users must now use `/thermoo environment relative_humidity`. ## Beta 1 * Bumped the version of the `core` package to `v2` to align with the general vibe of changes 26.1 is introducing. * Moved all classes previously under the `util.v1` package to the `core.v2` package. * Renamed `TemperatureRecord#add(TemperatureRecord)` to `TemperatureRecord#shift(TemperatureRecord)`, and deprecated the `add` method. * Added convenience methods for creating instances of `TemperatureChange` to `BuiltinTemperatureSources`. * Replaced API exposure of Fabric API with Yumi Commons by LambdAurora. * Replaced all usage of Fabric API event classes (`net.fabricmc.fabric.api.event.Event`) with Yumi event classes (`dev.yumi.commons.event.Event`). * Usage of Yumi events is essentially identical to Fabric API events, but it does not tie Thermoo's API to another Minecraft mod. * This is primarily intended to make a future non-FFAPI based Neoforge port of Thermoo possible. * I will not be making FFAPI-free ports of Frostiful. * Refactored the `TemperatureLootCondition` and `SoakedLootCondition` classes to no longer be records. * Replaced the `EnvironmentProviderType` class and its usage with direct registration of `MapCodec`s. * Established a more uniform and consistent naming scheme for the builtin implementations of `EnvironmentProvider`. Classes were renamed as follows: * `ConstantEnvironmentProvider` -> `ConstantProvider` * `ModifyEnvironmentProvider` -> `ModifyProvider` * `TemperatureShiftEnvironmentProvider` -> `ShiftTemperatureProvider` * `SetTemperatureFromPressure` -> `SetTemperatureFromPressureProvider` * `SetPressureFromAltitude` -> `SetPressureFromAltitudeProvider` * `TemperateSeasonEnvironmentProvider` -> `TemperateSeasonSelector` * `TropicalSeasonEnvironmentProvider` -> `TropicalSeasonSelector` * `LightThresholdLightProvider` -> `LightThresholdSelector` * `WeatherStateEnvironmentProvider` -> `WeatherStateSelector` * `BiomePrecipitationTypeEnvironmentProvider` -> `PrecipitationTypeSelector` ## Alpha 2 * Replaced `HeatingMode` with a data-driven temperature sources API ([#109](https://github.com/TheDeathlyCow/thermoo/pull/109)). * Moved all remaining API packages to versioned packages, as follows: * `com.github.thedeathlycow.thermoo.api.environment.*` -> `com.github.thedeathlycow.thermoo.api.environment.v2.*` * `com.github.thedeathlycow.thermoo.api.item.*` -> `com.github.thedeathlycow.thermoo.api.item.v2.*` * `com.github.thedeathlycow.thermoo.api.season.*` -> `com.github.thedeathlycow.thermoo.api.season.v2.*` * `com.github.thedeathlycow.thermoo.api.util.*` -> `com.github.thedeathlycow.thermoo.api.util.v1.*` (these classes may still be split up to more specific packages) * `com.github.thedeathlycow.thermoo.api.client.*` -> `com.github.thedeathlycow.thermoo.api.client.v1.*` * Moved the `ThermooRegistries` and `ThermooRegistryKeys` classes to a `registry` package in the core API * Moved the `predicate` package and `ThermooAttributes` class to a new entity API package: `com.github.thedeathlycow.thermoo.api.entity.v1` * Split the `Item` and `EntityType` tags in `ThermooTags` into classes in the entity API (`ThermooEntityTypeTags`) and item API (`ThermooItemTags`), respectively * Removed `ThermooTags`. * Usage of `GuiGraphics` in `StatusBarOverlayRenderEvents` was replaced with `GuiGraphicsExtractor` ## Data-driven Temperature Sources * Moved all classes and packages under `com.github.thedeathlycow.thermoo.api.temperature.*` EXCEPT for the `status` package to `com.github.thedeathlycow.thermoo.api.core.v2`. * Removed the `HeatingMode` and `HeatingModes` classes. * The method `TemperatureAware#thermoo$addTemperature(int, HeatingMode)` was converted to `TemperatureAware#thermoo$addTemperature(int, TemperatureChange)`. * `TemperatureChange` now stores information about the context of individual temperature changes, including source, cause, direct cause, and position, and this data is now passed to various temperature change related events. * Added a new `ThermooLevel` interface that is injected onto all `Level` instances by mixin. * `ThermooLevel` provides access to a set of shared instances of `TemperatureChange`. * The `ALLOW_X_UPDATE` and `ALLOW_X_CHANGE` events in `LivingEntityTemperatureTickEvents` were removed and replaced with more general events in `TemperatureChangeEvents`. * The `GET_X_CHANGE` event in `LivingEntityTemperatureTickEvents` is now a source-key mapped event returned by `getTemperatureChange` that allows for the same sort of event to apply to any temperature source - except absolute and environment sources. * The `/thermoo temperature (add|remove)` sub-commands now provide more ability to specify context about a temperature change with `at` and `by` syntax, essentially to provide the data for the `TemperatureChange` class. ## Alpha 1 * Begun adding version numbers to API packages. * So far this has impacted the following packages: * `com.github.thedeathlycow.thermoo.api.command` -> `com.github.thedeathlycow.thermoo.api.command.v1` * `com.github.thedeathlycow.thermoo.api.temperature.effect` -> `com.github.thedeathlycow.thermoo.api.temperature.status.v2` * More packages will be moved before the full 26.1 release. * Removed command definition classes from API. * These are now implementation classes. * Renamed `*ArgumentType` classes to `*Argument` in the command API. * Replaced the Temperature Effect API with the Temperature Status API ([#104](https://github.com/TheDeathlyCow/thermoo/pull/104)). * Added Temperature Status Tags ([#106](https://github.com/TheDeathlyCow/thermoo/pull/106)). ### Example Migration A simple migration of adding temperature: ```diff void foo(LivingEntity e) { - e.thermoo$addTemperature(10, HeatingModes.ACTIVE); + e.thermoo$addTemperature(10, e.level().thermoo$temperatureSources().active()); } ``` ## Temperature Status API The Temperature Effect API was rewritten and renamed to the Temperature Status API to better distinguish between the JSON files (statuses) and the effect types that actually do the work. The API largely does the same thing, but here is a summary of the changes: - Replaced the `thermoo/temperature_effect` registry with `thermoo/temperature_status` registry - The new status registry is now an actual registry, which supports tags, synchronisation, and `Holder`s, and all that. - Replaced `config` objects with a direct `effects` list entry. - Moved type delegation to entries of the effects, rather than at the root of the registry object. - Merged the `attribute_modifier` and `scaling_attribute_modifier` into a single type, differentiated with a field. - Removed the `empty` and `sequence` types, they are no longer needed. - Added a way to define the application order of statuses with the `thermoo:application_order` temperature status tag. This also removed some functionality: - Temperature statuses can no longer be "hot reloaded"; you must restart the server to reload them. - There is no longer a `loading_priority` field. The intended functionality behind this was to allow Thermoo Patches to override the effects from Frostiful/Scorchful with a check for Origin. This was superseded by the enable API. It is not known if anyone else used this for any particular functionality that was actually necessary, so it is being removed. ### Example migration Old effect ```json { "type": "thermoo:damage", "temperature_scale_range": { "max": -0.99 }, "config": { "amount": 1, "damage_interval": 20, "damage_type": "minecraft:freeze" } } ``` New status ```json { "temperature_scale_range": { "max": -0.99 }, "interval": 20, "effects": [ { "type": "thermoo:damage", "amount": 1, "damage_type": "minecraft:freeze" } ] } ```
beta

Thermoo 10.0.0-beta.2

10.0.0-beta.2
20 мар. 2026 г.103Minecraft: 26.1-rc-1fabric, quilt
Скачать
Что нового
# Thermoo 10.0.0 Beta 1 for Minecraft 26.1-pre-2 A beta build for Thermoo 10 for Minecraft 26.1. At this time, I have implemented all the features I plan to release for 26.1. However, **further breaking changes are still possible.** Because of this, **the documentation has also not yet been updated!** The Thermoo Docs will be fully updated when the API changes are finalized for 26.1. ## Beta 2 * Replaced usage of `net.fabricmc.fabric.api.util.TriState` in the public API with `dev.yumi.commons.TriState` * Added a new event: `TemperatureStatusEvents#ALLOW_TEMPERATURE_STATUS` that allows for finer grained control over temperature statuses than the enable/disable API. * Added F3 debug screen entries for temperature and soaking. * The command `/thermoo temperature status` now permits `enable` or `disable` syntax as an alternative to `set_enabled`. * Removed previously deprecated usage of `/thermoo environment relativehumidity`, users must now use `/thermoo environment relative_humidity`. ## Beta 1 * Bumped the version of the `core` package to `v2` to align with the general vibe of changes 26.1 is introducing. * Moved all classes previously under the `util.v1` package to the `core.v2` package. * Renamed `TemperatureRecord#add(TemperatureRecord)` to `TemperatureRecord#shift(TemperatureRecord)`, and deprecated the `add` method. * Added convenience methods for creating instances of `TemperatureChange` to `BuiltinTemperatureSources`. * Replaced API exposure of Fabric API with Yumi Commons by LambdAurora. * Replaced all usage of Fabric API event classes (`net.fabricmc.fabric.api.event.Event`) with Yumi event classes (`dev.yumi.commons.event.Event`). * Usage of Yumi events is essentially identical to Fabric API events, but it does not tie Thermoo's API to another Minecraft mod. * This is primarily intended to make a future non-FFAPI based Neoforge port of Thermoo possible. * I will not be making FFAPI-free ports of Frostiful. * Refactored the `TemperatureLootCondition` and `SoakedLootCondition` classes to no longer be records. * Replaced the `EnvironmentProviderType` class and its usage with direct registration of `MapCodec`s. * Established a more uniform and consistent naming scheme for the builtin implementations of `EnvironmentProvider`. Classes were renamed as follows: * `ConstantEnvironmentProvider` -> `ConstantProvider` * `ModifyEnvironmentProvider` -> `ModifyProvider` * `TemperatureShiftEnvironmentProvider` -> `ShiftTemperatureProvider` * `SetTemperatureFromPressure` -> `SetTemperatureFromPressureProvider` * `SetPressureFromAltitude` -> `SetPressureFromAltitudeProvider` * `TemperateSeasonEnvironmentProvider` -> `TemperateSeasonSelector` * `TropicalSeasonEnvironmentProvider` -> `TropicalSeasonSelector` * `LightThresholdLightProvider` -> `LightThresholdSelector` * `WeatherStateEnvironmentProvider` -> `WeatherStateSelector` * `BiomePrecipitationTypeEnvironmentProvider` -> `PrecipitationTypeSelector` ## Alpha 2 * Replaced `HeatingMode` with a data-driven temperature sources API ([#109](https://github.com/TheDeathlyCow/thermoo/pull/109)). * Moved all remaining API packages to versioned packages, as follows: * `com.github.thedeathlycow.thermoo.api.environment.*` -> `com.github.thedeathlycow.thermoo.api.environment.v2.*` * `com.github.thedeathlycow.thermoo.api.item.*` -> `com.github.thedeathlycow.thermoo.api.item.v2.*` * `com.github.thedeathlycow.thermoo.api.season.*` -> `com.github.thedeathlycow.thermoo.api.season.v2.*` * `com.github.thedeathlycow.thermoo.api.util.*` -> `com.github.thedeathlycow.thermoo.api.util.v1.*` (these classes may still be split up to more specific packages) * `com.github.thedeathlycow.thermoo.api.client.*` -> `com.github.thedeathlycow.thermoo.api.client.v1.*` * Moved the `ThermooRegistries` and `ThermooRegistryKeys` classes to a `registry` package in the core API * Moved the `predicate` package and `ThermooAttributes` class to a new entity API package: `com.github.thedeathlycow.thermoo.api.entity.v1` * Split the `Item` and `EntityType` tags in `ThermooTags` into classes in the entity API (`ThermooEntityTypeTags`) and item API (`ThermooItemTags`), respectively * Removed `ThermooTags`. * Usage of `GuiGraphics` in `StatusBarOverlayRenderEvents` was replaced with `GuiGraphicsExtractor` ## Data-driven Temperature Sources * Moved all classes and packages under `com.github.thedeathlycow.thermoo.api.temperature.*` EXCEPT for the `status` package to `com.github.thedeathlycow.thermoo.api.core.v2`. * Removed the `HeatingMode` and `HeatingModes` classes. * The method `TemperatureAware#thermoo$addTemperature(int, HeatingMode)` was converted to `TemperatureAware#thermoo$addTemperature(int, TemperatureChange)`. * `TemperatureChange` now stores information about the context of individual temperature changes, including source, cause, direct cause, and position, and this data is now passed to various temperature change related events. * Added a new `ThermooLevel` interface that is injected onto all `Level` instances by mixin. * `ThermooLevel` provides access to a set of shared instances of `TemperatureChange`. * The `ALLOW_X_UPDATE` and `ALLOW_X_CHANGE` events in `LivingEntityTemperatureTickEvents` were removed and replaced with more general events in `TemperatureChangeEvents`. * The `GET_X_CHANGE` event in `LivingEntityTemperatureTickEvents` is now a source-key mapped event returned by `getTemperatureChange` that allows for the same sort of event to apply to any temperature source - except absolute and environment sources. * The `/thermoo temperature (add|remove)` sub-commands now provide more ability to specify context about a temperature change with `at` and `by` syntax, essentially to provide the data for the `TemperatureChange` class. ## Alpha 1 * Begun adding version numbers to API packages. * So far this has impacted the following packages: * `com.github.thedeathlycow.thermoo.api.command` -> `com.github.thedeathlycow.thermoo.api.command.v1` * `com.github.thedeathlycow.thermoo.api.temperature.effect` -> `com.github.thedeathlycow.thermoo.api.temperature.status.v2` * More packages will be moved before the full 26.1 release. * Removed command definition classes from API. * These are now implementation classes. * Renamed `*ArgumentType` classes to `*Argument` in the command API. * Replaced the Temperature Effect API with the Temperature Status API ([#104](https://github.com/TheDeathlyCow/thermoo/pull/104)). * Added Temperature Status Tags ([#106](https://github.com/TheDeathlyCow/thermoo/pull/106)). ### Example Migration A simple migration of adding temperature: ```diff void foo(LivingEntity e) { - e.thermoo$addTemperature(10, HeatingModes.ACTIVE); + e.thermoo$addTemperature(10, e.level().thermoo$temperatureSources().active()); } ``` ## Temperature Status API The Temperature Effect API was rewritten and renamed to the Temperature Status API to better distinguish between the JSON files (statuses) and the effect types that actually do the work. The API largely does the same thing, but here is a summary of the changes: - Replaced the `thermoo/temperature_effect` registry with `thermoo/temperature_status` registry - The new status registry is now an actual registry, which supports tags, synchronisation, and `Holder`s, and all that. - Replaced `config` objects with a direct `effects` list entry. - Moved type delegation to entries of the effects, rather than at the root of the registry object. - Merged the `attribute_modifier` and `scaling_attribute_modifier` into a single type, differentiated with a field. - Removed the `empty` and `sequence` types, they are no longer needed. - Added a way to define the application order of statuses with the `thermoo:application_order` temperature status tag. This also removed some functionality: - Temperature statuses can no longer be "hot reloaded"; you must restart the server to reload them. - There is no longer a `loading_priority` field. The intended functionality behind this was to allow Thermoo Patches to override the effects from Frostiful/Scorchful with a check for Origin. This was superseded by the enable API. It is not known if anyone else used this for any particular functionality that was actually necessary, so it is being removed. ### Example migration Old effect ```json { "type": "thermoo:damage", "temperature_scale_range": { "max": -0.99 }, "config": { "amount": 1, "damage_interval": 20, "damage_type": "minecraft:freeze" } } ``` New status ```json { "temperature_scale_range": { "max": -0.99 }, "interval": 20, "effects": [ { "type": "thermoo:damage", "amount": 1, "damage_type": "minecraft:freeze" } ] } ```
beta

Thermoo 10.0.0-beta.1

10.0.0-beta.1
19 мар. 2026 г.95Minecraft: 26.1-pre-2fabric, quilt
Скачать
Что нового
# Thermoo 10.0.0 Beta 1 for Minecraft 26.1-pre-2 A beta build for Thermoo 10 for Minecraft 26.1. At this time, I have implemented all the features I plan to release for 26.1. However, **further breaking changes are still possible.** Because of this, **the documentation has also not yet been updated!** The Thermoo Docs will be fully updated when the API changes are finalized for 26.1. ## Beta 1 * Bumped the version of the `core` package to `v2` to align with the general vibe of changes 26.1 is introducing. * Moved all classes previously under the `util.v1` package to the `core.v2` package. * Renamed `TemperatureRecord#add(TemperatureRecord)` to `TemperatureRecord#shift(TemperatureRecord)`, and deprecated the `add` method. * Added convenience methods for creating instances of `TemperatureChange` to `BuiltinTemperatureSources`. * Replaced API exposure of Fabric API with Yumi Commons by LambdAurora. * Replaced all usage of Fabric API event classes (`net.fabricmc.fabric.api.event.Event`) with Yumi event classes (`dev.yumi.commons.event.Event`). * Usage of Yumi events is essentially identical to Fabric API events, but it does not tie Thermoo's API to another Minecraft mod. * This is primarily intended to make a future non-FFAPI based Neoforge port of Thermoo possible. * I will not be making FFAPI-free ports of Frostiful. * Refactored the `TemperatureLootCondition` and `SoakedLootCondition` classes to no longer be records. * Replaced the `EnvironmentProviderType` class and its usage with direct registration of `MapCodec`s. * Established a more uniform and consistent naming scheme for the builtin implementations of `EnvironmentProvider`. Classes were renamed as follows: * `ConstantEnvironmentProvider` -> `ConstantProvider` * `ModifyEnvironmentProvider` -> `ModifyProvider` * `TemperatureShiftEnvironmentProvider` -> `ShiftTemperatureProvider` * `SetTemperatureFromPressure` -> `SetTemperatureFromPressureProvider` * `SetPressureFromAltitude` -> `SetPressureFromAltitudeProvider` * `TemperateSeasonEnvironmentProvider` -> `TemperateSeasonSelector` * `TropicalSeasonEnvironmentProvider` -> `TropicalSeasonSelector` * `LightThresholdLightProvider` -> `LightThresholdSelector` * `WeatherStateEnvironmentProvider` -> `WeatherStateSelector` * `BiomePrecipitationTypeEnvironmentProvider` -> `PrecipitationTypeSelector` ## Alpha 2 * Replaced `HeatingMode` with a data-driven temperature sources API ([#109](https://github.com/TheDeathlyCow/thermoo/pull/109)). * Moved all remaining API packages to versioned packages, as follows: * `com.github.thedeathlycow.thermoo.api.environment.*` -> `com.github.thedeathlycow.thermoo.api.environment.v2.*` * `com.github.thedeathlycow.thermoo.api.item.*` -> `com.github.thedeathlycow.thermoo.api.item.v2.*` * `com.github.thedeathlycow.thermoo.api.season.*` -> `com.github.thedeathlycow.thermoo.api.season.v2.*` * `com.github.thedeathlycow.thermoo.api.util.*` -> `com.github.thedeathlycow.thermoo.api.util.v1.*` (these classes may still be split up to more specific packages) * `com.github.thedeathlycow.thermoo.api.client.*` -> `com.github.thedeathlycow.thermoo.api.client.v1.*` * Moved the `ThermooRegistries` and `ThermooRegistryKeys` classes to a `registry` package in the core API * Moved the `predicate` package and `ThermooAttributes` class to a new entity API package: `com.github.thedeathlycow.thermoo.api.entity.v1` * Split the `Item` and `EntityType` tags in `ThermooTags` into classes in the entity API (`ThermooEntityTypeTags`) and item API (`ThermooItemTags`), respectively * Removed `ThermooTags`. * Usage of `GuiGraphics` in `StatusBarOverlayRenderEvents` was replaced with `GuiGraphicsExtractor` ## Data-driven Temperature Sources * Moved all classes and packages under `com.github.thedeathlycow.thermoo.api.temperature.*` EXCEPT for the `status` package to `com.github.thedeathlycow.thermoo.api.core.v2`. * Removed the `HeatingMode` and `HeatingModes` classes. * The method `TemperatureAware#thermoo$addTemperature(int, HeatingMode)` was converted to `TemperatureAware#thermoo$addTemperature(int, TemperatureChange)`. * `TemperatureChange` now stores information about the context of individual temperature changes, including source, cause, direct cause, and position, and this data is now passed to various temperature change related events. * Added a new `ThermooLevel` interface that is injected onto all `Level` instances by mixin. * `ThermooLevel` provides access to a set of shared instances of `TemperatureChange`. * The `ALLOW_X_UPDATE` and `ALLOW_X_CHANGE` events in `LivingEntityTemperatureTickEvents` were removed and replaced with more general events in `TemperatureChangeEvents`. * The `GET_X_CHANGE` event in `LivingEntityTemperatureTickEvents` is now a source-key mapped event returned by `getTemperatureChange` that allows for the same sort of event to apply to any temperature source - except absolute and environment sources. * The `/thermoo temperature (add|remove)` sub-commands now provide more ability to specify context about a temperature change with `at` and `by` syntax, essentially to provide the data for the `TemperatureChange` class. ## Alpha 1 * Begun adding version numbers to API packages. * So far this has impacted the following packages: * `com.github.thedeathlycow.thermoo.api.command` -> `com.github.thedeathlycow.thermoo.api.command.v1` * `com.github.thedeathlycow.thermoo.api.temperature.effect` -> `com.github.thedeathlycow.thermoo.api.temperature.status.v2` * More packages will be moved before the full 26.1 release. * Removed command definition classes from API. * These are now implementation classes. * Renamed `*ArgumentType` classes to `*Argument` in the command API. * Replaced the Temperature Effect API with the Temperature Status API ([#104](https://github.com/TheDeathlyCow/thermoo/pull/104)). * Added Temperature Status Tags ([#106](https://github.com/TheDeathlyCow/thermoo/pull/106)). ### Example Migration A simple migration of adding temperature: ```diff void foo(LivingEntity e) { - e.thermoo$addTemperature(10, HeatingModes.ACTIVE); + e.thermoo$addTemperature(10, e.level().thermoo$temperatureSources().active()); } ``` ## Temperature Status API The Temperature Effect API was rewritten and renamed to the Temperature Status API to better distinguish between the JSON files (statuses) and the effect types that actually do the work. The API largely does the same thing, but here is a summary of the changes: - Replaced the `thermoo/temperature_effect` registry with `thermoo/temperature_status` registry - The new status registry is now an actual registry, which supports tags, synchronisation, and `Holder`s, and all that. - Replaced `config` objects with a direct `effects` list entry. - Moved type delegation to entries of the effects, rather than at the root of the registry object. - Merged the `attribute_modifier` and `scaling_attribute_modifier` into a single type, differentiated with a field. - Removed the `empty` and `sequence` types, they are no longer needed. - Added a way to define the application order of statuses with the `thermoo:application_order` temperature status tag. This also removed some functionality: - Temperature statuses can no longer be "hot reloaded"; you must restart the server to reload them. - There is no longer a `loading_priority` field. The intended functionality behind this was to allow Thermoo Patches to override the effects from Frostiful/Scorchful with a check for Origin. This was superseded by the enable API. It is not known if anyone else used this for any particular functionality that was actually necessary, so it is being removed. ### Example migration Old effect ```json { "type": "thermoo:damage", "temperature_scale_range": { "max": -0.99 }, "config": { "amount": 1, "damage_interval": 20, "damage_type": "minecraft:freeze" } } ``` New status ```json { "temperature_scale_range": { "max": -0.99 }, "interval": 20, "effects": [ { "type": "thermoo:damage", "amount": 1, "damage_type": "minecraft:freeze" } ] } ```
alpha

Thermoo 10.0.0-alpha.2

10.0.0-alpha.2
17 мар. 2026 г.68Minecraft: 26.1-pre-2fabric, quilt
Скачать
Что нового
# Thermoo 10.0.0 Alpha 2 for Minecraft 26.1-snapshot-11 A second pre-release build for Thermoo 10 for Minecraft 26.1. This is an alpha version, and the API remains extremely unstable as **further breaking changes are planned.** Because of this, **the documentation has also not yet been updated!** The Thermoo Docs will be fully updated when the API changes are finalized for 26.1. This release is primarily intended for me to get a head start on updating Frostiful and Scorchful, and also to open Thermoo up to public bugtesting from whomever wants to do that. ## Alpha 1 * Begun adding version numbers to API packages. * So far this has impacted the following packages: * `com.github.thedeathlycow.thermoo.api.command` -> `com.github.thedeathlycow.thermoo.api.command.v1` * `com.github.thedeathlycow.thermoo.api.temperature.effect` -> `com.github.thedeathlycow.thermoo.api.temperature.status.v2` * More packages will be moved before the full 26.1 release. * Removed command definition classes from API. * These are now implementation classes. * Renamed `*ArgumentType` classes to `*Argument` in the command API. * Replaced the Temperature Effect API with the Temperature Status API ([#104](https://github.com/TheDeathlyCow/thermoo/pull/104)). * Added Temperature Status Tags ([#106](https://github.com/TheDeathlyCow/thermoo/pull/106)). ## Alpha 2 * Replaced `HeatingMode` with a data-driven temperature sources API ([#109](https://github.com/TheDeathlyCow/thermoo/pull/109)). * Moved all remaining API packages to versioned packages, as follows: * `com.github.thedeathlycow.thermoo.api.environment.*` -> `com.github.thedeathlycow.thermoo.api.environment.v2.*` * `com.github.thedeathlycow.thermoo.api.item.*` -> `com.github.thedeathlycow.thermoo.api.item.v2.*` * `com.github.thedeathlycow.thermoo.api.season.*` -> `com.github.thedeathlycow.thermoo.api.season.v2.*` * `com.github.thedeathlycow.thermoo.api.util.*` -> `com.github.thedeathlycow.thermoo.api.util.v1.*` (these classes may still be split up to more specific packages) * `com.github.thedeathlycow.thermoo.api.client.*` -> `com.github.thedeathlycow.thermoo.api.client.v1.*` * Moved the `ThermooRegistries` and `ThermooRegistryKeys` classes to a `registry` package in the core API * Moved the `predicate` package and `ThermooAttributes` class to a new entity API package: `com.github.thedeathlycow.thermoo.api.entity.v1` * Split the `Item` and `EntityType` tags in `ThermooTags` into classes in the entity API (`ThermooEntityTypeTags`) and item API (`ThermooItemTags`), respectively * Removed `ThermooTags`. * Usage of `GuiGraphics` in `StatusBarOverlayRenderEvents` was replaced with `GuiGraphicsExtractor` ## Data-driven Temperature Sources * Moved all classes and packages under `com.github.thedeathlycow.thermoo.api.temperature.*` EXCEPT for the `status` package to `com.github.thedeathlycow.thermoo.api.core.v1`. * Removed the `HeatingMode` and `HeatingModes` classes. * The method `TemperatureAware#thermoo$addTemperature(int, HeatingMode)` was converted to `TemperatureAware#thermoo$addTemperature(int, TemperatureChange)`. * `TemperatureChange` now stores information about the context of individual temperature changes, including source, cause, direct cause, and position, and this data is now passed to various temperature change related events. * Added a new `ThermooLevel` interface that is injected onto all `Level` instances by mixin. * `ThermooLevel` provides access to a set of shared instances of `TemperatureChange`. * The `ALLOW_X_UPDATE` and `ALLOW_X_CHANGE` events in `LivingEntityTemperatureTickEvents` were removed and replaced with more general events in `TemperatureChangeEvents`. * The `GET_X_CHANGE` event in `LivingEntityTemperatureTickEvents` is now a source-key mapped event returned by `getTemperatureChange` that allows for the same sort of event to apply to any temperature source - except absolute and environment sources. * The `/thermoo temperature (add|remove)` sub-commands now provide more ability to specify context about a temperature change with `at` and `by` syntax, essentially to provide the data for the `TemperatureChange` class. ### Example Migration A simple migration of adding temperature: ```diff void foo(LivingEntity e) { - e.thermoo$addTemperature(10, HeatingModes.ACTIVE); + e.thermoo$addTemperature(10, e.level().thermoo$temperatureSources().active()); } ``` ## Temperature Status API The Temperature Effect API was rewritten and renamed to the Temperature Status API to better distinguish between the JSON files (statuses) and the effect types that actually do the work. The API largely does the same thing, but here is a summary of the changes: - Replaced the `thermoo/temperature_effect` registry with `thermoo/temperature_status` registry - The new status registry is now an actual registry, which supports tags, synchronisation, and `Holder`s, and all that. - Replaced `config` objects with a direct `effects` list entry. - Moved type delegation to entries of the effects, rather than at the root of the registry object. - Merged the `attribute_modifier` and `scaling_attribute_modifier` into a single type, differentiated with a field. - Removed the `empty` and `sequence` types, they are no longer needed. - Added a way to define the application order of statuses with the `thermoo:application_order` temperature status tag. This also removed some functionality: - Temperature statuses can no longer be "hot reloaded"; you must restart the server to reload them. - There is no longer a `loading_priority` field. The intended functionality behind this was to allow Thermoo Patches to override the effects from Frostiful/Scorchful with a check for Origin. This was superseded by the enable API. It is not known if anyone else used this for any particular functionality that was actually necessary, so it is being removed. ### Example migration Old effect ```json { "type": "thermoo:damage", "temperature_scale_range": { "max": -0.99 }, "config": { "amount": 1, "damage_interval": 20, "damage_type": "minecraft:freeze" } } ``` New status ```json { "temperature_scale_range": { "max": -0.99 }, "interval": 20, "effects": [ { "type": "thermoo:damage", "amount": 1, "damage_type": "minecraft:freeze" } ] } ```
alpha

Thermoo Neoforge 4.8.1-neoforge

4.8.1-neoforge
9 мар. 2026 г.13,8 тыс.Minecraft: 1.21.1neoforge
Скачать
Что нового
# Thermoo 4.8.1 for Minecraft 1.21.1 * Added ability to dynamically toggle temperature effects on and off on a per-entity basis using the command `/thermoo temperature effect set_enabled.` * Fixed some temperature effects not being properly removed. * Hotfix 4.8.1: publish interface injection data as a classified artifact
alpha

Thermoo Neoforge 4.8.0-neoforge

4.8.0-neoforge
9 мар. 2026 г.108Minecraft: 1.21.1neoforge
Скачать
Что нового
# Thermoo 4.8.0 for Minecraft 1.21.1 * Added ability to dynamically toggle temperature effects on and off on a per-entity basis using the command `/thermoo temperature effect set_enabled.` * Fixed some temperature effects not being properly removed.
alpha

Thermoo 10.0.0-alpha.1

10.0.0-alpha.1
6 мар. 2026 г.109Minecraft: 26.1-snapshot-11fabric, quilt
Скачать
Что нового
# Thermoo 10.0.0 Alpha 1 for Minecraft 26.1-snapshot-11 A first pre-release build for Thermoo 10 for Minecraft 26.1. This is an alpha version, and the API remains extremely unstable as **further breaking changes are planned.** Because of this, **the documentation has also not yet been updated!** The Thermoo Docs will be fully updated when the API changes are finalized for 26.1. This release is primarily intended for me to get a head start on updating Frostiful and Scorchful, and also to open Thermoo up to public bugtesting from whomever wants to do that. * Begun adding version numbers to API packages. * So far this has impacted the following packages: * `com.github.thedeathlycow.thermoo.api.command` -> `com.github.thedeathlycow.thermoo.api.command.v1` * `com.github.thedeathlycow.thermoo.api.temperature.effect` -> `com.github.thedeathlycow.thermoo.api.temperature.status.v2` * More packages will be moved before the full 26.1 release. * Removed command definition classes from API. * These are now implementation classes. * Renamed `*ArgumentType` classes to `*Argument` in the command API. * Replaced the Temperature Effect API with the Temperature Status API ([#104](https://github.com/TheDeathlyCow/thermoo/pull/104)). * Added Temperature Status Tags ([#106](https://github.com/TheDeathlyCow/thermoo/pull/106)). ## Temperature Status API The Temperature Effect API was rewritten and renamed to the Temperature Status API to better distinguish between the JSON files (statuses) and the effect types that actually do the work. The API largely does the same thing, but here is a summary of the changes: - Replaced the `thermoo/temperature_effect` registry with `thermoo/temperature_status` registry - The new status registry is now an actual registry, which supports tags, synchronisation, and `Holder`s, and all that. - Replaced `config` objects with a direct `effects` list entry. - Moved type delegation to entries of the effects, rather than at the root of the registry object. - Merged the `attribute_modifier` and `scaling_attribute_modifier` into a single type, differentiated with a field. - Removed the `empty` and `sequence` types, they are no longer needed. - Added a way to define the application order of statuses with the `thermoo:application_order` temperature status tag. This also removed some functionality: - Temperature statuses can no longer be "hot reloaded"; you must restart the server to reload them. - There is no longer a `loading_priority` field. The intended functionality behind this was to allow Thermoo Patches to override the effects from Frostiful/Scorchful with a check for Origin. This was superseded by the enable API. It is not known if anyone else used this for any particular functionality that was actually necessary, so it is being removed. ### Example migration Old effect ```json { "type": "thermoo:damage", "temperature_scale_range": { "max": -0.99 }, "config": { "amount": 1, "damage_interval": 20, "damage_type": "minecraft:freeze" } } ``` New status ```json { "temperature_scale_range": { "max": -0.99 }, "interval": 20, "effects": [ { "type": "thermoo:damage", "amount": 1, "damage_type": "minecraft:freeze" } ] } ```
release

Thermoo 4.8.0

4.8.0
3 мар. 2026 г.24,8 тыс.Minecraft: 1.21.1fabric, quilt
Скачать
Что нового
# Thermoo 4.8.0 for Minecraft 1.21.1 * Added ability to dynamically toggle temperature effects on and off on a per-entity basis using the command `/thermoo temperature effect set_enabled.` * Fixed some temperature effects not being properly removed.
release

Thermoo 9.1.0

9.1.0
21 февр. 2026 г.21,7 тыс.Minecraft: 1.21.11fabric, quilt
Скачать
Что нового
# Thermoo 9.1: Atmospheric Pressure - Added ability to dynamically toggle temperature effects on and off on a per-entity basis using the command `/thermoo temperature effect set_enabled`. - Added a Java API to dynamically toggle temperature effects on and off on a per-entity basis to the `ConfiguredTemperatureEffect` class. - Added Thermoo specific entries to the F3 debug screen, these are disabled by default. - Added an atmospheric pressure environment component type. - This component stores the local atmospheric pressure in millibars. - Added an atmospheric pressure gameplay environment attribute. - This attribute is used as the default value for the environment component map. - Added a sub-command to `/thermoo environment` to get the atmospheric pressure value at a block position. - Added `thermoo:set_temperature_from_pressure` environment provider type. - Added `thermoo:set_pressure_from_altitude` environment provider type. - The relative humidity can now be queried using `/thermoo environment relative_humidity`. - The old usage of `/thermoo environment relativehumidity` still works but is now deprecated.
alpha

Thermoo Neoforge 4.7.1+neoforge

4.7.1+neoforge
22 дек. 2025 г.686Minecraft: 1.21.1neoforge
Скачать
Что нового
# Thermoo for Neoforge 1.21.1 Thermoo has now been ported to Neoforge 1.21.1, courtesy of [Forgified Fabric API](https://github.com/Sinytra/ForgifiedFabricAPI). This port may not be fully stable just yet and as such is released as an Alpha. However, it does _not_ require Connector and as such should work a bit better. Server owners should note that this port does not include the Polymer patch, as Polymer is a Fabric-only mod. If you want to use Thermoo server side with Polymer, you will still need to use the Fabric version of Thermoo via Connector. **I do not plan to update this port to any game version other than 1.21.1.** FFAPI is currently not available for any later version, and I am just simply uninterested in 1.20.1 (not to mention that I would also need to translate Thermoo 1.20.1 to Mojmap). If/when FFAPI updates to a newer Minecraft version, I will remake the port for that version too. Changes from Thermoo 4.7.0+neoforge: * 4.7.1: Published interface injection data
alpha

Thermoo Neoforge 4.7.0+neoforge

4.7.0+neoforge
22 дек. 2025 г.132Minecraft: 1.21.1neoforge
Скачать
Что нового
# Thermoo for Neoforge 1.21.1 Thermoo has now been ported to Neoforge 1.21.1, courtesy of [Forgified Fabric API](https://github.com/Sinytra/ForgifiedFabricAPI). This port may not be fully stable just yet and as such is released as an Alpha. However, it does _not_ require Connector and as such should work a bit better. Server owners should note that this port does not include the Polymer patch, as Polymer is a Fabric-only mod. If you want to use Thermoo server side with Polymer, you will still need to use the Fabric version of Thermoo via Connector. **I do not plan to update this port to any game version other than 1.21.1.** FFAPI is currently not available for any later version, and I am just simply uninterested in 1.20.1 (not to mention that I would also need to translate Thermoo 1.20.1 to Mojmap). If/when FFAPI updates to a newer Minecraft version, I will remake the port for that version too.
release

Thermoo 9.0.0

9.0.0
19 дек. 2025 г.8,3 тыс.Minecraft: 1.21.11fabric, quilt
Скачать
Что нового
# Thermoo 9.0.0 This update brings Thermoo to Minecraft 1.21.11. Per the LTS policy, this release marks the end of support for Minecraft 1.21.9-10. * Updated to Minecraft 1.21.11. * Added new Environment Attributes to control seasons and temperature. * Reworked the seasons API to better support the environment attribute integration. This is a major breaking change for anyone using the Java-side Seasons API. See below for details. The JSON API should remain exactly the same. * Added a new `mild` tropical season. ## Environment Attributes Thermoo now provides several new environment attributes that integrate this new vanilla system with seasons and temperature. These new attributes are documented on the [Thermoo wiki](https://thermoo.thedeathlycow.com/datapacks/environment_attributes/). ## Seasons API Rework The Seasons API has been reworked with, broadly, two major changes to support better future extensibility: First, the `ThermooSeason` enum was converted into an interface which is implemented by two separate enums for temperate and tropical seasons, called `TemperateSeason` and `TropicalSeason` respectively. A `mild` tropical season was also added with this change to represent transition periods from wet to dry. Secondly, the type returned by the seasons events was changed from an optional season to an optional season _state_, which includes not only the original season but also a new `progress` value. This captures the "state" of a season at some particular point in time. The new progress value is a number in the range [0, 1] which represents how far the season has progressed. Here is a basic migration overview: * `ThermooSeason.SPRING` -> `TemperateSeason.SPRING` * `ThermooSeason.AUTUMN` -> `TemperateSeason.AUTUMN` * `ThermooSeason.SUMMER` -> `TemperateSeason.SUMMER` * `ThermooSeason.WINTER` -> `TemperateSeason.WINTER` * `ThermooSeason.TROPICAL_DRY` -> `TropicalSeason.DRY` * `ThermooSeason.TROPICAL_WET` -> `TropicalSeason.WET` * Added `TropicalSeason.MILD` * `ThermooSeason#getCurrentSeason(Level)` -> `TemperateSeason#getCurrentState(Level, BlockPos)` (note the added `BlockPos` parameter) * `ThermooSeason#getCurrentTropicalSeason(Level, BlockPos)` -> `TropicalSeason#getCurrentState(Level, BlockPos).map()` Examples: ```diff -Optional<ThermooSeason> season = ThermooSeason#getCurrentSeason(level); +Optional<TemperateSeason> season = TemperateSeason#getCurrentState(level, pos).map(ThermooSeasonState::season); ``` ```diff ThermooSeasonEvents.GET_CURRENT_TROPICAL_SEASON.register( (level, pos) -> { - return Optional.of(ThermooSeason.TROPICAL_WET); + return Optional.of(TropicalSeason.WET.createState()); } ); ```
beta

Thermoo 8.1.1

8.1.1
22 нояб. 2025 г.6,5 тыс.Minecraft: 1.21.9, 1.21.10fabric, quilt
Скачать
Что нового
* The entity position chosen for the environment tick context is now based on the entity's root vehicle, and not their actual position. * This fixes some downstream issues with Frostiful where players would not warm up when in a boat. See [#90](https://github.com/TheDeathlyCow/thermoo/issues/90).
beta

Thermoo 4.7.1

4.7.1
22 нояб. 2025 г.17,7 тыс.Minecraft: 1.21.1fabric, quilt
Скачать
Что нового
* The entity position chosen for the environment tick context is now based on the entity's root vehicle, and not their actual position. * This fixes some downstream issues with Frostiful where players would not warm up when in a boat. See [#90](https://github.com/TheDeathlyCow/thermoo/issues/90).
beta

Thermoo 4.7.0

4.7.0
5 нояб. 2025 г.42,6 тыс.Minecraft: 1.21.1fabric, quilt
Скачать
Что нового
# Migration to Mojang Mappings *This is a backport of Thermoo 8.1.0 for Minecraft 1.21.10* Based Mojang's move towards removing obfuscation, and anticipating Fabric's move to MojMap, I have remapped Thermoo to MojMap. This was a big change code-side for Thermoo but, thanks to intermediary, this should not constitute any breaking changes to the public API. However, I may have messed something up, so this version will initially be released as a beta. While no breaking changes are planned to be made at this time, a few fields and methods have been renamed to better conform to Official Mappings standards. These are as follows: - `EnvironmentProvider.ENTRY_CODEC` -> `EnvironmentProvider.HOLDER_CODEC` - `LightThresholdLightProvider#lightType` -> `LightThresholdLightProvider#lightLayer` - `AttributeModifierTemperatureEffect$Config#id` -> `AttributeModifierTemperatureEffect$Config#location` - `ScalingAttributeModifierTemperatureEffect$Config#id` -> `ScalingAttributeModifierTemperatureEffect$Config#location` - `EnvironmentTickContext#world` -> `EnvironmentTickContext#level` - `TemperatureEffects.STATUS_EFFECT` -> `TemperatureEffects.MOB_EFFECT` The resource location of the temperature effect type `thermoo:status_effect` was changed to `thermoo:mob_effect`, however an alias has been added to allow existing datapacks to continue to work. All old fields and methods have been deprecated and just redirect to the new ones, so there are no breaking changes. When Minecraft fully moves over to using the unobfuscated jar (the update after Mounts of Mayhem), the old fields will be removed and other names, particularly class names, that could not be easily changed without breaking the public API will also be changed.
beta

Thermoo 8.1.0

8.1.0
31 окт. 2025 г.2,1 тыс.Minecraft: 1.21.9, 1.21.10fabric, quilt
Скачать
Что нового
# Migration to Mojang Mappings Based Mojang's move towards removing obfuscation, and anticipating Fabric's likely inevitable move to MojMap, I have remapped Thermoo to MojMap. This was a big change code-side for Thermoo but, thanks to intermediary, this should not constitute any breaking changes to the public API. However, I may have messed something up, so this version will initially be released as a beta. While no breaking changes are planned to be made at this time, a few fields and methods have been renamed to better conform to Official Mappings standards. These are as follows: - `EnvironmentProvider.ENTRY_CODEC` -> `EnvironmentProvider.HOLDER_CODEC` - `LightThresholdLightProvider#lightType` -> `LightThresholdLightProvider#lightLayer` - `AttributeModifierTemperatureEffect$Config#id` -> `AttributeModifierTemperatureEffect$Config#location` - `ScalingAttributeModifierTemperatureEffect$Config#id` -> `ScalingAttributeModifierTemperatureEffect$Config#location` - `EnvironmentTickContext#world` -> `EnvironmentTickContext#level` - `TemperatureEffects.STATUS_EFFECT` -> `TemperatureEffects.MOB_EFFECT` The resource location of the temperature effect type `thermoo:status_effect` was changed to `thermoo:mob_effect`, however an alias has been added to allow existing datapacks to continue to work. All old fields and methods have been deprecated and just redirect to the new ones, so there are no breaking changes. When Minecraft fully moves over to using the unobfuscated jar (the update after Mounts of Mayhem), the old fields will be removed and other names, particularly class names, that could not be easily changed without breaking the public API will also be changed.
release

Thermoo 8.0.2

8.0.2
17 окт. 2025 г.2,3 тыс.Minecraft: 1.21.9, 1.21.10fabric, quilt
Скачать
Что нового
* Updated to run natively on Minecraft 1.21.10, this should still work on 1.21.9.
release

Thermoo 8.0.1

8.0.1
2 окт. 2025 г.464Minecraft: 1.21.9, 1.21.10fabric, quilt
Скачать
Что нового
* Thermoo is now targeting 1.21.9 directly * Mod metadata now requires at least 1.21.9 to load
release

Thermoo 8.0.0

8.0.0
30 сент. 2025 г.212Minecraft: 1.21.9-rc1, 1.21.9fabric, quilt
Скачать
Что нового
# Thermoo for MC 1.21.9 * Updated to 1.21.9-rc1, this will likely work with the full release of 1.21.9. Per the LTS policy, this release represents the end of support for 1.21.6-8. * While there are no breaking changes in Thermoo itself, changes to the `Entity#getWorld()` method in Minecraft means this release breaks binary compatibility with 1.21.6-8, so Thermoo is therefore getting a major version bump. * Updated Argentine Spanish translations (thanks [Texaliuz](https://github.com/TheDeathlyCow/thermoo/pull/85)!)
release

Thermoo 7.1.1

7.1.1
30 сент. 2025 г.4,5 тыс.Minecraft: 1.21.8fabric, quilt
Скачать
Что нового
* Updated Argentine Spanish translations (thanks [Texaliuz](https://github.com/TheDeathlyCow/thermoo/pull/85)!)
release

Thermoo 7.1.0

7.1.0
29 авг. 2025 г.2,3 тыс.Minecraft: 1.21.8fabric, quilt
Скачать
Что нового
# Thermoo 7.1.0 for Minecraft 1.21.6-8: Polymer Integration Thermoo can now once again work fully server side, but only if [Polymer](https://modrinth.com/mod/polymer) is installed. Some translations will be missing and custom command arguments will not autofill, but it will be compatible with vanilla clients or clients not using Thermoo. This only applies for dedicated servers, and not to LAN worlds in single player. The release of this update should not be conflated to mean that I will be making a Polymer patch for Frostiful or Scorchful at this time, I mainly did this so that Thermoo can be used for custom datapacks on servers (which used to be a feature of Thermoo). Thermoo is now also being compiled against 1.21.8 instead of 1.21.6, but should still work for 1.21.6-8.
release

Thermoo 4.6.0

4.6.0
29 авг. 2025 г.8 тыс.Minecraft: 1.21.1fabric, quilt
Скачать
Что нового
# Thermoo 4.6.0 for Minecraft 1.21.1: Polymer Integration Thermoo can now once again work fully server side, but only if [Polymer](https://modrinth.com/mod/polymer) is installed. Some translations will be missing and custom command arguments will not autofill, but it will be compatible with vanilla clients or clients not using Thermoo. This only applies for dedicated servers, and not to LAN worlds in single player. The release of this update should not be conflated to mean that I will be making a Polymer patch for Frostiful or Scorchful at this time, I mainly did this so that Thermoo can be used for custom datapacks on servers (which used to be a feature of Thermoo).
release

Thermoo 7.0.0

7.0.0
27 июн. 2025 г.4,4 тыс.Minecraft: 1.21.6, 1.21.7, 1.21.8fabric, quilt
Скачать
Что нового
# Thermoo 7 for Minecraft 1.21.6 This update brings Thermoo to 1.21.6. Per the LTS policy, this release also represents the end of support for 1.21.5. This version will likely also work on 1.21.7, when that version releases. There is one notable breaking change in this update: The status bar overlay events have been refactored to reduce complexity, prevent errors, and be more extensible for future updates (if needed). See [#82](https://github.com/TheDeathlyCow/thermoo/pull/82) for details. To summarize, the main changes look something like this: ```diff -StatusBarOverlayRenderEvents.AFTER_HEALTH_BAR.register( - (DrawContext ctx, PlayerEntity player, Vector2i[] positions, int displayHealth, int maxDisplayHealth)-> { - // rendering code - }); +StatusBarOverlayRenderEvents.AFTER_HEALTH_BAR.register( + (DrawContext ctx, PlayerEntity player, HeartBarContext heartBarContext) -> { + SequencedCollection<Vector2i> positions = heartBarContext.positions(); + int displayHealth = heartBarContext.currentDisplayHalfHearts(); + int maxDisplayHealth = heartBarContext.maxDisplayHalfHearts(); + + // rendering code + }); ```
release

Thermoo 6.0.4

6.0.4
19 июн. 2025 г.5 тыс.Minecraft: 1.21.5fabric, quilt
Скачать
Что нового
* Added a message to help users find the mod Thermoo Patches if they need it * Added a new config file in `thermoo.properties` that can be used to disable this message
release

Thermoo 4.5.4

4.5.4
19 июн. 2025 г.21,5 тыс.Minecraft: 1.21.1fabric, quilt
Скачать
Что нового
* Added a message to help users find the mod Thermoo Patches if they need it * Added a new config file in `thermoo.properties` that can be used to disable this message
release

Thermoo 6.0.3

6.0.3
5 мая 2025 г.1,9 тыс.Minecraft: 1.21.5fabric, quilt
Скачать
Что нового
* Fixed Thermoo temperature unit codecs not decoding properly in the Turkish locale
release

Thermoo 5.3.3

5.3.3
5 мая 2025 г.6,5 тыс.Minecraft: 1.21.2, 1.21.3, 1.21.4fabric, quilt
Скачать
Что нового
* Fixed Thermoo temperature unit codecs not decoding properly in the Turkish locale
release

Thermoo 4.5.3

4.5.3
5 мая 2025 г.10,7 тыс.Minecraft: 1.21.1fabric, quilt
Скачать
Что нового
* Fixed Thermoo temperature unit codecs not decoding properly in the Turkish locale
release

Thermoo 6.0.2

6.0.2
1 мая 2025 г.209Minecraft: 1.21.5fabric, quilt
Скачать
Что нового
* Added Argentine Spanish Translations (Texaliuz)
release

Thermoo 5.3.2

5.3.2
1 мая 2025 г.327Minecraft: 1.21.2, 1.21.3, 1.21.4fabric, quilt
Скачать
Что нового
* Added Argentine Spanish Translations (Texaliuz)
release

Thermoo 4.5.2

4.5.2
1 мая 2025 г.200,3 тыс.Minecraft: 1.21.1fabric, quilt
Скачать
Что нового
* Added Argentine Spanish Translations (Texaliuz)
release

Thermoo 6.0.1

6.0.1
16 апр. 2025 г.360Minecraft: 1.21.5fabric, quilt
Скачать
Что нового
- Fix a crash when riding mounts with specific max health values
release

Thermoo 5.3.1

5.3.1
16 апр. 2025 г.899Minecraft: 1.21.2, 1.21.3, 1.21.4fabric, quilt
Скачать
Что нового
- Fix a crash when riding mounts with specific max health values
release

Thermoo 4.5.1

4.5.1
16 апр. 2025 г.3,5 тыс.Minecraft: 1.21.1fabric, quilt
Скачать
Что нового
- Fix a crash when riding mounts with specific max health values
release

Thermoo 6.0

6.0
28 мар. 2025 г.374Minecraft: 1.21.5fabric, quilt
Скачать
Что нового
# Update to Minecraft 1.21.5 This is the first stable release for Minecraft 1.21.5. It includes a few new features from Thermoo 4.4 and 5.3 as well that are meant to provide greater flexibility and depth. - Updated to Minecraft 1.21.5 - Removed all deprecated APIs, including the `EnvironmentController`, `TemperatureConverter`, and some methods of `ConfiguredTemperatureEffect`, and `TemperatureEffects`. - Many classes such as `EnvironmentCommand` and `TemperatureCommand` classes were made final, and all static only now have a private constructor. This is technically a breaking change, though unlikely to affect anyone. - Updated game tests to use new framework - Replaced the `canFreeze` and `canOverheat` Kotlin temperature aware function extensions with `canBeCold` and `canBeWarm` to fix a conflict with the method `Entity#canFreeze`. - Environment Heat and Frost Resistance can now accept negative values. A negative environment resistance now provides a random chance of doubling a temperature decrease from an environmental source. - Added a `priority` field to the environment definition. This is used to sort the order that environment providers are applied to a biome during a lookup. - Implementation detail only: environment providers are now stored as a field of the `Biome` class, this should allow for _slightly_ faster lookup times.
release

Thermoo 5.3

5.3
28 мар. 2025 г.912Minecraft: 1.21.2, 1.21.3, 1.21.4fabric, quilt
Скачать
Что нового
# Environment Refinements This update adds a few new features to the environment API to make it more flexible and offer a bit more depth. * Environment Heat and Frost Resistance can now accept negative values. A negative environment resistance now provides a random chance of doubling a temperature decrease from an environmental source. * Added a `priority` field to the environment definition. This is used to sort the order that environment providers are applied to a biome during a lookup. * Implementation detail only: environment providers are now stored as a field of the `Biome` class, this should allow for _slightly_ faster lookup times.
release

Thermoo 4.5

4.5
28 мар. 2025 г.3,8 тыс.Minecraft: 1.21.1fabric, quilt
Скачать
Что нового
# Environment Refinements This update adds a few new features to the environment API to make it more flexible and offer a bit more depth. * Environment Heat and Frost Resistance can now accept negative values. A negative environment resistance now provides a random chance of doubling a temperature decrease from an environmental source. * Added a `priority` field to the environment definition. This is used to sort the order that environment providers are applied to a biome during a lookup. * Implementation detail only: environment providers are now stored as a field of the `Biome` class, this should allow for _slightly_ faster lookup times.
beta

Thermoo 6.0-beta.1

6.0-beta.1
26 мар. 2025 г.182Minecraft: 1.21.5fabric, quilt
Скачать
Что нового
# Update to Minecraft 1.21.5 This is a first release for Minecraft 1.21.5. It is initially released as a Beta because Cardinal Components API is not yet stable, however from my testing it does seem to work fine. If you find any issues please feel free to report them to https://github.com/TheDeathlyCow/thermoo/issues. - Updated to Minecraft 1.21.5 - Removed all deprecated APIs, including the `EnvironmentController`, `TemperatureConverter`, and some methods of `ConfiguredTemperatureEffect`, and `TemperatureEffects`. - Many classes such as `EnvironmentCommand` and `TemperatureCommand` classes were made final, and all static only now have a private constructor. This is technically a breaking change, though unlikely to affect anyone. - Updated game tests to use new framework - Replaced the `canFreeze` and `canOverheat` Kotlin temperature aware function extensions with `canBeCold` and `canBeWarm` to fix a conflict with the method `Entity#canFreeze`.
alpha

[1.21.5-rc1] Thermoo 6.0-alpha.1

6.0-alpha.1
22 мар. 2025 г.214Minecraft: 1.21.5-rc1, 1.21.5-rc2, 1.21.5fabric, quilt
Скачать
Что нового
# Update to Minecraft 1.21.5 This is a first release for Minecraft 1.21.5, targeting `1.21.5-rc1`. This version is currently unstable, and should only be used for early porting. - Updated to Minecraft 1.21.5 - Removed all deprecated APIs, including the `EnvironmentController`, `TemperatureConverter`, and some methods of `ConfiguredTemperatureEffect`, and `TemperatureEffects`. - Temporarily disabled gametests so that they can be rewritten at a later date - The `EnvironmentCommand` and `TemperatureCommand` classes were made final and now have a private constructor. Other static-only classes like this will receive similar treatment soon.
release

Thermoo 5.2.1

5.2.1
15 мар. 2025 г.310Minecraft: 1.21.2, 1.21.3, 1.21.4fabric, quilt
Скачать
Что нового
* Updated to Minecraft 1.21.4 * Minecraft 1.21.2-1.21.3 still seem to work with this version, however support for these may be removed at any time * Minecraft 1.20.1 is now officially unsupported
release

Thermoo 5.2

5.2
14 мар. 2025 г.167Minecraft: 1.21.3fabric, quilt
Скачать
Что нового
# 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](https://thermoo.thedeathlycow.com/api_overview/#environment-api) 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` and `thermoo: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 Registry](https://thermoo.thedeathlycow.com/datapacks/environment_definition/) - `getEnvironmentTemperatureForPlayer()` -> `ServerPlayerEnvironmentTickEvents.GET_TEMPERATURE_CHANGE` - `getTemperatureEffectsChange()` -> `LivingEntityTemperatureTickEvents.GET_ACTIVE_TEMPERATURE_CHANGE` - `getFloorTemperature()` -> `LivingEntityTemperatureTickEvents.GET_PASSIVE_TEMPERATURE_CHANGE` - `getMaxWetTicks()` -> The entity attribute `thermoo:max_soaking_tick_multiplier` (on 1.21.1, the name is `thermoo:generic.max_soaking_tick_multiplier`) - `getSoakChange()` -> `LivingEntitySoakingTickEvents.GET_SOAKING_CHANGE` - `getHeatAtLocation()` -> `LivingEntityTemperatureTickEvents.GET_PASSIVE_TEMPERATURE_CHANGE` - `applyAwareHeat()` -> `LivingEntityTemperatureTickEvents.ALLOW_ACTIVE_TEMPERATURE_CHANGE` - `getHeatFromBlockState()` -> removed - `isHeatSource()` -> removed - `isColdSource()` -> removed - `isAreaHeated()` -> 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` and `Soakable`. - These methods allow Kotlin users to use these interfaces in an intuitive way and without having to add a `thermoo$` prefix to all methods.
release

Thermoo 4.4

4.4
14 мар. 2025 г.1,7 тыс.Minecraft: 1.21.1fabric, quilt
Скачать
Что нового
# 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](https://thermoo.thedeathlycow.com/api_overview/#environment-api) 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` and `thermoo: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 Registry](https://thermoo.thedeathlycow.com/datapacks/environment_definition/) - `getEnvironmentTemperatureForPlayer()` -> `ServerPlayerEnvironmentTickEvents.GET_TEMPERATURE_CHANGE` - `getTemperatureEffectsChange()` -> `LivingEntityTemperatureTickEvents.GET_ACTIVE_TEMPERATURE_CHANGE` - `getFloorTemperature()` -> `LivingEntityTemperatureTickEvents.GET_PASSIVE_TEMPERATURE_CHANGE` - `getMaxWetTicks()` -> The entity attribute `thermoo:max_soaking_tick_multiplier` (on 1.21.1, the name is `thermoo:generic.max_soaking_tick_multiplier`) - `getSoakChange()` -> `LivingEntitySoakingTickEvents.GET_SOAKING_CHANGE` - `getHeatAtLocation()` -> `LivingEntityTemperatureTickEvents.GET_PASSIVE_TEMPERATURE_CHANGE` - `applyAwareHeat()` -> `LivingEntityTemperatureTickEvents.ALLOW_ACTIVE_TEMPERATURE_CHANGE` - `getHeatFromBlockState()` -> removed - `isHeatSource()` -> removed - `isColdSource()` -> removed - `isAreaHeated()` -> 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` and `Soakable`. - These methods allow Kotlin users to use these interfaces in an intuitive way and without having to add a `thermoo$` prefix to all methods.
release

Thermoo 5.1

5.1
15 янв. 2025 г.295Minecraft: 1.21.3fabric, quilt
Скачать
Что нового
- Added `get` methods to the `TemperatureAware` class that allow the interface to be obtained from `LivingEntity` and `Entity`. Primarily intended for cases where interface injection may not work well. - Added translated for the consumable tags - Replaced the attribute base value method of the environment controller with dedicated events. The old controller method has been deprecated. See PR #43 - Entity tags and lists are now allowed in the temperature effect `entity_type` field as a `#` prefixed tag ID or list of direct entity type IDs. See PR #42 - Fixed the `remove()` temperature effect method not being called/tracked properly per entity. In particular, this fixes an issue where attribute modifier temperature effects would behave weirdly - The constructor for the `ConfiguredTemperatureEffect` has been marked as internal. The previous constructor has been kept to avoid a breaking change, but it has now also been marked as internal. - Deprecated `ConfiguredTemperatureEffect#applyIfPossible()` (replaced with an `apply()` method that returns success instead). - Deprecated `ConfiguredTemperatureEffect#entityType()` - use the new `entityTypes()` method (plural) - Deprecated `TemperatureEffects#getEffectsForEntity` - this method should not have been part of the API and will be removed - Added `TemperatureEffects#getEffect` that allows for looking up a configured temperature effect by ID - The "resource conditions were not met" log has been moved to debug, which should reduce log spam caused by Thermoo
release

Thermoo 4.3

4.3
15 янв. 2025 г.57,8 тыс.Minecraft: 1.21.1fabric, quilt
Скачать
Что нового
- Added `get` methods to the `TemperatureAware` class that allow the interface to be obtained from `LivingEntity` and `Entity`. Primarily intended for cases where interface injection may not work well. - Added translated for the consumable tags - Replaced the attribute base value method of the environment controller with dedicated events. The old controller method has been deprecated. See PR #43 - Entity tags and lists are now allowed in the temperature effect `entity_type` field as a `#` prefixed tag ID or list of direct entity type IDs. See PR #42 - Fixed the `remove()` temperature effect method not being called/tracked properly per entity. In particular, this fixes an issue where attribute modifier temperature effects would behave weirdly - The constructor for the `ConfiguredTemperatureEffect` has been marked as internal. The previous constructor has been kept to avoid a breaking change, but it has now also been marked as internal. - Deprecated `ConfiguredTemperatureEffect#applyIfPossible()` (replaced with an `apply()` method that returns success instead). - Deprecated `ConfiguredTemperatureEffect#entityType()` - use the new `entityTypes()` method (plural) - Deprecated `TemperatureEffects#getEffectsForEntity` - this method should not have been part of the API and will be removed - Added `TemperatureEffects#getEffect` that allows for looking up a configured temperature effect by ID - The "resource conditions were not met" log has been moved to debug, which should reduce log spam caused by Thermoo
release

Thermoo 5.0.2

5.0.2
2 янв. 2025 г.159Minecraft: 1.21.3fabric, quilt
Скачать
Что нового
* Fixed a crash when a mount had more than 60 health and the temperature display exceeded the hearts actually being displayed * Exposed Fabric API properly in gradle.
release

Thermoo 4.2.5

4.2.5
2 янв. 2025 г.4,5 тыс.Minecraft: 1.21.1fabric, quilt
Скачать
Что нового
* Updates Thermoo 4 to run natively on Minecraft 1.21.1 (Minecraft 1.21 support has been removed) * Deprecated the armor materials API: This API is removed for Thermoo 5+, please consider using [Item Components](https://github.com/boyonk913/item-components) instead. * Fixed a crash when a mount had more than 60 health and the temperature display exceeded the hearts actually being displayed * Exposed Fabric API properly in gradle.
release

Thermoo 5.0.1

5.0.1
5 дек. 2024 г.261Minecraft: 1.21.3fabric, quilt
Скачать
Что нового
* Fixed TheDeathlyCow/frostiful#123: Crash with the mount health temperature bar
release

Thermoo 4.2.4

4.2.4
5 дек. 2024 г.11,1 тыс.Minecraft: 1.21, 1.21.1fabric, quilt
Скачать
Что нового
* Fixed TheDeathlyCow/frostiful#123: Crash with the mount health temperature bar * The season events now MUST return the correct season type. If a listener attempts to return the wrong season type, then it will be skipped and an empty will be returned instead. For example, if a `GET_TROPICAL_SEASON` listener attempts to return summer instead of tropical wet or dry, then it will be ignored.
release

Thermoo 5.0

5.0
12 нояб. 2024 г.340Minecraft: 1.21.3fabric, quilt
Скачать
Что нового
This update brings Thermoo to 1.21.3. This is the first step in updating Frostiful and Scorchful. 1.21.1 will still continue to receive updates and fixes along with 1.21.3 for the foreseeable future, this is just for those who wish to play with newer versions. Also, the Scorchful update may take a bit longer than Frostiful as it is currently blocked by Satin needing to update. Stay tuned! Changelog: * Updates Thermoo to 1.21.3 * *Removed* Armor Materials API including all tags and events. Unfortunately, the Armor Material registry was removed in 1.21.2, and so this API was completely unable to be updated. As an alternative, I would recommend checking out the [Item Components mod](https://modrinth.com/mod/item-components) as it provides a much more powerful way to modify the base settings of items (including attributes) in a data-driven format. * Removed the `generic.` prefix from all attribute IDs. For example, the ID for Frost Resistance was previously `thermoo:generic.frost_resistance`, but is now simply `thermoo:frost_resistance`. This change was made to reflect similar changes to attribute IDs in the vanilla game. * For old worlds being updated to 1.21.3 for the first time, this prefix change will be datafixed so all items and entities should retain their old attribute values (and you won't get any unknown attribute spam in the console). However, API users (i.e., mods, mod packs, and data packs) will have to adjust their code for this change manually. * The season events now MUST return the correct season type. If a listener attempts to return the wrong season type, then it will be skipped and an empty will be returned instead. For example, if a `GET_TROPICAL_SEASON` attempts to return summer instead of tropical wet or dry, then it will be ignored.
release

Thermoo 4.2.3

4.2.3
28 окт. 2024 г.4,1 тыс.Minecraft: 1.21, 1.21.1fabric, quilt
Скачать
Что нового
* Fixed NPE with Colorful Hearts
release

Thermoo 4.2.2

4.2.2
28 окт. 2024 г.271Minecraft: 1.21, 1.21.1fabric, quilt
Скачать
Что нового
* Fixed #35: Crash with N=1 mod 10 hearts
release

Thermoo 4.2.1

4.2.1
22 окт. 2024 г.2,2 тыс.Minecraft: 1.21, 1.21.1fabric, quilt
Скачать
Что нового
* Fixed a crash with Pokemon Trainer Mob * Added conventional thermoo tags for temperature-related consumeables * Added some builder helper methods for the custom loot conditions
release

Thermoo 2.3.3

2.3.3
22 окт. 2024 г.3,1 млнMinecraft: 1.20.1fabric, quilt
Скачать
Что нового
* Fixed a crash with Pokemon Trainer Mob
release

Thermoo 4.2

4.2
3 авг. 2024 г.12,4 тыс.Minecraft: 1.21, 1.21.1-rc1, 1.21.1fabric, quilt
Скачать
Что нового
* Added a `thermoo:attribute_modifier` temperature effect that applies "fixed" attribute modifiers to affected entities. * Added the tropical Wet and Dry Seasons to the Seasons API, along with an event to query these seasons * Cardinal Components API is no longer embedded with Thermoo - users must now download it separately from Thermoo.
release

Thermoo 4.1.1

4.1.1
19 июл. 2024 г.5,4 тыс.Minecraft: 1.21fabric, quilt
Скачать
Что нового
* Fixed armor material attribute IDs overriding each other * Fixed the check temperature command sending an error
release

Thermoo 4.1

4.1
11 июл. 2024 г.736Minecraft: 1.21fabric, quilt
Скачать
Что нового
Adds a new armour materials API to sort of replace the primary use case of the old item attribute modifiers API. * Added new *armor material* tags for different levels of frost and heat resistance. Note that these are tags for armor *materials*, not armor *items*, and therefore go in `data/<namespace>/tags/armor_material/`. * Added two new events: `ArmorMaterialEvents.GET_HEAT_RESISTANCE` and `ArmorMaterialEvents.GET_FROST_RESISTANCE` to get the respective heat and frost resistance for an armor material and armor type (like boots, chestplate, helmet). * Known issue: Using the tags to apply heat and frost resistance doesn't really work with a datapack's normal world-independence. For now, the tags should only be used in datapacks that apply to all worlds on a modpack/server.
release

Thermoo 4.0

4.0
22 июн. 2024 г.873Minecraft: 1.21fabric, quilt
Скачать
Что нового
Updates Thermoo to MC 1.21. Includes several breaking changes: - Thermoo now requires Java 21, matching Minecraft's requirement. - *Removed* item attribute modifiers, without replacement. This was too difficult of a feature to update with item components, but a replacement feature may come soon. - The path of temperature effects was changed from `thermoo/temperature_effects` to `thermoo/temperature_effect`, to reflect similar changes made to the vanilla game. - The constant fields in `ThermooAttributes` now have type `RegistryEntry<EntityAttribute>` rather than `EntityAttribute` - `EnvironmentController#getBaseValueForAttribute` had its signature changed to take a `RegistryEntry<EntityAttribute>` rather than `EntityAttribute` - `ScalingAttributeModifierTemperatureEffect.Config` had several changes in both Java and Datapack APIs. The `attribute` type was changed to `RegistryEntry<EntityAttribute>` rather than `EntityAttribute`, and the UUID and name fields were removed and replaced with an identifier field called `id`, with this change also affecting datapacks. Furthermore, datapack's `operation` field must now be one of `add_value`, `add_multiplied_base`, or `add_multiplied_total`. - Temperature effects and custom Loot Condition types now have a `MapCodec` instead of a `Codec` (however temperature effect configs are still regular Codecs). - The class `ThermooSeasons` was renamed to `ThermooSeason`. - `PlayerEnvironmentEvents.CAN_APPLY_PASSIVE_TEMPERATURE_CHANGE` now returns a `TriState` instead of a boolean, making it clearer when a listener is passing. The following additions were made to Thermoo: - Added default temperature converter settings instances for all units
release

Thermoo 2.3.2

2.3.2
20 июн. 2024 г.339,9 тыс.Minecraft: 1.20.1fabric, quilt
Скачать
Что нового
This is a hotfix update to update the Colorful Hearts integration to work with the new version of Colorful Hearts. * Fixed colorful hearts crashing (by [Terrails](https://github.com/Terrails)) * Corresponding updates for Frostiful and Thermoo Patches coming soon
release

Thermoo 3.2.1

3.2.1
20 июн. 2024 г.4,4 тыс.Minecraft: 1.20.4fabric, quilt
Скачать
Что нового
This is just a small update to add some new translations * Added Finnish Translations (by [N0aW](https://github.com/N0aW)) 🇫🇮 * Added Vietnamese Translations (by [godkyo98](https://github.com/godkyo98)) 🇻🇳
release

Thermoo 3.2

3.2
7 мая 2024 г.1,9 тыс.Minecraft: 1.20.4fabric, quilt
Скачать
Что нового
This update adds new features to temperature effects, and a new command * Resolves #15: Fabric resource conditions may now be applied to temperature effects * Resolves #16: Added a new `soaking` command to read and write to an entity's soaking value * Resolves #19: Added optional `loading_priority` to temperature effects * Loading priority allows for load-order independent overriding of temperature effects between mods and datapacks to allow for easier compatibility patching * Resolves #20: Added new temperature effect type `thermoo:function` * Function temperature effects run a datapack function on a regular interval. The config provides options for the function to execute, the length of the interval (in ticks), the permission level of the function to execute, and the macro arguments of the function. The execution context of the function will be `as` and `at` the entity.
release

Thermoo 3.1.3

3.1.3
27 апр. 2024 г.844Minecraft: 1.20.4fabric, quilt
Скачать
Что нового
* Fixed an issue with item attribute modifier codecs that caused them to fail to encode when using tags on servers.
release

Thermoo 3.1.2

3.1.2
23 апр. 2024 г.526Minecraft: 1.20.4fabric, quilt
Скачать
Что нового
* Added a `require_preferred_slot` field to item attribute modifiers
release

Thermoo 3.1.1

3.1.1
23 апр. 2024 г.464Minecraft: 1.20.4fabric, quilt
Скачать
Что нового
* Fixed log spam with Eldritch Mobs and Mouse Wheelie
release

Thermoo 2.3.1

2.3.1
23 апр. 2024 г.282,1 тыс.Minecraft: 1.20.1fabric, quilt
Скачать
Что нового
* Fixed log spam with Eldritch Mobs and Mouse Wheelie
release

Thermoo 3.1

3.1
20 апр. 2024 г.520Minecraft: 1.20.4fabric, quilt
Скачать
Что нового
* Updated to 1.20.4 * Added Javadoc to the loot condition types
beta

Thermoo 3.0

3.0
13 апр. 2024 г.1,5 тыс.Minecraft: 1.20.2fabric, quilt
Скачать
Что нового
Thermoo is now updated to 1.20.2. This is the first step to updating to 1.20.4. This update includes a few breaking changes to the temperature effect and item attribute modifiers APIs. The JSON APIs will mostly work as before, with only a few changes. This will likely be the only update for 1.20.2. Changelog: * Updated Thermoo to MC 1.20.2 * Refactored temperature effects to use codecs instead of serializers. * Some nonsensical values in temperature effect JSONs are no longer allowed * Equipment slot and attribute operations are now supplied as `lower_case` strings instead of `UPPER_CASE`. * Removed built in integrations for Fabric Seasons, Colorful Hearts, and Overflowing bars. These have been moved to [Thermoo Patches](https://github.com/TheDeathlyCow/thermoo-patches). * Removed the deprecated temperature effect `thermoo:freeze_damage_legacy` and associated Legacy Damage temperature effect type. * Removed the `thermoo.temperature` field from `minecraft:entity_properties` loot conditions * Added `thermoo:temperature` and `thermoo:soaked` loot conditions
release

Thermoo 2.3

2.3
5 апр. 2024 г.108,7 тыс.Minecraft: 1.20.1fabric, quilt
Скачать
Что нового
* Added the event `StatusBarOverlayRenderEvents.AFTER_MOUNT_HEALTH_BAR`, which is very similar to the `AFTER_HEALTH_BAR` event, except it renders after the health bar of the player's current mount (eg, pigs, horses, camels).
release

Thermoo 2.2

2.2
25 мар. 2024 г.4,2 тыс.Minecraft: 1.20.1fabric, quilt
Скачать
Что нового
This update adds a new experimental item attribute modifiers datapack API, as well as a new temperature effect and some new APIs. * Gave the [wiki](https://github.com/TheDeathlyCow/thermoo/wiki) a facelift to improve user experience! Give a look! * Updated the mod page to reflect changes in Thermoo 2.0. * Updated the mod icon! * Added experimental item attribute modifiers * Added Temperature unit API * Added `thermoo:sequence` temperature effect * Added client-only `HeartOverlayRenderEvent` for rendering temperature overlays on the health bar * Added a seasons integration API * Added Chinese translations, thanks [JellyBubb1e!](https://github.com/TheDeathlyCow/thermoo/pull/7) # Item Attribute Modifiers Item attribute modifiers have been ported from Frostiful. They allow datapacks to modify the default attributes of items easily. This is particularly useful for mod pack developers who want to add attributes to non-Thermoo based modded armors. It allows for attributes to be applied to items based on both tags and item IDs. The major enhancement it makes over Frostiful is that these datapacks can be applied server side and, provided clients have Thermoo installed, will sync automatically so that they will actually appear on the tooltip in multiplayer. The previous system did not do this, and so often times the tooltip would not show modified attributes, which may have led to some confusion. This feature is still experimental and could change or even be removed in future versions of Thermoo. A particular issue is that it could cause some lag issues when there are a lot of attribute modifiers defined by the datapack and a lot of item stacks are created at once. Furthermore, MC 1.20.5's changes to item stack NBT may make this almost entirely redundant or broken. Proceed with caution! Here is an example item attribute modifier JSON file: ```json5 { "attribute": "thermoo:generic.heat_resistance", "modifier": { "uuid": "413a10a0-bf0b-47db-a9a9-2eb3dda3bbaf", "name": "Test", "value": -1.0, "operation": "ADDITION" }, "item": { "items": [ "minecraft:diamond_helmet", "minecraft:iron_helmet", "minecraft:leather_helmet" ], // you can also use a tag here "tag": "example:all_helmets" }, // replace with any equipment slot, like CHEST, LEGS, FEET, MAINHAND, OFFHAND "slot": "HEAD" } ``` # Temperature Unit API This is a new java and command API that allows users to convert between temperature-points-per-tick values and ambient temperature values in normal temperature units (like Celsius, Fahrenheit, etc). By default, it converts based in Celsius and with 0 -1 temp/tick = 5C -14C, temp/tick = 15C - 24C, 1 temp/tick = 25C - 34C, etc. You can adjust how this works using the `settings` parameter. You can visualize how to convert Celsius to temperature per tick using this Desmos graph: https://www.desmos.com/calculator/z1tqbiol9l. In the red line, the x-axis is ambient temperature in Celsius, and the y-axis is temperature per tick. In the blue line, its the opposite: the x-axis is temperature per tick and the y-axis is ambient temperature in Celsius. # Sequence Temperature Effect Added a new meta temperature effect: `thermoo:sequence`. Config consists of a single field - `children` - which is a list of other temperature effects. Each temperature effect is applied in order. # Heart Overlay Event The new `HeartOverlayRenderEvent.AFTER_HEALTH_BAR` event is a new client-side-only event that is meant to unify the code for temperature overlays in Frostiful and Scorchful. This new event comes with support for Colorful Hearts and Overflowing Bars, but this may be moved to a separate mod in the future that focuses more on compatibility patches for Thermoo. # Seasons integration API A new API for providing better compatibility with Seasons mods like Fabric Seasons and Serene Seasons. Currently, only Fabric Seasons is supported, however this will be removed from Thermoo in the future and moved to a dedicated patches mod. You can access seasons through the `ThermooSeasons` class.
release

Thermoo 2.1.2

2.1.2
28 февр. 2024 г.9,2 тыс.Minecraft: 1.20, 1.20.1fabric, quilt
Скачать
Что нового
* Added a new `applyAwareHeat` method to the environment controller * Cleaned up the cardinal components internals a bit * Made the `getEnvironmentTemperatureForPlayer` return the base local temperature by default instead of 0.
release

Thermoo 2.1.1

2.1.1
22 янв. 2024 г.12,7 тыс.Minecraft: 1.20, 1.20.1fabric, quilt
Скачать
Что нового
This is just a small update to hopefully improve server performance by synchronizing temperatures fewer times. * Temperature-affected entities will now only sync their temperature to players within 32 blocks of their location * Temperature-affected entities will now attempt to sync to players every 20 ticks. * This update can be added to servers without a client update.
release

Thermoo 2.1.0

2.1.0
1 нояб. 2023 г.175,1 тыс.Minecraft: 1.20, 1.20.1fabric, quilt
Скачать
Что нового
* Added a new `entity_type` field to temperature effects - this is a new field that causes the effect to *only* apply to the specific entity type. This is also more performant than using predicates for this, as the effect will only be ticked for that type. Unfortunately, this means that tags won't work in this field. However, for effects that should only apply to a single type of entity (eg players), using this field can significantly reduce the amount of stuff the server has to tick. If this field is unspecified, then the existing behaviour of ticking the effect on all entities is retained. * Added a new `maxWetTicks(Soakable)` method to the environment controller. In order to preserve existing functionality, this defaults to a value of `600` instead of the usual `0`. However, this value may now be overridden by mods as they see fit. * Fixed up some javadoc on the environment controller that was outdated
release

Thermoo 1.4.1

1.4.1
20 окт. 2023 г.16,7 тыс.Minecraft: 1.19.2fabric, quilt
Скачать
Что нового
This is a backport of the data sync changes made in 2.0.2 due to their criticality. * Fixed data sync randomly breaking for temperature and wetness when class initialization order does not match on client and server.
release

Thermoo 2.0.2

2.0.2
30 сент. 2023 г.14,7 тыс.Minecraft: 1.20, 1.20.1fabric, quilt
Скачать
Что нового
* Set all attributes of Thermoo to be synchronized between client and server
release

Thermoo 2.0.1

2.0.1
29 сент. 2023 г.493Minecraft: 1.20, 1.20.1fabric, quilt
Скачать
Что нового
# Increased Cardinality * Switched from using data tracker and custom fields to using Cardinal Components for internal tracking of temperature and wetness * You should not need to download Cardinal Components for this update * This should also fix temperature not properly syncing on dedicated servers
release

Thermoo 2.0.0

2.0.0
5 сент. 2023 г.1,3 тыс.Minecraft: 1.20, 1.20.1fabric, quilt
Скачать
Что нового
This update brings several major breaking changes to the Thermoo backend, hence the version number being set to 2.0.0. I hope I don't feel the need to do this again, but hopefully these changes make the mod a lot nicer to use. Most notably for users, this update removes Cloth as a dependency of Thermoo so now Thermoo's only dependency is Fabric API. Changelog: * Removed the `DefaultEnvironmentController` and replaced it with `EmptyEnvironmentController`. * Removed Cloth as a direct dependency of Thermoo. * Removed all config options, they are now once again a part of Frostiful * Removed almost all events * Added `CAN_APPLY_PASSIVE_TEMPERATURE_CHANGE` to `PlayerEnvironmentEvents`. * Added a `EnvironmentControllerInitializeEvent` to control the order of environment controller decorator application. * Set the base min/max temperature attribute values to 0. * Fixed an issue where entities would not have their passive temperature changes properly calculated while riding a vehicle [TheDeathlyCow/Frostiful#47](https://github.com/TheDeathlyCow/frostiful/issues/47). For most developers, I would strongly recommend rereading the Environment Controller wiki page, as it has almost entirely been rewritten. It is available here: https://github.com/TheDeathlyCow/thermoo/wiki/Environment-Controller-and-Events-(Mods) ## This version is incompatible with Frostiful 0.8.1!! Do not update Thermoo until Frostiful is also updated!
release

Thermoo 1.6.1

1.6.1
29 июн. 2023 г.1,3 тыс.Minecraft: 1.20, 1.20.1fabric, quilt
Скачать
Что нового
* Marked as compatible with 1.20+
release

Thermoo 1.6

1.6
22 июн. 2023 г.211Minecraft: 1.20.1fabric
Скачать
Что нового
# Pails and Tails Thermoo is now updated to 1.20.1! This was a fairly small update, with only one real back end change * Updated to MC 1.20.1 * Changed the order in which the evaluation of whether to apply a temperature effect is made, and slightly optimized the `ScalingAttributeModifierTemperatureEffect`
release

Thermoo 1.5.2

1.5.2
21 июн. 2023 г.1,2 тыс.Minecraft: 1.19.4fabric, quilt
Скачать
Что нового
* Fixed status effect temperature effects not applying * Added a decorator to the EnvironmentController. See [here](https://github.com/TheDeathlyCow/thermoo/wiki/Environment-Controller-and-Events-(Mods)#extending-the-controller) for more details
release

Thermoo 1.5.1

1.5.1
2 мая 2023 г.108Minecraft: 1.19.4fabric, quilt
Скачать
Что нового
* Made the hot floor temperature change require approval from an event listener
release

Thermoo 1.5

1.5
21 апр. 2023 г.96Minecraft: 1.19.4fabric, quilt
Скачать
Что нового
Thermoo is now updated to 1.19.4! Changes: * Updated to 1.19.4 * Added fallback translations for command text feedback * The `LegacyDamageTemperatureEffect` is now deprecated, as well as its implementation `thermoo:freeze_damage_legacy` * Added the temperature effect `thermoo:damage` * Breaking change: the constructor for `LegacyDamageTemperatureEffect` now requires a `Function<ServerWorld, DamageSource>` instead of just a `DamageSource`. * Changed the logic for how status effect temperature effects are refreshed
release

Thermoo 1.4

1.4
12 апр. 2023 г.193,3 тыс.Minecraft: 1.19.2fabric, quilt
Скачать
Что нового
* Added passive snow to the environment controller * Removed `isCold()` check on applying heat sources - this is now left to users * Added a temperature predicate to entity predicates
release

Thermoo 1.3.1

1.3.1
5 апр. 2023 г.138Minecraft: 1.19.2fabric, quilt
Скачать
Что нового
* Starting at 1.3.1 as I have been experimenting with publishing on jitpack