2.4-b05e
Technical Changes:
- Water temperature is now biome-dependent
- Each biome has its own "water_temp" field in JSON
- Can also be set in toml by adding a parameter after the "units" parameter
- Setting this is optional. If unset, a default water temperature will be used
- Default water temperature and soak speed are now configurable in world.toml
- "Soak speed" controls how fast the player becomes wet
- Rain soak speed and water soak speed are individually configurable
- Removed "un-crafting" recipes for packed ice and blue ice
- These recipes were arbitrary and could lead to duplication with some mods
- Fixes:
- Fixed crash when hearth-like blocks try to spawn particles and the size of their area of effect is zero
- Fixed hearth-like blocks only expanding to about 1/6 of their maximum volume
- Fixed recipes that require leather not being craftable
- (1.16) Fixed missing texture for the overlay when the player is freezing
- Fixed the "biome", "dimension", and "structure" fields in location requirement JSON requiring lists instead of a single element
Technical Changes:
- Added "/coldsweat dumpconfigs" command, which dumps all loaded config data into the "config/coldsweat/dump" directory
- Useful for debugging or when making datapacks
- Expanded the registry removal system into a new system called "registry modifiers"
- Registry modifiers can edit the data of existing configs, or disable them like before
- A registry modifier contains a list of operations, which support the following:
- "disable": Disables the config (same as before)
- "replace": Replaces a field with the given data
- "merge": Merges the given data with the existing data, with the new data overwriting the existing data
- If the data contains a list, the new list will be appended to the existing list
- "append": Merges the given data without overwriting any existing data
- Does not affect lists
- "remove": Removes the specified keys from the config. Also supports removing list elements
- ! Because this new system introduces formatting changes, existing registry removal configs will need to be updated
- See the documentation for formatting guides and examples
2.4-b05d
Fixes:
Technical Changes:
- Added new block textures to the hearth for when it is burning hot fuel or has cold fuel
- Increased the time it takes to fully acclimate from 15 minutes to 1 hour
- Minecart insulation can now be crafted with fur instead of wool
- Changed the keybind to show the numerical insulation value of an item from SHIFT to CTRL
Fixes:
- (1.21) Fixed crash on servers due to client-only class being loaded
- Fixed smart/automatic behavior for the hearth, boiler, and icebox not working properly in many cases
- Fixed attributes in curio insulators not being applied
- Fixed chameleon shed state sometimes breaking when the entity is saved
Technical Changes:
- Improved the reliability of "required_mods" in JSON configs
- ! Rearranged/simplified some methods in ItemInsulationManager
- Some methods have been removed or renamed. See the code for details
- Armor crafting and repair materials are now handled by tags:
- Hoglin: #forge:leathers/hoglin
- Goat Fur: #forge:furs/goat
- Chameleon: #forge:scales/chameleon
2.4-b05c
Fixes:
Technical Changes:
Fixes:
- Fixed crash due to failed/incomplete mod initialization in other mods when Cold Sweat is present
Technical Changes:
- Registry access in RegistryHelper is now captured before biome modifiers are applied
2.4-b05b
Fixes:
Technical Changes:
- Chameleons now require player interaction to shed
- This is to inhibit very easy farming by putting a chameleon on top of a hopper
- When a chameleon is ready to shed, it will start emitting particles and send a vibration with signal strength 4
- When the player right-clicks the chameleon, it will shed chameleon molt as normal
- This can also be done with shears in a dispenser
- This change can be reverted by enabling "Chameleons Shed Automatically" in entity.toml
- Insulators that require certain criteria can now display a hint in their tooltip
- i.e. the Create netherite backtank now has the requirement "Wearing full netherite diving suit" in its tooltip
- JSON: Added a "hint" field that takes two optional arguments:
- "text": Display static text
- "key": Use a translation key
- Usage: "hint": {"text": "Wearing full iron armor", "key": "tooltip.cold_sweat.example"}
- Only one of these fields is required
- If both fields are defined, "key" will be tried first and "text" will be used as a fallback
- KubeJS: Added "hintText" and "hintKey" methods to insulator builders
- Temperature changes from shade and overcast mechanics are now handled by a single dedicated temperature modifier
- This change "upgrades" the shade mechanic from being a side-effect of the depth system to a real feature
- In turn, the depth system now does not count leaf blocks as solid ground
- The temperature effect of shade/overcast can be configured with the "Shade Temperature Offset" setting, which replaces "Overcast Temperature Offset"
- Added "/temp add" subcommand, which changes the target's body temperature by the specified amount
- Adaptive insulation now adapts at a consistent rate instead of slowing down as it reaches its target
- (1.16) Improved the reliability of tooltip image insertions, especially when other mods are installed
- Switching to spectator mode now sets your body temperature to 0
- Decreased the temperatures of some cold biomes that generate ice, so the ice doesn't immediately melt
- When hovering over an insulation item, holding SHIFT now shows its exact numerical insulation value
Fixes:
- Fixed crash when loading user JSON configs (from the configs folder) if they contain modded dynamic registries (modded dimensions, biomes, etc.)
- Fixed several potential crashes when configs contain invalid IDs
- Fixed some client-side config settings not persisting when changed in the in-game config menu
- Fixed components requirements not working for items that have registry data in their components (i.e. enchantments)
- Fixed jerking/bouncing motions when camera is swaying due to overheating
- Fixed ice creating water when broken in the Nether
- Fixed the wildcard type ("*") in JSON configs always returning false
- Fixed Create backtank not draining pressure when providing heat resistance
- Fixed temperature decrease due to altitude being calculated incorrectly due to formatting issues
- Fixed heat fog not moving smoothly as the player's temperature changes
- Fixed slowness due to freezing also affecting motion from external sources (explosions, knockback, etc.)
- Fixed client-side temperature effects being applied twice in singleplayer
- Fixed water droplet trails scaling incorrectly at certain GUI scale settings
- Fixed filled waterskin having the incorrect item texture when its temperature is below -50
Technical Changes:
- The "items" field in JSON item requirements, and "entities" field in entity requirements, are now required
- This is because configs now do nothing if these fields are empty
- Enum-type config fields in JSON are now case-insensitive (previously required lower-case)
- Examples of field types affected:
- Temperature Units (i.e. "f", "C", "Mc")
- Temperature Type (i.e. "world", "CORE", "fReEzInG_pOiNt")
- Config Type (i.e. "toml", "JSON", "KubeJS")
- Slot Type (i.e. "head", "CHEST", "Inventory")
- Examples of field types affected:
- The "class" parameter is no longer required when creating custom registries
- ! Custom Cold Sweat registries are now officially unsupported in 1.18
- This is because 1.18's registry loading system disallows initializing registries outside the standard time during mod loading
- Because not all mods have been loaded yet at this stage, there is no guarantee that all registries will load successfully
- Custom registries are now loaded during startup immediately after mods are loaded, instead of upon joining a world/server
- Blocks which are affected by the "Cold Soul Fire" setting are now controlled by the "forge:soul_fire" tag ("c:soul_fire" in NeoForge)
- Any blocks in this tag will have their temperatures inverted if the setting is enabled


