Compatibility
Minecraft: Java Edition
Platforms
Supported environments
Creators
Details
Changelog
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
mildtropical 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.
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.SPRINGThermooSeason.AUTUMN->TemperateSeason.AUTUMNThermooSeason.SUMMER->TemperateSeason.SUMMERThermooSeason.WINTER->TemperateSeason.WINTERThermooSeason.TROPICAL_DRY->TropicalSeason.DRYThermooSeason.TROPICAL_WET->TropicalSeason.WET- Added
TropicalSeason.MILD ThermooSeason#getCurrentSeason(Level)->TemperateSeason#getCurrentState(Level, BlockPos)(note the addedBlockPosparameter)ThermooSeason#getCurrentTropicalSeason(Level, BlockPos)->TropicalSeason#getCurrentState(Level, BlockPos).map()
Examples:
-Optional<ThermooSeason> season = ThermooSeason#getCurrentSeason(level);
+Optional<TemperateSeason> season = TemperateSeason#getCurrentState(level, pos).map(ThermooSeasonState::season);
ThermooSeasonEvents.GET_CURRENT_TROPICAL_SEASON.register(
(level, pos) -> {
- return Optional.of(ThermooSeason.TROPICAL_WET);
+ return Optional.of(TropicalSeason.WET.createState());
}
);
Files
Metadata
Release channel
ReleaseVersion number
9.0.0Loaders
Game versions
1.21.11Downloads
15Publication date
December 19, 2025 at 2:28 AMPublisher
TheDeathlyCow
Owner




