Mods
Resource Packs
Data Packs
Modpacks
Shaders
Plugins
Mods Resource Packs Data Packs Plugins Shaders Modpacks
Sign in
ModsPluginsData PacksShadersResource PacksModpacks
Sign in
Settings
Cold Sweat

Cold Sweat

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

247.6k
334
Adventure
Equipment
Game Mechanics
AboutGalleryChangelogVersions

Cold Sweat 2.3.10

by Mikul on Jan 10, 2025
Download

Cold Sweat 2.3.10

by Mikul on Jan 10, 2025
Download
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 rare crash when calculating block temperature 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 insulating armor tooltip not displaying
  • 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
  • Fixed frozen hearts rendering incorrectly in hardcore mode

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

Cold Sweat 2.3.10e

by Mikul on Jan 6, 2025
Download

Cold Sweat 2.3.10e

by Mikul on Jan 6, 2025
Download

Cold Sweat 2.3.10e

by Mikul on Jan 6, 2025
Download
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

Cold Sweat 2.3.9

by Mikul on Nov 29, 2024
Download

Cold Sweat 2.3.9

by Mikul on Nov 29, 2024
Download

Cold Sweat 2.3.9

by Mikul on Nov 29, 2024
Download
2.3.9
* item_settings/entity_settings/world_settings.toml have been renamed to item/entity/world.toml
- Existing files will be automatically migrated
* Added new config settings to the in-game menu:
- Insulation Strength
- Check Sleep Conditions
- New settings for the hearth/boiler/icebox
- The rate at which water freezes is now affected by randomTickSpeed if "Custom Freezing Behavior" is enabled
- Insulation attributes with unmet requirements are now shown with a red strikethrough, rather than being omitted from the tooltip
- Added config options for the maximum range and volume of the hearth, boiler, and icebox individually to world.toml

Fixes:
- Fixed the hotbar tooltip for filled waterskins not having a negative symbol for cold temperatures
- Fixed thermal source blocks (hearth/boiler/icebox) not consuming fuel items immediately upon being inserted

Technical Changes:
* Added KubeJS support
- Added events for adding insulators, block temps, biome temps, etc; as well as TempModifiers
- Added several Cold-Sweat-related methods that can be accessed from the "coldsweat" binding
- Added a few other events for specific Cold Sweat actions. This list will grow over time
- See the mod's documentation page for more details
* Added "remove" config type, which allows for the removal of registered config settings that match a given data structure
- This includes TOML and JSON configs
- Removals are handled after all of the config settings are parsed, but before they are committed to memory
- Removals will not directly change the config files; only whether they are loaded
* Any JSON configs named "default" will now be loaded last
- This allows for configs to have a default value that can be overridden by other mods/datapacks/configs
* Massive internal registry standardization and boilerplate reduction
- Internal registries and configs are now much more standardized, with fewer points of failure
- Codecs are used wherever possible for data serialization, rather than bespoke methods
- Many of the config holders have been updated to hold custom data types, rather than unorganized tuples (like Pairs and Triplets)
* Cold Sweat configs that rely on dynamic registries now use Holders for their keys
- This includes biomes, dimensions, structures, etc.
- For example, ConfigSettings.BIOME_TEMPS is now a DynamicHolder<Map<Holder<Biome>, BiomeTempData>>
- Any methods that previously accepted an "unwrapped" value now accept a Holder instead
- These changes will only affect direct interactions via Java; not JSON or KubeJS
- ItemRequirements and EntityRequirements can now take in a Predicate<ItemStack> and Predicate<Entity> respectively
- These allow for absolute control over the conditions for insulators, entity temperatures, etc.
- These requirements are now calculated on the server, and the results are sent to the client
- Defining biome temperatures with only one temperature value is no longer supported in TOML configs
- All configs that accept items, blocks, biomes, etc. will now accept comma-separated lists and #tags if they previously didn't

Cold Sweat 2.3.8

by Mikul on Nov 4, 2024
Download

Cold Sweat 2.3.8

by Mikul on Nov 4, 2024
Download

Cold Sweat 2.3.8

by Mikul on Nov 4, 2024
Download

Cold Sweat 2.3.8

by Mikul on Nov 4, 2024
Download

Cold Sweat 2.3.8

