nineMinecraft is a joke site.
nineMinecraft is in no way affiliated with Modrinth or 9minecraft. (And frankly, who wants to be affiliated with the latter?)
Thermoo

Thermoo

Mod

Temperature and Environment library mod for Fabric and Quilt. Used by Frostiful and Scorchful.

Client and server Library

1.57M downloads
130 followers

Thermoo 4.4

Changelog

New Developer Wiki

  • The Thermoo Wiki has moved! It has been moved to a new MkDocs-powered wiki available at https://thermoo.thedeathlycow.com/
  • Along with the new wiki site, the wiki has been largely restructured and many pages have received updates.
  • Contributors can also now contribute to the wiki via pull request on GitHub.

Environment API

This is a large new API with a mix of datapack and mod-based components. I would highly recommend reading the Environment API Overview on the new wiki before going out and trying to implement it in your mods.

  • Introduced a new datapack-based Environment API to control environment temperature changes.
  • All methods in the Environment Controller have been replaced with a new, more fit for purpose alternative.
  • The fundamental change here is that the Environment datapack registry now computes a Temperature for a biome in a some widely recognised temperature unit (Celsius, Fahrenheit, Kelvin, or Rankine), as well as a few other parameters, and then those parameters are converted into temperature point changes by an event listener.
  • Added the datapack registry thermoo/environment. Format: https://thermoo.thedeathlycow.com/datapacks/environment_definition/
  • Added the datapack registry thermoo/environment_provider. Format: https://thermoo.thedeathlycow.com/datapacks/environment_provider_definition/
  • Added environment resistance attributes, thermoo:environment_heat_resistance 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
  • 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.

Files

thermoo-4.4.jar(241.26 KiB) Primary Download
thermoo-4.4-javadoc.jar(616.44 KiB) Download
thermoo-4.4-sources.jar(139.46 KiB) Download

External resources


Project members

TheDeathlyCow

Owner


Technical information

License
LGPL-3.0-only
Client side
required
Server side
required
Project ID