RimWorld

RimWorld

RimFridge: Now with Shelves!
Showing 1-10 of 14 entries
< 1  2 >
Update: Jun 28 @ 11:52am

Version 2.0.0 of this mod. Released on 2025-06-28, at 19:51:56.

New in version 2.0.0
Features
  • The maximum stack-size for items within a fridge can now be changed on a per-fridge basis.
    Additionally, the default maximum stack-size can be altered in the mod options.
  • Animals can be permitted-to or forbidden-from accessing items in a fridge on a per-fridge basis.
  • When placing a wall-fridge, the cells that should be inside the adjacent rooms are now highlighted.
  • To mimic the vanilla game's notion of propriety regarding the usage of items, by colonists, that are stored within prison-cells, colonists are now dissuaded from accessing items in wall-fridges via the prison-cell side—if the wall-fridge happens to be split between a prison-cell and a non-prison-cell.
    RimWorld 1.6's new `IPathFindCostProvider` functionality is used to implement this performantly. (This can be tweaked, or disabled outright, in the mod options).
  • The light of a fridge can now be disabled.
  • There is now an option for reverting the graphical display of item-stacks to the vanilla game's method.
Optimisations
  • The logic used for displaying items in a fridge in neat vertical stacks no longer duplicates the work done by `GenThing.ItemCenterAt` via a Harmony postfix patch, and instead reuses the already-done work via a lightweight check added by a Harmony transpiler (with the current postfix patch as a fallback).
    Additionally, items within a fridge are now drawn at a fixed-altitude—an invariant which can be exploited for more efficient label drawing.
  • The logic used for displaying stack-count-labels for items in a fridge at an offset that matches their depth in the stack no longer mimics the work done by `GenThing.ItemCenterAt` via a Harmony postfix patch, and instead derives the appropriate vertical-offset from the altitude of the item's draw-position, which is already calculated by `GenMapUI.LabelDrawPosFor`—this is effected by a Harmony transpiler (with a less-intrusive transpiler-and-postfix combo for a fallback, which itself has the current postfix patch as a fallback).
  • The logic used to ensure that prisoners can get food from wall-fridges no longer entails enumerating potentially-every thing in the prison-cell—instead a lightweight check is patched into the `SocialProperness.IsSociallyProper` method via a Harmony transpiler (with a postfix patch as a fallback).
  • Fridges now cache their parent-room/adjacent-rooms.
  • The slower "Touch" form of reachability is no longer used unnecessarily for non-wall-fridges.
  • The logic used to check if an item can be turned into a frosty beverage has been further optimised.
  • The fridge-cache has been further optimised:
    • It is no longer queried via a map-component, but instead via a dictionary.
    • Unnecessary null-checks and indirection have been removed.
    • Multiple caches are maintained to avoid the cost of type-conversion and to make it faster to enumerate the fridges of a map.
  • Items for trading via fridges acting as Orbital Trade Beacons are now gathered slightly more efficiently.
  • Various micro-optimisations have been made throughout various hot-paths.
