Cold Sweat

Cold Sweat

Mod

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

Client and server AdventureEquipmentGame Mechanics

385.3k downloads
389 followers
Follow Save
Filter loader...
Filter versions...
Filter channels...
2.4-b04d

  • Made water droplets more evenly distributed when the player emerges from water
  • Water droplets are now tinted to the biome's water color
  • Waterskins now make the player wet when poured

Fixes:
  • Fixed potential crash due to duplicate registries
  • Fixed crash when carrying temperature-affecting items

2.4-b04b

  • Added support for Ad Astra
    • This is an updated and fixed port of Mars Popsicle by igalaxy
  • Added UI element displaying food temperature effects
    • Shows a timer for the effect, and its strength
    • Has settings for repositioning and toggling like other UI elements
  • When the player has multiple food effects, now only the strongest one will apply
    • Example: if the player eats chicken (+5 heat), then steak (+10 heat), the steak will override the chicken until it expires
    • Hot and cold effects are handled independently,
  • Added setting to hide non-essential information in tooltips, such as "Hold [Shift]" prompts

Fixes:
  • (1.21) Fixed armor insulation not working
  • (1.21) Fixed Cold Sweat armor sets not having durability
  • (1.21) Fixed error during startup due to access transformer file name discrepancy
  • Fixed performance degradation due to hearths, boilers, and iceboxes not being properly unloaded
  • Fixed the insulation tooltip not showing for naturally-insulating armor items
  • Fixed waterskin tooltip erroneously saying "Hold [crouch] to drink" when secondary action is set to pour

Technical Changes:
  • Added new methods to TempModifier that fire when they are are added/removed on an entity:
    • onAdded/onRemoved: Fires on the TempModifier immediately when it is added/removed
    • onSiblingAdded/onSiblingRemoved: Fires on all other TempModifiers applied to a trait when a new modifier is added/removed
  • Added #forge:soul_campfires tag (#c:soul_campfires in NeoForge), which is now used by the block temperature of soul campfires
  • CreateRegistriesEvent has been broken up into two events:
    • AddRegistriesEvent: Fires right before Cold Sweat registers its registries to Minecraft's datapack system.
      • Use this event to make new registries. They will now be properly registered as Minecraft registries
    • LoadRegistriesEvent: Drop-in replacement for CreateRegistriesEvent. Has Pre/Post sub-classes that fire at the same stages of registry loading

2.4-b04b

  • Added support for Ad Astra
    • This is an updated and fixed port of Mars Popsicle by igalaxy
  • Added UI element displaying food temperature effects
    • Shows a timer for the effect, and its strength
    • Has settings for repositioning and toggling like other UI elements
  • When the player has multiple food effects, now only the strongest one will apply
    • Example: if the player eats chicken (+5 heat), then steak (+10 heat), the steak will override the chicken until it expires
    • Hot and cold effects are handled independently,
  • Added setting to hide non-essential information in tooltips, such as "Hold [Shift]" prompts

Fixes:
  • (1.21) Fixed armor insulation not working
  • (1.21) Fixed Cold Sweat armor sets not having durability
  • (1.21) Fixed error during startup due to access transformer file name discrepancy
  • Fixed performance degradation due to hearths, boilers, and iceboxes not being properly unloaded
  • Fixed the insulation tooltip not showing for naturally-insulating armor items
  • Fixed waterskin tooltip erroneously saying "Hold [crouch] to drink" when secondary action is set to pour

Technical Changes:
  • Added new methods to TempModifier that fire when they are are added/removed on an entity:
    • onAdded/onRemoved: Fires on the TempModifier immediately when it is added/removed
    • 2.4-b04b

      • Added support for Ad Astra
        • This is an updated and fixed port of Mars Popsicle by igalaxy
      • Added UI element displaying food temperature effects
        • Shows a timer for the effect, and its strength
        • Has settings for repositioning and toggling like other UI elements
      • When the player has multiple food effects, now only the strongest one will apply
        • Example: if the player eats chicken (+5 heat), then steak (+10 heat), the steak will override the chicken until it expires
        • Hot and cold effects are handled independently,
      • Added setting to hide non-essential information in tooltips, such as "Hold [Shift]" prompts

      Fixes:
      • (1.21) Fixed armor insulation not working
      • (1.21) Fixed Cold Sweat armor sets not having durability
      • (1.21) Fixed error during startup due to access transformer file name discrepancy
      • Fixed performance degradation due to hearths, boilers, and iceboxes not being properly unloaded
      • Fixed the insulation tooltip not showing for naturally-insulating armor items
      • Fixed waterskin tooltip erroneously saying "Hold [crouch] to drink" when secondary action is set to pour

      Technical Changes:
      • Added new methods to TempModifier that fire when they are are added/removed on an entity:
        • onAdded/onRemoved: Fires on the TempModifier immediately when it is added/removed
        • onSiblingAdded/onSiblingRemoved: Fires on all other TempModifiers applied to a trait when a new modifier is added/removed
      • Added #forge:soul_campfires tag (#c:soul_campfires in NeoForge), which is now used by the block temperature of soul campfires
      • CreateRegistriesEvent has been broken up into two events:
        • AddRegistriesEvent: Fires right before Cold Sweat registers its registries to Minecraft's datapack system.
          • Use this event to make new registries. They will now be properly registered as Minecraft registries
        • LoadRegistriesEvent: Drop-in replacement for CreateRegistriesEvent. Has Pre/Post sub-classes that fire at the same stages of registry loading

    • onSiblingAdded/onSiblingRemoved: Fires on all other TempModifiers applied to a trait when a new modifier is added/removed
  • Added #forge:soul_campfires tag (#c:soul_campfires in NeoForge), which is now used by the block temperature of soul campfires
  • CreateRegistriesEvent has been broken up into two events:
    • AddRegistriesEvent: Fires right before Cold Sweat registers its registries to Minecraft's datapack system.
      • Use this event to make new registries. They will now be properly registered as Minecraft registries
    • LoadRegistriesEvent: Drop-in replacement for CreateRegistriesEvent. Has Pre/Post sub-classes that fire at the same stages of registry loading

