Update 4.0 - Minecraft 1.21
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
tothermoo/temperature_effect
, to reflect similar changes made to the vanilla game. - The constant fields in
ThermooAttributes
now have typeRegistryEntry<EntityAttribute>
rather thanEntityAttribute
EnvironmentController#getBaseValueForAttribute
had its signature changed to take aRegistryEntry<EntityAttribute>
rather thanEntityAttribute
ScalingAttributeModifierTemperatureEffect.Config
had several changes in both Java and Datapack APIs. Theattribute
type was changed toRegistryEntry<EntityAttribute>
rather thanEntityAttribute
, and the UUID and name fields were removed and replaced with an identifier field calledid
, with this change also affecting datapacks. Furthermore, datapack'soperation
field must now be one ofadd_value
,add_multiplied_base
, oradd_multiplied_total
.- Temperature effects and custom Loot Condition types now have a
MapCodec
instead of aCodec
(however temperature effect configs are still regular Codecs). - The class
ThermooSeasons
was renamed toThermooSeason
. PlayerEnvironmentEvents.CAN_APPLY_PASSIVE_TEMPERATURE_CHANGE
now returns aTriState
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