by Mikul on Nov 4, 2024
Download
2.3.8
* Added new textures for when a filled waterskin is hot or cold
- Removed the Far Lands and Modulo custom music tracks
- Added option to expand all collapsible tooltips by default
- Added a "trait" argument to the /temperature set & get sub-commands

Fixes:
* (1.18 - 1.19) Fixed crash when rendering the heatstroke blur effect
- (1.21) Fixed command parameters for temperature trait arguments not working properly

Translation Updates:
- Updated Russian translation (Heimdallr-1 on GitHub)

Technical Changes:
* Several major changes have been made to how block requirements and block_temps work in JSON
- Much better support for blockstates and a slight change to NBT
- See the online documentation for the new syntax
* Added new methods to TempModifiers: markDirty(), markClean(), isDirty()
- A TempModifier being "dirty" indicates that it should be synchronized to the client
- Dirty TempModifiers will be automatically synchronized via Temperature.updateModifiers(), then marked clean
- All methods for adding TempModifiers in the Temperature class now return a boolean indicating if the operation was successful
- Added addModifierById() method to GatherDefaultTempModifiersEvent
- Adds a modifier based on its registered ResourceLocation ID (useful for mod compat!)
* Added removeModifiers() method to GatherDefaultTempModifiersEvent
- The hearth, icebox, and boiler now use fluid tags for fueling:
- cold_sweat:hot
- cold_sweat:cold
</body></html>

Cold Sweat 2.3.7

by Mikul on Oct 30, 2024
Download

Cold Sweat 2.3.7

by Mikul on Oct 30, 2024
Download

Cold Sweat 2.3.7

by Mikul on Oct 30, 2024
Download

Cold Sweat 2.3.7

by Mikul on Oct 30, 2024
Download

Cold Sweat 2.3.7

by Mikul on Oct 30, 2024
Download
2.3.7
* (1.20 - 1.21) Added compat for "Oh the Biomes We've Gone"
- Tweaked the temperatures for 39 biomes from the mod
- Chameleons now spawn in appropriate biomes from the mod
! world_settings.toml will need to be reset for these new temperature to apply
* Added (partial) compat for Vaklyrien Skies
- Temperature emitted from blocks placed on a ship will now properly affect the player
- More compatibility will be added in future updates
- (1.16) Goats now drop 1-2 mutton when killed

Fixes:
* Fixed crash on servers when rendering particles in some cases
- Fixed crash when updating configs from pre-2.3 versions if "Block Temperatures" is configured in a particular way
- Fixed the icebox's opening animation not synchronizing to all players on a server
- Fixed some particles not spawning for all players on a server when they should
* (1.16) Fixed custom mob spawning not working
- (1.18) Fixed chameleons spawning on invalid blocks
- (1.21) Fixed damage from freezing/overheating dealing knockback

Technical Changes:
* Implemented a new rendering manager (PostProcessShaderManager) to handle Cold Sweat's shaders
- Circumvents Minecraft's normal post-processing shader system to improve compat and allow for stacking of shader effects
* Removed deprecated methods from the Temperature and GatherDefaultTempModifiersEvent classes
* Java-based BlockTemps' min/max effect, min/max temp, range, and fade are now fields instead of just method return values
- These fields are now part of the constructor
- The existing methods will return the values of these fields by default, but can still be overridden with no additional changes necessary
- The old BlockTemp(Block... blocks) constructor is still present, and will initialize all other fields to a default value
* BlockTemp fading over distance is now handled outside the getTemperature() method, in BlockTempModifier
- This means you will no longer need to calculate the fade yourself and can simply return the temperature of the block
! For BlockTemps that still calculate the fade in the old way, the new fade will still be applied on top of the old one
- This isn't too bad, but it means the block will weaken exponentially

Cold Sweat 2.3.6

by Mikul on Oct 22, 2024
Download

Cold Sweat 2.3.6

by Mikul on Oct 22, 2024
Download
1
2
3
4
7

90% of ad revenue goes to creators

Support creators and Modrinth ad-free with Modrinth+
Filter

Show all versions

Modrinth is open source.

main@aaf125c

© Rinth, Inc.

Company

TermsPrivacyRulesCareers

Resources

SupportBlogDocsStatus

Interact

Discord X (Twitter) Mastodon Crowdin
Get Modrinth App Settings
NOT AN OFFICIAL MINECRAFT SERVICE. NOT APPROVED BY OR ASSOCIATED WITH MOJANG OR MICROSOFT.