2.4-b04a

Fixes:
  • Fixed gradually decreasing server performance due to registry leaks
  • Fixed long freeze when exiting a world or server
  • Fixed crash when loading TOML configs in some cases
  • Fixed boolean block state values in JSON not being read properly

Technical Changes:
  • (1.16) The file structure of JSON registries has changed to match that of other versions:
    • Registries are now located in data/<yourmod>/cold_sweat/* (instead of data/cold_sweat/config/*)
    • This means that JSON registries registered by other mods will have that mod's namespace in their IDs
    • Datapacks still do not work. This is only for mod developers
  • Block temperature JSON configs can now be added to "effect groups"
    • Block temperatures in an effect group will count towards each other's max effect limits
    • i.e. if redstone lamps and copper bulbs are part of the same group, redstone lamps will count towards the max number of copper bulbs and vice-versa
    • Implemented via the "effect_group" field in block temperature JSON configs
      • This field takes in a tag ID containing block temps (i.e. "yourpack:yourtag" [no #hashtag])
      • Add your block temp tag to data/<yourpack>/tags/cold_sweat/block/block_temp/<yourtag>.json
      • Include the IDs of the block temps in the tag (i.e. "yourpack:your_block_temp")
  • registerByClassName() in TempModifierRegisterEvent now accepts constructor arguments as its last parameter (varargs)
    • These arguments will be passed to the constructor of the modifier class upon creation

2.4-b03d

  • Big improvements to config files:
    • Improved the formatting and wording of comments, making them more readable and clear
    • Improved the spacing between config settings and comments, making it easier to locate specific settings
    • List-based configs are now formatted vertically with one element per line, rather than all elements on one line
      • This behavior is indicated by the "//v" tag at the top of the config's comment. Removing the tag reverts this behavior
      • Formatting changes take effect upon restarting the game
    • ! Existing configs should be updated automatically, but backing up is recommended
    • TOML configs that take in IDs, like blocks, items, entities, biomes, etc. now support negation (i.e. "!minecraft:stone")
      • Most useful when used in lists. Excludes the given ID from having the setting applied to it
      • Also supports negating tags ("!#minecraft:leaves")
      • i.e. "#forge:dyes,!minecraft:black_dye" applies to all dyes EXCEPT black dye
    • ! Some config settings have been moved:
      • "Require Thermometer": main.toml -> item.toml
      • "Fire/Ice Resistance Immunity" main.toml -> item.toml
  • Armor items that provide built-in insulation can now accept insulation themselves
    • Built-in armor insulation can also be configured to either take up the item's available insulation slots, or not
  • Insulation tooltips can now be configured to show under specific circumstances:
    • "always": Always show the tooltip (even for armor items with no insulation)
    • "if_present": The default behavior. Shows the tooltip only if the item gives or has insulation
    • "on_shift": Show the insulation tooltip if SHIFT is held (even for armor items with no insulation)
    • "shift_and_present": Show the tooltip if SHIFT is held AND the item gives or has insulation
    • "never": Never show the insulation tooltip for any items
  • Leather, hoglin hide, goat fur, and chameleon scale armor can no longer be sewn into other armor by default
  • Increased the amount of insulation provided by leather, hoglin hide, goat fur, and chameleon scale armor when worn
  • Increased ice resistance potion durations:
    • Normal length: 90 seconds -> 3 minutes
    • Extended length: 3 minutes -> 6 minutes
  • (1.16) Added Valkyrien Skies support

Fixes:
  • Fixed crashing and/or disconnection when loading Cold Sweat datapacks that include dimensions, structures, or biomes
  • Fixed crash when using a hearth, boiler, or icebox in a Valkyrien Skies ship
  • (1.21) Fixed strange temperature behavior when an entity with temperature is killed or leaves the world
  • Fixed temperature effects being removed when the player's body temperature is above 100 or below -100
  • Fixed the player's spawn point not being set at a bed if it is sweltering or freezing
  • Fixed water droplets sometimes spawning in lopsided patterns on the screen
  • Fixed shears consuming double durability when used to shear goats

Technical Changes:
  • Chameleons will now target and eat any entities in the #cold_sweat:chameleon_eats tag


Project members

Mikul

Owner

Details

Licensed GPL-3.0-or-later
Published 2 years ago
Updated 9 hours ago