2.3.3
- Updated the hearth's item texture slightly to match its new block texture
Fixes:
* Fixed crash when the player is wet and GUI scaling is set to "Auto"
- Fixed the hearth still accepting water if the config settings had not been updated from a previous version
- Fixed erratic walking behavior for chameleons, especially when bumping into other mobs
- Fixed the chameleon's walking animation clipping into the ground slightly
- Fixed items thrown to a chameleon having different NBT when picked up, making them unstackable
- Fixed chameleons accepting infinite breeding items in some cases
- Fixed baby chameleons attempting to go into breeding mode when fed breeding items
- Fixed the water dripping effect persisting on-screen after the player has completely dried off
2.3.2
!! (1.16) The config setting for llama spawn biomes will be deleted and replaced with goat spawn biomes. Please back up before launching!
- Added config option to hide insulation tooltips unless shift is held
* (1.16) Backported goats from 1.18
- Replicate the appearance and behavior of Vanilla goats
- If Caves and Cliffs Backport is installed, all Cold Sweat goats will be replaced with that mod's goats
- This is to keep things simpler by only having one kind of goat
- As much data as possible will be preserved when replacing (name, age, health, etc)
- They are now the intended way of obtaining goat fur
! If this introduces bugs, I swear I'm gonna revert this stuff
* (1.16) Llamas no longer yield goat fur
- Renamed all fur-related items to "goat fur"
- Existing items and configs will be automatically updated to reflect this change
* Added screen effect for when the player is wet
- Can be disabled via an option in the config menu or in client.toml
Fixes:
* Fixed crash when putting a smokestack on the icebox or boiler
* Fixed crash when saving configs in the config screen
- Fixed crash when placing redstone near a hearth, boiler, or icebox in some cases
- (1.16 - 1.19) Fixed the icebox still not having subtitles for opening and closing
- (1.21) Fixed crash when equipping a non-armor item (like the elytra)
- Fixed hearth-like blocks providing chilling/warming when powered but not fueled
- Fixed the Create netherite diving gear having incorrect heat and cold protection values
- Fixed mixin conflict with MemoryLeakFix
Translation Changes:
- Added Traditional Chinese (zh_tw) translation, courtesy of yichifauzi on GitHub
Technical Changes:
- Any drinkable item can now be put in the boiler if Thirst Was Taken is installed, removing the need for the "boiler_purifiable" tag
- The config for carried item temperatures now has an optional "max_effect" field that limits how much that type of item can affect the player
2.3.1
* The hearth now has visible redstone inputs on the sides and back, to make it more clear how it is powered
- Hearth-like blocks can now be powered from the bottom
- For the Hearth, this is an additional input for heating
- Updated Thirst Was Taken compat to support 1.3.8+
- TWT versions below 1.3.8 will now have compat disabled
- Ice how has a minimum temperature, reducing the likelihood of extremely cold (negative) temperatures when standing close to it
- The trident's riptide ability can now be used when the player is wet
- Using this removes the player's "wetness"
Fixes:
* (1.16) Fixed mixins not loading, causing a lot of strange behavior
* Fixed the player's attributes being set to incorrect values when updating form 2.2
* Fixed the insulation value for chameleon molt being removed when updating from 2.2
* Fixed the player's temperature & world temperature sometimes appearing to not change after respawning
- Fixed missing subtitles for the icebox's opening and closing sounds
- Fixed ice melting into water when broken in creative mode or no block was beneath it
- Fixed the chameleon being immune to neutral damage (not directly from an entity) when not riding a player
- (1.16) Fixed UI icons rendering over the chat panel
- (1.16) Fixed the UI for the hearth, icebox, and boiler being offset when the player has potion effects
- Fixed inconsistency in the freezing screen shake effect at different framerates
Technical Changes:
* Added config setting to nullify all negative temperature effects when the game is set to Peaceful mode
- This setting replaces the "Damage Scaling" setting, as it didn't work well anyway
* Added new JSON config setting allowing items carried in the player's inventory to apply temperature effects
- A simplified version of this has also been added to item_settings.toml for quick access
* Added config to change the general strength of insulation items
- This setting applies to all armor and insulators, changing their effectiveness by a given multiplier
2.3
!! Several config files have formatting changes. Please back up all configs before updating
New Boiler & Icebox Behavior
- Added new block: Smokestack
- A smokestack can be placed on top of these blocks to make them act like a half-power hearth
- They give up to Insulation V and can only heat or cool, respectively
- They have about 60% of the radius and much less maximum volume
- They now produce ambient air particles when fueled and have a smokestack
- Added a new button to their GUIs to toggle this effect
* The icebox now has an animation/sounds when being used, opening like a chest
- The icebox has a unique texture for when a smokestack is placed on top
- Lava/water can be piped into them, similar to the hearth
Hearth Changes
- The hearth has been altered to be a post-Nether block
- Crafted with nether bricks and soul sand/soil, as well as the new smokestack block
- All other functionality is the same. This block is now an "upgrade" to the smokestack/boiler/icebox
- The hearth-like blocks now protect against temperature 50% more effectively
- This means the boiler & icebox have ~75% the effectiveness of the old hearth, and the new hearth is better than before
* Hearth-like blocks (including the boiler and icebox) now require redstone power to emit heat/cold
- While one of these blocks are powered, they will constantly heat/cool the area and consume fuel
- The thermolith can be used to detect the nearby temperature and power these blocks dynamically
* A config option has been added to re-enable the "smart" behavior of these blocks
- If a hearth is powered from the sides, it will cool the nearby area
- If a hearth is powered from the back, it will heat the nearby area
- Powering a hearth from both areas will make it heat and cool
- Powering a boiler or icebox from any side will make it heat or cool, respectively
Waterskin Changes
- Waterskins are now drinkable via sneaking and right-clicking
- Added more info about the filled waterskin's uses to its tooltip
- Waterskins can now fill (and be filled from) cauldrons
- Added custom filling and pouring sounds for the waterskin
Chameleon Changes
* Chameleons can now be given items by right-clicking
- Aside from being intuitive, this is a way of ensuring which chameleon will eat the item if there are multiple nearby. Only the chosen chameleon will attempt to eat the item
* Tamed chameleons can now be bred using their normal taming items (fish, spider eye), but only once
- This is to make chameleons slightly easier to obtain, and help with potential scarcity on large servers
- Baby chameleons shed chameleon molt immediately upon turning in to an adult, but otherwise don't
- Chameleons now drop 1 chameleon molt when killed, except if they are a baby
- Made baby chameleons slightly smaller
- Slightly decreased the rate at which chameleons shed
Loot Changes
- Increased hoglin hide drop rate to between 1 and 3 (from 1)
- Chameleon molt dropped from chameleons now lasts 20 minutes before despawning
- Significantly reduced the drop rate of sticks from soul stalk blocks
Ice Changes
* The hearth & icebox now no longer accept water by default
- Now, the primary cold fuel source is ice
* Ice is now much easier to obtain/farm, due to a few key changes:
- Ice now freezes/thaws according to Cold Sweat's temperature system
- This new system takes altitude, time, and the season into account
- Ice freezes at roughly 32 ??F (0 ??C)
- Ice can now be obtained with a stone pickaxe without silk touch
- An iron pickaxe is required for packed ice and blue ice
- If ice is mined with a wooden pickaxe or by hand, it will turn into water as normal
- Packed and Blue ice can now be un-crafted into their "lower-level" variants (i.e. blue ice yields packed ice) in the crafting table or stonecutter
- The crafting table yields 4 ice blocks, while the stonecutter yields 9
- Ice and snow now have slightly lower fuel values in the icebox and hearth
UI Changes
* The "vague" temperature gauge (world temperature gauge without a thermometer) has been turned into a frame around the body temperature icon
- Functionality is the same; these UI elements have just been combined to make the UI less cluttered. It looks pretty good, too!
- The exact world temperature readout will still be shown as normal when the player has a thermometer
* The body temperature readout is now hidden unless a thermometer is equipped
- Instead, the body temperature icon will now gradually fill up, turning either orange or blue as the player's temperature increases/decreases
- Added new "compact" view for insulation tooltips with 10 bars of insulation or more
Mod Compatibility
* (1.20) Added Origins integration as a standalone mod:
- Allows for users to modify the attribute values that players spawn with for origins via datapacks or config files
- This could already be done for your own origins via attribute modifiers, but this addon is useful for modpack devs
* Added support for Thirst Was Taken:
- Purity defaults to "Slightly Dirty"
- Can be purified by the same means as water bottles (furnace, campfire)
- This does not affect the temperature of the waterskin, only its purification level
- Drinkable items can now be purified in the boiler:
- When a waterskin is up to max temperature (120 F / 48 C), it will purify by one level every 10 seconds
- Other drinkable items don't need to heat up. They will start purifying immediately
- Purification rate is also affected by the configured temperature rate
- Waterskins can now be filled by Create machines with 250mb of water
* Added better support for netherite diving gear from Create
- A complete netherite diving suit (Create) now provides complete resistance to block-related temperature (like lava!)
- It also gives 100% resistance to overheating, so your temperature will not increase
- These effects last until the backtank is empty
- The backtank will now drain air (and show the time indicator) when the player is in a hot environment
- This leverages the new entity predicate system added in this update
- Added Primal Winter support by default
* (1.20) Added Weather, Storms & Tornadoes (Weather2) support
* Aquamirae three-bold armor set now provides some freezing protection, as well as water immunity
* Added support for Spoiled:
- Placing food items in the icebox will stop food spoilage as long as it is fueled
- This will gradually drain fuel from the icebox
- Added support for using a Create display link on the thermolith
- The current world temperature will be displayed
- A field will be added upon placing the display link that allows the user to define the temperature units
Misc. Changes
* Added "Cold Sweat: Insulators" creative tab
- Contains all items that can be used as insulation, or provide insulation when worn
* Shift-clicking an armor item from the output slot of the sewing table now applies all available insulation at once
- Removed the Insulated effect from the list of top-tier beacon effects
- The inside of naturally-generated igloos is now habitable
- The soulspring lamp can now be given one fuel item at a time by right-clicking
- Improved the output formatting for the /temp debug command
- Made heatstroke camera swaying more aggressive
- Increased the duration of the soul sprout's effect to 1 minute
- The soulspring lamp now emits particles while in use to help signify its area of effect
- Lava cauldrons now emit heat by default
! This will not take effect until the config setting for block temperatures is reset
- Reduced the food value of soul sprouts to 3 (from 4), and the saturation to 0.5 (from 1)
Config Changes:
- Due to many configs requiring access to world registries, the Cold Sweat config button is now disabled in the main menu
* Config settings can now accept a comma-separated list of biomes, dimensions, or structures to apply the same settings to multiple things
* The following config settings now have a configurable range of intensity, instead of just on/off:
- Freezing hearts: Ranges from 0 to 1, with 1 freezing all hearts
- Chilled mining speed: Ranges from 0 to 1, with 1 preventing the player from mining completely
- Chilled movement speed: Ranges from 0 to 1, with 1 preventing the player from moving completely
- Chilled knockback reduction: Ranges from 0 to 1, with 1 nullifying the player's knockback to other entities
- Heatstroke fog: Ranges from 0 to infinity; Controls the distance of the fog, with infinity disabling it altogether
* These settings now have entries in the config menu as well
* Added config option for setting the temperature of natural structures
- This controls the world temperature when the player is inside the structure
* Added config option for armor insulation slots to dynamically scale based on protection value:
- There are 4 modes: Static (no scaling), Linear, Exponential, and Logarithmic
- A maximum number of slots can be set to prevent excessive scaling
- Added config option to allow certain blocks to be slept on regardless of the outside temperature
- The temperature rate config setting now affects how fast waterskins heat/cool in the boiler and icebox
* Most item configs now support defining NBT tags (i.e. {Color:"blue"}).
- Item configs with NBT tags defined will require the specified NBT data to be present on the item
* Added the option for food items to change the player's temperature for a period of time, like soul sprouts
- Moved the "Cold Soul Fire" and "Check Sleep Conditions" settings to world-settings.toml
- Renamed some too-verbose config settings/sections
- Added new config option to smooth out how rapidly changing temperatures are represented by the world temperature gauge
- In other words, the gauge won't jitter as much when the player is moving around near heat sources
- This option is defaulted to 10, double the smoothing of previous versions
* Added option to hide individual UI elements in the config menu
- Altered/touched up the config screen in a few other areas
- The soulspring lamp can now be given one fuel item at a time by right-clicking
- Added structure temperature offset config option
- Added config setting to change the drop rate of chameleon molt
Technical Changes:
* Added support for defining config settings using JSON:
- This is a more modular way of configuring things, without having to add them to the config files
* It can be defined by mod developers in the data files, or via datapacks:
- Insulation: data/<yourmod>/cold_sweat/item/insulator
- Fuel items: .../item/fuel
- Food temperatures: .../item/food
- Block Temps: .../block/block_temp
- Biome Temps: .../world/biome_temp
- Dimension Temps: .../world/dimension_temp
- Structure temperatures: .../world/structure_temp
- Temperature regions: .../world/depth_temp
- Insulating mounts: .../entity/mount
- Entity spawn biomes: .../entity/spawn_biome
* It can also be placed in the user config folder (config/coldsweat/data/*) to be globally applied (i.e. config/coldsweat/data/insulator)
* Insulation items have additional functionality when defined in JSON:
- They can now contain entity predicates:
- Insulation items with a predicate will only provide insulation if the wearer has the specified data
- Deactivated insulation items can still be equipped, but will not provide insulation or show in the tooltip
- This is a new system, but is structured like a Vanilla entity predicates with some slight tweaks
- They can now give attribute modifiers:
- Attribute modifiers will be applied when the insulation item is on a piece of armor
- Any attributes (even Vanilla and modded ones) are supported
* Config settings have a set order of precedence depending on how they are defined:
- user datapacks (in config folder) > datapacks (from mods or worlds) > traditional configs (.toml files)
! Datapack configs are read slightly differently in 1.16:
- Data files are kept in data/cold_sweat/config/* instead of data/<yourmod>/cold_sweat/*
- Otherwise, the internal structure is the same
! Datapacks in world folders still can't be read by this system. The alternative is to put datapack configs in configs/coldsweat/data/*
* More info on this system is available on the mod's documentation site; a link to which is on the CurseForge or Modrinth page
* Insulation items can now affect non-player entities
- If an insulation item has special properties, like attribute modifiers, it will now apply to any entity, not just players
* Insulation items can now make entities immune to certain TempModifiers
- This reduces the efficacy of the specified TempModifiers on the entity
- The the entity requirement must be met for immunity to be applied
* Added block tags for hearth spread whitelist/blacklist (cold_sweat:tags/block/hearth/spread_whitelist and spread_blacklist)
* Added block tag for blocks that should ignore sleeping conditions (cold_sweat:tags/block/ignore_sleep_check) (ignore the "Check Sleeping Conditions" setting)
* Added item tag for non-insulatable armor items (cold_sweat:tags/item/not_insulatable)
* Added effect tag for blacklisted potion effects in the hearth (cold_sweat:tags/mob_effect/hearth_blacklisted)
* Temperature.Type and Ability have been merged together into Trait
- These two things were functionally identical anyway, so separating them only made them more annoying to work with
- This also means that previous Temperature.Ability types can now have TempModifiers applied to them
- The TempModifier registration system has been slightly changed:
- The ID for TempModifiers is no longer provided by a method in the TempModifier class
- IDs are now assigned at registration via ResourceLocations like most other things
- The Temperature.addModifier() method will now add/replace for every TempModifier instance that matches the given predicate if allowDupes is true
* All methods that add/remove/replace TempModifiers now have more advanced options for handling duplicates:
- This replaces the old "allowDupes" parameter
- ALLOW: Allows duplicates of this TempModifier to exist on the entity
- BY_CLASS: Adding/replacing a TempModifier fails if one of the same class is already present
- EXACT: Adding/replacing a TempModifier fails if there is an instance of the same class and matching NBT present
! The old methods with the "allowDupes" parameter are still present, but are now deprecated and marked for removal in a future version
- Replaced TempModifierEvent.Calculate.Pre and Post with more useful events:
- Override: Fires before the TempModifier is calculated, and allows the incoming temperature to be changed
- If the event is canceled, the TempModifier's output will be overridden with the event's temperature until it is calculated again
- Otherwise, the event's temperature is passed into the TempModifier for calculation
- Modify: Fires after the TempModifier is calculated, and allows the resulting function to be modified
- The event is not cancelable
* Some config settings now require a RegistryAccess when saving, loading, or getting (see ConfigSettings.java)
* Added an automatic config updater, which will change existing config settings when updating to new versions
- This prevents outdated config settings causing new features to not work as intended
- This system will be used very sparingly, and only triggers once