Cold Sweat

Cold Sweat

Mod

Adds a fitting and difficult temperature system to Minecraft, plus more!

Client and server AdventureEquipmentGame Mechanics

118.0k downloads
252 followers
Follow Save
90% of ad revenue goes to creators. Go ad-free while supporting creators with Modrinth Plus. Subscribe today!

Cold Sweat 2.3.10e

Changelog

2.3.10

Fixes:
  • Fixed crash when the temperature of a biome is retrieved in some cases
  • Fixed crash due to infinite update loop when a thermal source block's fuel is changed
  • Fixed crash when opening the creative menu in some cases
  • Fixed crash while processing registry removals in some cases
  • Fixed log spam and/or crashes caused by missing temperature modifier IDs
  • Fixed mixin conflict with mods that change ice freezing behavior (like TFC)
  • Fixed "NegativeArraySizeException: -1" error when connecting to a server with OP permissions
  • Fixed config menu not opening on dedicated server
  • Fixed the config menu infinitely re-opening when playing in offline mode
  • Fixed some config settings duplicating in the TOML files every time they are saved
  • Fixed automatic config updater creating outdated configs in some cases
  • Fixed blocks configured via TOML not emitting temperature
  • Fixed soul-fire-based blocks not emitting temperature properly
  • Fixed server disconnection due to very large packet size in some cases
  • Fixed chestplates not being insulatable & other abnormal sewing table behaviors
  • Fixed goats not regrowing their fur after being sheared
  • Fixed the hearth not checking for fuel items
  • Fixed the Create netherite diving set not giving the right attribute modifiers
  • Fixed powered blocks in front of the thermolith not updating when it is destroyed
  • Fixed errors caused when KubeJS scripts use invalid/missing IDs
  • Fixed KubeJS-based item configs not checking their conditions properly
  • Fixed biome temperature having too small of a search radius
  • Fixed no sound playing when a waterskin is dispensed from a dispenser
  • Fixed elevation temperature being inaccurate in some cases
  • Fixed chameleon molt never despawning when shed by a chameleon
  • Fixed crash when a block is destroyed due to a non-player action in some cases
  • Fixed temperature ceasing to work after death in some cases
  • Fixed the freezing point of ice being higher than it should

Technical Changes:
  • The temperature decrease due to altitude is now defined in JSON as part of the default temp_region file
    • This functionality was previously hard-coded, but can now be customized
  • Added new functionality for inventory item temperatures ("carried items")
    • Now support giving attribute modifiers and temperature modifier resistances
    • Now support being in Curios slots
  • Removed the "trait" argument from the "/temperature set" sub-command, as it would be reset next tick anyway
  • Temperature units are now supported for seasonal temperatures and block temperatures
    • Existing configs will be automatically updated to match the new format
  • Added "cold_sweat:extends_smokestack" block tag, which defines what blocks can be used to increase the height of a smokestack
  • ! The "entity" parameter for getTemperature() in BlockTemp is now nullable
  • ! EnableTemperatureEvent is now fired on the Forge event bus directly after configs are loaded
  • Configs defined by JSON (and a few more) are now only synced server -> client and not the other way around
    • These configs will no longer attempt to be written to TOML files
    • This change also affects singleplayer worlds, as they have an integrated server
    • Structure temperatures are not synced at all anymore, because structures themselves are not synced anyway
  • Config data objects are now standard classes instead of records, and all extend the same "ConfigData" class
    • This class contains a config's UUID, type, and required mods
  • Config data objects now store their source of creation (TOML, JSON, etc.)
  • Added "state()" method to KubeJS block temperature builder for easier checking of block state
  • Added "InsulatorTabBuildEvent", which allows for simple modifications to the items in the insulator tab
  • Added getInsulationFromNearbySources() to WorldHelper, which calculates the warmth/frigidness level at the given position from nearby hearth-like blocks
  • Added getRoughTemperatureAt(), which provides a less accurate but much more efficient method of getting the temperature at a given location
    • This can be used for block updates or other tasks that are performed often and don't require exact precision
  • Improved the logic of addModifier() methods to behave more intuitively
  • UndergroundTempModifier ("cold_sweat:underground") has been split into two separate modifiers:
    • DepthBiomeTempModifier ("cold_sweat:depth_biomes"): Handles the temperature of underground biomes
    • ElevationTempModifier ("cold_sweat:elevation"): Handles temperature changes based on altitude & depth underground (provided by temperature regions)
    • These modifiers will be automatically added to existing players/entities

Files

ColdSweat-2.3.10e.jar(2.02 MiB) Primary Download
ColdSweat-2.3.10e-sources.jar(1.29 MiB) Download

Project members

Mikul

Owner

Details

Licensed GPL-3.0-or-later
Published a year ago
Updated 2 days ago