Tweaks
  • The logic for fridges' heat transfer has been both optimised and made more reliable, especially for wall-fridges: which now distribute their output heat equally amongst all their adjacent rooms (and the case of a fully-enclosed and roofed wall-fridge is also handled).
  • Wall-fridges are now more wall-like. (Their shadows are now the same height as walls'; they require medium terrain affordance).
  • Wall-fridges no longer block light. (The doors are glass, innit?).
  • All manufactured items may now be stored in a fridge, instead of just drugs and medicine.
  • Fridges now default to a rotation of south.
  • Sounds are now played when changing the target temperature of a fridge.
  • Not-ever-storable items no longer appear in the storage-filter of a fridge's storage-settings' UI.
  • Some options in the mod options now have explanatory tooltips.
Fixes
  • Animals can now access items in wall-fridges.
  • Colonists and prisoners can now reliably access items in wall-fridges that are split between a prison-cell and a non-prison-cell.
  • Corpses in wall-fridges will no longer be resurrected as shamblers so long as all the wall-fridge's adjacent rooms satisfy the rules for preventing resurrection as shamblers: that is, that the rooms are roofed.
  • Weather effects will no appear on wall-fridges as though they were not walls.
  • When fridges are to act as Orbital Trade Beacons they now obey the same rules as Orbital Trade Beacons do for whether items are tradeable or not.
  • When fridges are to act as Orbital Trade Beacons, if a colony has only fridges and no Orbital Trade Beacons it is now possible to establish communications with a passing-ship so long as at-least one of the fridges are powered.
  • An error which could potentially occur when attempting to make a beverage frosty can no longer occur.
  • The path-end-mode of "None" is no longer clobbered by this mod's Harmony patches for reachability.
  • Some missing translations for Hungarian, Polish, and Portuguese were added.
Technical
  • There is now an `ICompRefrigeratorParent` interface that can be implemented by `Building_Storage` derivations for cooperation between `CompRefrigerator` instances and their parent buildings.

Update: Jun 14 @ 12:52pm

Version 1.3.1 of this mod. Released on 2025-06-14, at 20:52:43.


New in version 1.3.1.
  • Fixes and optimisations introduced in v1.3.0 for version 1.6 of RimWorld have been backported for version 1.5 of RimWorld.
  • An error that could occur when a RimFridge was minified or held by something has been fixed.

Update: Jun 12 @ 7:43am

Version 1.3.0 of this mod. Released on 2025-06-12, at 15:43:50.

RimFridge: Now with Shelves! is now compatible with v1.6 of RimWorld. v1.5 and v1.4 are still supported.

New in version 1.3.0.
  • Support for version 1.6 of RimWorld.
  • Enhanced localisation support and comprehensive translations for languages other than English, contributed by the GitHub user JiaRG.
  • Potentially a fix for RimFridges failing to be built by a colonist when certain mod combinations are active.
  • A sound is played when toggling the darklight glow for a RimFridge (ooh, fancy).
  • There is now a setting for disabling the frosty beverage functionality.
  • A number of performance optimisations:
    • Reflection is no longer used to register frosty beverages in the rare-tick-list.
    • Duplicate registrations will no longer be made for frosty beverages in the rare-tick-list if other mods have caused them be already registered.
    • The logic for checking if an item in a RimFridge is a beverage that may be frosty has been made very slightly faster (maybe).
    • The logic used for tracking the temperature of frosty beverages has been simplified (technically, not functionally) and optimised.
    • The checks used to ensure that prisoners can retrieve food from RimFridges in a prison cell have been reordered such that the cheaper checks are checked before the more expensive checks.
    • Fridge-caches associated with a map are now retrieved using the `Map#GetComponent` method, so that those retrievals can benefit from the caching provided by performance-optimising mods such as Performance-Fish.
    • Several classes have been made sealed, namely `ThingComp` subclasses, so that they can benefit from an optimisation introduced by version 1.6 of RimWorld that works best with sealed classes.

Update: Mar 14, 2024 @ 4:53pm

Version 1.2.0 of this mod. Released on 2024-03-14, at 23:52:59.

RimFridge: Now with Shelves! is now compatible with v1.5 of RimWorld. v1.4 is still supported.

Functional Changes
  • The mod is now compatible with v1.5.
  • A stray debug message that was logged when trading with a trade-ship was removed.

Technical Changes
  • The renaming of RimFridges is now handled via the "RimFridge_Building" class, rather than the "CompRefrigerator" class. Code is in place to migrate the names of renamed "CompRefrigerator"s to "RimFridge_Building"s.
  • "RimFridge_Building" now implements "Verse.IRenameable".
  • Errors caused by the failed application of one of this mod's Harmony patches will no longer prevent the unapplied Harmony patches from being applied.
  • The Harmony patch for "ReachabilityUtility.CanReach" now targets "Reachability.CanReach".
  • The Harmony patch for "Reachability.CanReach" was slightly optimised to avoid performing unnecessary computations when "peMode" is already "PathEndMode.Touch".

Update: Nov 11, 2023 @ 9:22am

Version 1.1.7 of this mod. Released on 2023-11-11, at 17:21:57.

The `InvalidCastException` that is thrown when interacting with a RimFridge in the Architect menu, when the "Relevant Stats In Description" mod is active, should now actually be fixed.

Update: Nov 10, 2023 @ 11:16am

Version 1.1.6 of this mod. Released on 2023-11-10, at 19:16:23.

The change in this update was contributed by MrMatsay—many thanks to them.
With certain mod combinations, an `InvalidCastException` could be thrown when interacting with a RimFridge in the Architect menu, this update should prevent those errors from occurring.

Update: Sep 16, 2023 @ 9:12am

Version 1.1.5 of this mod. Released on 2023-09-16, at 17:12:08.

The change in this update was contributed by SokyranTheDragon—many thanks to them.
The Harmony patch for the "ReachabilityUtility.CanReach" method should have less of a performance cost, and should be less likely to cause incompatibility with other mods and game updates. Of particular note is that it now handles multiple maps being in play correctly, and takes the "canBashFences" parameter into account.

Update: Dec 17, 2022 @ 2:05pm

Version 1.1.4 of this mod. Released on 2022-12-17, at 22:05:04.

With this update, "isHopper" is now defined as true in a RimFridge's building def. This means fridges will now be recognised as hoppers, without the need for Harmony patches.
On RimWorld versions older than 1.4.3580 the old Harmony patches for using fridges as hoppers for Nutrient Paste Dispensers are still in place. So versions older than 1.4.3580 will still work as before with this mod (though there will be an error on start-up relating to the "isHopper" property being unrecognised, those errors are harmless and can be safely ignored).

[Auto-generated text]: Update on 12/17/2022 10:05:04 PM.

Update: Dec 12, 2022 @ 10:45am

Version 1.1.3 of this mod. Released on 2022-12-12, at 18:45:48.

With this update, the "Power Factor Setting for RimFridge" research project should no longer be incorrectly visible when using ResearchPowl.

[Auto-generated text]: Update on 12/12/2022 6:45:48 PM.

Update: Dec 9, 2022 @ 4:20pm

Version 1.1.2 of this mod. Released on 2022-12-10, at 00:20:32.

This update makes the forced application of XML patches for other version of RimFridge, introduced in v1.1.0, a bit more judicious. Previously, a mod's patch was forced to applicate if it targeted "[KV] RimFridge" or "RimFridge Updated", but not "RimFridge: Now with Shelves!". Now, a mod's patch is forced to applicate if it targets "[KV] RimFridge" or "RimFridge Updated", and if the mod has no patches that target "RimFridge: Now with Shelves!". This makes it possible for a mod to patch "RimFridge: Now with Shelves!" separately from "[KV] RimFridge" or "RimFridge Updated", whilst still facilitating compatibility with mods that target only "[KV] RimFridge" or "RimFridge Updated".

[Auto-generated text]: Update on 12/10/2022 12:20:32 AM.