Thermoo

Thermoo

Mod

A temperature library mod for Fabric and Quilt. Used by Frostiful and Scorchful.

Client and server Library

212.7k downloads
37 followers
Createda year ago
Updated7 days ago

Follow Save
Host your Minecraft server on BisectHosting - get 25% off your first month with code MODRINTH.

Thermoo 2.2

Changelog

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 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!

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:

{
    "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.

Files

thermoo-2.2.jar(217.6 KiB) Primary Download
thermoo-2.2-javadoc.jar(411.21 KiB) Download
thermoo-2.2-sources.jar(83.99 KiB) Download

External resources



Project members

TheDeathlyCow

Owner


Technical information

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