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 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.
Thermoo 4.6.0 for Minecraft 1.21.1: Polymer Integration
Thermoo can now once again work fully server side, but only if 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 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 for details.
To summarize, the main changes look something like this:
-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
+ });
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 ofConfiguredTemperatureEffect
, andTemperatureEffects
. - Many classes such as
EnvironmentCommand
andTemperatureCommand
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
andcanOverheat
Kotlin temperature aware function extensions withcanBeCold
andcanBeWarm
to fix a conflict with the methodEntity#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.
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.
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 ofConfiguredTemperatureEffect
, andTemperatureEffects
. - Many classes such as
EnvironmentCommand
andTemperatureCommand
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
andcanOverheat
Kotlin temperature aware function extensions withcanBeCold
andcanBeWarm
to fix a conflict with the methodEntity#canFreeze
.
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 ofConfiguredTemperatureEffect
, andTemperatureEffects
. - Temporarily disabled gametests so that they can be rewritten at a later date
- The
EnvironmentCommand
andTemperatureCommand
classes were made final and now have a private constructor. Other static-only classes like this will receive similar treatment soon.