[1.5] Replimat 1.5.3 (27 Apr 2024) - Distributed food replicator system

Started by sumghai, April 17, 2019, 05:38:34 PM

Previous topic - Next topic

sumghai



Replimat adds a Star Trek-style distributed food replicator system, capable of efficiently feeding colonists with high quality meals. No cooks or stoves required!

Developed in collaboration with Dubwise.


  • Feed colonists, patients and prisoners without stockpiling cooked meals - pawns automatically choose random meals when hungry
  • Feed pets and other colony animals with replicated Kibble, Hay or Synthmeat
  • Batch replicate Packaged Survival Meals for caravans
  • Convert and store any raw food into an universal nutrient feedstock resource
  • Uses the base game's food restriction system - customize meals, ingredients and condiments allowed for each pawn
  • Buildings connected via standard powernet - no special plumbing or conduits needed
  • Random (rare) Replimat malfunction incidents - can be disabled in Mod Settings
  • "Ate replicated food" thought and mood debuff for pawns with Gourmand trait
  • HD Quality textures for Camera+









  • Complete the Molecular Nutrient Resequencing research project
  • Obtain a Isolinear Computing Module from Exotic Goods Traders or Item Stash Quest rewards
  • Build a Replimat Computer, which controls all other Replimat subsystems
  • Build Replimat Feedstock Tanks
  • Build Replimat Hoppers, and supply it with any raw food
  • Build Replimat Terminals in mess halls, near patient beds and/or prison cells
  • Build Replimat Animal Feeders in barns or near animal beds


  • Hoppers convert raw food to feedstock by mass, and since raw food items in RimWorld are individually only 0.01~0.03 kg, an impressive 2k stockpile of raw meat will give less than 60 L of feedstock (assuming a conversion rate of 1.07 kg/L, equivalent to the real-life Abbott's Ensure Nutritional Shake)
  • Cadaver Processors convert humanoid corpses to feedstock by mass, and accounts for missing body parts as well as body sizes (e.g. Ratkins corpses yield less feedstock than humans)
  • Visitors currently cannot use the Terminals, due to ThinkTree issues
  • Feedstock tank capacities are very high, most colonies are not expected to completely fill a tank; this is a deliberate design decision, as a tall tank with a size of a 1x1 cell would in real life be equivalent to your average 250L hot water tank
  • Feedstock tank contents do not count towards the Low Food Warning storage thresholds, so it is recommended that you batch replicate enough Packaged Survival Meals beforehand
  • Meal ingredients are randomly chosen based on their original recipes
  • Replimat systems will heavily spike your colony wealth, and attract more raiders. You have been warned.


  • English
  • Czech
  • Brazilian Portuguese
  • German
  • Japanese
  • Korean
  • Russian
  • Simplified Chinese
  • Traditional Chinese
  • Ukrainian






  • none


  • Anaeka (Russian translation)
  • isty2e (Korean translation)
  • Kandahara of rimworld.2game.info (initial Japanese translation)
  • Ralph Shepard (Czech translation - project details
  • Randy Ragequit (German translation)
  • simplyWiri - Miscellaneous code tweaks


Version 1.5.3 - 27 Apr 2024
---------------------
- Updated for 1.5.4069
- Disallowed hoppers from recycling plant matter (dyes, hops, smokeleaf etc.) by default (can be manually re-allowed)

Version 1.5.2 - 19 Apr 2024
---------------------
- Updated for 1.5.4069
- Added compatibility for Anomaly DLC
  - Unnatural corpses can be recycled by Cadaver Processor (disallowed by default)
  - Fixed Cadaver Processor storage settings bug caused by edge case interaction between Anomaly and Humanoid Alien Races

Version 1.5.1 - 6 Apr 2024
---------------------
- Updated for 1.5.4055
- Fixed bug in meal ingredient generation for Ideology DLC, where cannibal or insect meat precepts were adding meats to vegetarian meals

Version 1.5.0 - 16 Mar 2024
---------------------
- Updated for 1.5.4034
- Tweaked Replimat building cover effectiveness and shadows
- Disallowed hoppers from recycling meals by default (can be manually re-allowed)
- Removed hopper refill threshold settings to avoid conflicts with third-party SatisfiedStorage mod
- Reduced HD texture resolution by 50%

Version 1.4.9 - 26 Nov 2023
---------------------
- Updated for 1.4.3901
- Updated compatibility patches and functions
  - Hid Vanilla Nutrient Paste Expanded gizmos from Terminals (special thanks to KylianB/Kikohi of Vanilla Expanded)

Version 1.4.8 - 2 September 2023
---------------------
- Updated for 1.4.3704
- Updated compatibility patches and functions
  - Patched meals from Glittertech Rations to be batch-replicable via the gizmo on the Terminal
  - Fixed bug in Dubs Bad Hygiene compatibility causing load errors in Linux

Version 1.4.7 - 17 June 2023
---------------------
- Updated for 1.4.3704
- Fixed bug in meal ingredient generation for Ideology DLC, where pawns who have been correctly restricted to only eating precept-allowed ingredients were getting meals without the desired ingredients
- Updated compatibility patches and functions
  - Patched meals from Ambition of the Cosmic to be non-replicable by default, but batch-replicable via the gizmo

Version 1.4.6 - 18 March 2023
---------------------
- Updated for 1.4.3641
- Increased market value and equivalent colony wealth of all Replimat buildings
  - Having a Replimat system in your colony will now (by design) drastically increase raid sizes
- Increased work to build for all Replimat buildings
- Fixed Ideology DLC cannibal meme causing mood debuffs from pawns using Cadaver Reprocessors
- Disabled faction base or caravan traders from buying or selling Replimat buildings
- Updated compatibility patches and functions
  - Patched Hoppers to accept Fertile Fields [1.1] Raw Compost and Rotten Mush
  - Patched Hemofungus meals to be replicable by Terminals

Version 1.4.5 - 9 December 2022
---------------------
- Updated for 1.4.3563
- Fixed error when animals are selected for caravans

Version 1.4.4 - 26 November 2022
---------------------
- Updated for 1.4.3558
- Added additional defensive logic to skip checking food with missing `ingestible` XML nodes

Version 1.4.3 - 22 Nov 2022
---------------------
- Updated for 1.4.3555
- Fixed pawns not using Replimat Terminals due to renamed base game methods
- Tweaked insect meat diet precept ingredient replacement logic to cover animal products and eggs as well as raw meat

Note: All future updates will be exclusively for RimWorld 1.4 onwards. The 1.3 version is only included to help players migrate their saves.

Version 1.4.2 - 8 Nov 2022
---------------------
- Updated for 1.4.3541
- Added "ate replicated food" thought memory and mood debuff if a pawn with the Gourmand trait eats a replicated meal
  - Affected traits are automatically patched with an additional description regarding this new debuff
- Added check to disable Replimat tab in Architect menu if Molecular Nutrient Resequencing research is not unlocked
- Added inspector text to indicate if a meal was replicated at a Replimat Terminal
- Added compatibility for Biotech DLC
  - Fixed pawns being stuck at Replimat Terminals while trying to fetch baby food
  - Fixed non-infants being able to request baby food as a meal item
- Fixed replicated meals allowing food poisoning
- Tweaked Molecular Nutrient Resequencing position in research tree
- Updated compatibility patches and functions
  - Patched Gastronomist and Refined Palate traits from Vanilla Traits Expanded to also trigger "ate replicated food" thought memory and mood debuff
- Updated translations
  - Added Brazilian Portuguese translation

Note: All future updates will be exclusively for RimWorld 1.4 onwards. The 1.3 version is only included to help players migrate their saves.

Version 1.4.1 - 15 Oct 2022
---------------------
- Updated for 1.4.3517
- Fixed bug introduced by current unstable build where the Animal Feeder breaks Debug Menu rendering

Note: All future updates will be exclusively for RimWorld 1.4 onwards. The 1.3 version is only included to help players migrate their saves.

Version 1.4.0 - 11 Oct 2022
---------------------
- Updated for 1.4.3510
- Added storage group support for Animal Feeders and Hoppers
  - Animal Feeders can only be grouped with other Animal Feeders
  - Hoppers can only be grouped with other (Replimat) Hoppers
  - The Switch animal feed Gizmo in Animal Feeders will now automatically synchronize across Feeders in the same storage group
- Changed Terminal and Hopper sounds to use AudioGrain_Clip instead of AudioGrain_Folder
- Updated translations
  - Added Ukrainian translation

Note: All future updates will be exclusively for RimWorld 1.4 onwards. The 1.3 version is only included to help players migrate their saves.

Version 1.3.5 - 30 July 2022
---------------------
- Updated for 1.3.3389
- Moved Molecular Nutrient Resequencing research project to main research tab
- Fixed ingredients inside Replimat Hoppers deteriorating and affecting beauty
- Rewrote description for Molecular Nutrient Resequencing research project
- Rebalanced spawn chance and quantity of Isolinear Computing Modules in quest rewards, exotic goods caravan and orbital traders
- Removed unused trade tags for Isolinear Computing Modules
- Updated translations
  -  Changed translation for Molecular Nutrient Resequencing research project description for all supported languages

Version 1.3.4 - 5 June 2022
---------------------
- Updated for 1.3.3326
- Fixed error preventing ingredient generation in meals from Replimat Terminals if no matching recipes are found

Version 1.3.3 - 29 May 2022
---------------------
- Updated for 1.3.3326
- Fixed NullReferenceException error preventing pawns from using Replimat Terminals when trying to feed wounded and resting animals
- Updated translations
  - Fixed incorrect BOF marker preventing translations for Synthmeat label and description from being applied properly
  - Fixed missing and incorrect references in Czech translations
  - Moved translations for Replimat Sewage Recycler to Dubs Bad Hygiene compatibility folder
  - Remove redundant translations for building blueprints and frames

Version 1.3.2 - 21 May 2022
---------------------
- Updated for 1.3.3326
- Updated compatibility patches and functions
  - Fixed an issue where the Vanilla Cooking Expanded patch was referencing content from Vanilla Plants Expanded
  - Fixed NullReferenceException error preventing pawns from using Replimat Terminals when Alpha Animals or Vanilla Genetics Expanded mods are active
- Updated translations
  - Annotated comments for Czech translations

Version 1.3.1 - 15 May 2022
---------------------
- Updated for 1.3.3326
- Added dropdown menu in Batch Make Packaged Survival Meal feature for Replimat Terminal to allow players to pick a specific survival meal type for batch replication
  - Default and only type is regular Packaged Survival Meal
  - Third-party modders can add their own survival meal types to the list via XPath Patch Operations
  (see the wiki on the Replimat GitHub for details)
- Changed default storage settings for Replimat Hoppers to allow all food types to be recycled into feedstock
- Fixed an issue where replicated meals contained meat from the pawn's ideology's venerated animal
- Fixed NullReferenceException error for Replimat Terminals when used by pawns with no food restrictions (e.g. animals with humanlike thinktrees)
- Removed minimum nutrition and reduced preferability limits on replicated meals
  - Replimat Terminals can now also replicate chocolate and low-nutrition foods/meals from third-party mods
- Updated compatibility patches and functions
  - Fixed a compatibility issue with Humanoid Alien Races (HAR) and Miscellaneous MAI, which caused Replimat Cadaver Reprocessors to not spawn when constructed due to a NullReferenceException
  - Improved logic for filtering out non-HAR robot / hologram races with no flesh from Replimat Cadaver Reprocessors

Version 1.3.0 - 5 March 2022
---------------------
- Updated for 1.3.3287
- Added feature to allow/prohibit specific raw food / condiments as ingredients in replicated meals via the base game food restriction UI
- Added the following buildings:
  - Replimat Sewage Recycler: converts sewage from Dubs Bad Hygiene directly into nutrient feedstock to be stored in tanks, and clean water for water towers (not available in Lite Mode)
- Fixed cannibals having mood debuffs from loading corpses into Replimat Cadaver Reprocessors
- Miscellaneous code tweaks (courtesy of @simplyWiri)
- Overhauled textures for several buildings
- Removed recipe for obtaining Isolinear Computing Modules via disassembling AI persona cores
- Removed support for 1.2
- Updated compatibility patches and functions
  - Fix a bug caused by the bone resource from Kobolds of the Rim that prevented players from building Replimat Cadaver Reprocessors
- Updated translations
  - Added German translation (courtesy of @RandyRagequit)
  - Add translations for new Replimat Sewage Recycler to all supported languages

Version 1.2.15 - 31 January 2022
---------------------
- Updated for 1.3.3200
- Restricted Synthmeat tradeability to sellable only
- Updated compatibility patches and functions
  - Blacklisted mutagenic ingredients from Pawnmorpher (including mutagenic salts and cheeses for Vanilla Cooking Expanded)

Version 1.2.14 - 5 December 2021
---------------------
- Updated for 1.3.3200
- Fixed compatibility with Animals Logic by adding null check for pawn ideology during meal ingredient generation

Version 1.2.13 - 27 November 2021
---------------------
- Updated for 1.3.3159
- Fixed replicated meals having more than one condiment from Vanilla Cooking Expanded

Version 1.2.12 - 20 November 2021
---------------------
- Updated for 1.3.3159
- Added backwards-compatibility fix for meal and ingredient blacklists in RimWorld 1.2

Version 1.2.11 - 13 November 2021
---------------------
- Updated for 1.3.3159
- Meals produced at Replimat Terminals now contain ingredients
  - Number and type of ingredients are based on each meal's associated recipes
- Added XML-configurable ingredient blacklist to prevent specific ingredients from ever being used in meals
- Added XML-configurable meal blacklist to prevent specific meals from ever being replicated
- Add Ideology DLC support
  - Meal ingredients will usually be replaced with those prescribed by diet precepts (e.g. cannibalism, insect meat fungus), as long as it is appropriate to the meal's original recipe
- Updated compatibility patches and functions
  - Added improved support for Vanilla Cooking Expanded (including Sushi and Stew modules)
    - Ingredients for cooked soups and stews are automatically extracted from recipes for their uncooked precursors 
    - Replicated meals will include condiments if allowed by their original recipes
    - Ruined grills will never be replicated
    - Canned ingredients and resurrector nanite condiment will never be used in replicated meals

Version 1.2.10 - 24 October 2021
---------------------
- Updated for 1.3.3159
- Added an animal food type switcher to the Replimat Animal Feeder
  - Players can now set feeders to provide kibble (default), hay or a new Synthmeat item for carnivorous animals
- Changed Replimat Animal Feeder storage priority to Critical
- Overhauled Batch Make Packaged Survival Meal feature for Replimat Terminal
  - Players can now replicate as many survival meals as they want per batch
  - UI redesigned with numeric entry field and increment/decrement buttons
- Updated translations
  - Changed translation for new Batch Make Packaged Survival Meal feature for all supported languages

Version 1.2.9 - 2 October 2021
---------------------
- Updated for 1.3.3117
- Fixed raw food cooling in Replimat Hoppers
- Updated translations
  - Added Czech translation

Version 1.2.8 - 15 August 2021
---------------------
- Updated for 1.3.3087
- Fixed compatibility issue with Save Our Ship 2's Holograms

--Changelog for older versions removed due to post text limits--






This mod is licensed under Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0), which in layman's terms means:
  • You are permitted to use, copy, redistribute our work as-is
  • You may remix your own derivatives (new or alternative textures, defs, plugin code), and release them under your own name
  • You must credit sumghai and and Dubwise (authors) when publishing your derivatives in the download and forum posts

Mehni

Been looking forward to this one. Congrats to you and Dubwise on the release.

PreDiabetic

Basically paste dispenser but stronger? I'm sold, gonna add to mod list immediately. But I wonder if "food poisoning" still a thing?

AllisonIsLivid

Feel a little bad putting my expert chefs out of work, but fuck it, I have better things for them to be doing. Like sweeping.
Living in the past, I think if I remember that I'll forget this. I know you will.

Krantz86

it seems that the food->feedstock ratio is quite skewed, 2 elephants worth of meat got me less than 30 liters

sumghai

Quote from: Mehni on April 18, 2019, 04:05:24 AM
Been looking forward to this one. Congrats to you and Dubwise on the release.

Thanks Mehni - Dubs did much of the heavy lifting code-wise, but I managed to implement a few small features myself, such as the batch Survival Meal making.

Quote from: PreDiabetic on April 18, 2019, 06:45:43 AM
Basically paste dispenser but stronger? I'm sold, gonna add to mod list immediately. But I wonder if "food poisoning" still a thing?

Yes, this essentially is a better version of the vanilla nutrient paste dispenser - besides replicating higher quality meals, you have more flexibility in where you install each subsystem (e.g. Terminals in eating areas, tanks and computers hidden away in a utilities room, hoppers closer to growing zones). Of course, this mod's full potential is realized when you install additional food mods like VGP Garden Gourmet and Spoon's GouRIMet, adding meal variety for pawns without having to manage dozens of extra work bills.

As for food poisoning, I believe that this pretty much sidesteps it because the Terminals don't rely on room cleaniness or colonist cooking skill.

Quote from: AllisonIsLivid on April 18, 2019, 10:53:32 AM
Feel a little bad putting my expert chefs out of work, but fuck it, I have better things for them to be doing. Like sweeping.

I originally devised this mod because I was managing a very large colony, and having lots of livestock (chickens, cows and pigs) to provide varied meat sources was severely impacting game performance.

Quote from: Krantz86 on April 18, 2019, 05:37:17 PM
it seems that the food->feedstock ratio is quite skewed, 2 elephants worth of meat got me less than 30 liters

The food-to-feedstock conversion ratio is based on the mass of the raw food being converted, as well as a hardcoded density equivalent to the real-life Abbott's Ensure Nutritional Shake (the liquid food fed to detainees who engaged in hunger strikes at Guantanamo Bay).

Smexy_Vampire


sumghai

Quote from: Smexy_Vampire on April 18, 2019, 09:26:08 PM
startack food despencers D: and there wireless kinda :D
Yes, this mod was inspired by Star Trek food replicators - more specifically, it was named after the self-service eatery featured on Deep Space Nine.

No, the Replimat subsystems are not wireless. They rely on wired connections to the vanilla power network to transmit the nutrient feedstock between hoppers, tanks and terminals.

sumghai

Replimat has been updated for RimWorld 1.0.2231 - see first post for download link.


Version 1.0.1 - 22 Apr 2019
---------------------
- Fix compatibility issues for the following third-party mods:
     - Alpha Animals
     - Genetic Rim
     - No Water, No Life
- Fix Hoppers not processing non-ingestible ingredients from the Vegetable Garden Project mod
- Fix bug preventing taming and training of animals by colonists
- Add Japanese Translation (courtesy of Kandahara of rimworld.2game.info)
- Fix missing Traditional Chinese Translations
- Fix shadows and damage overlays for all buildings
- Reduce number of Advanced Components required to craft buildings to more sensible values


Canute

Quote from: ThiiSoul on April 22, 2019, 02:22:20 AM
Version problem :( with Rimworld 10
You should be more clear or do you realy post from the future and play Rimwold 10 ?
I use 1.0.2159 and don't got any problems with this mod.


sumghai,
i used a few times the mod before at the WIP phase. But i never made it to research it before i started a new colony.
But this time i forced myself to research it at first.
That you need the isolinear chip is a hugh bottleneck at the system.
What do you think to split up the research into parts.
Simple meals synthesis
Fine meals synthesis
Animal feed synthesis
Star fleet standard synthesis.

So you can build a lower tech computer without isolinear chip early to create simple/fine meals maybe with another drawback like 25% higher material need.
Or maybe just a lowtech termial with direct NPD hopper behind to feed it.


sumghai

The Replimat system is supposed to be very advanced spacer technology, for the endgame where players choose to permanently maintain a colony instead of flying off with a spaceship. Making the Computer dependent on a single uncraftable exotic item offsets the fact that the complete system is actually quite OP.

A system to progressively unlock meal quality does not fit the overall vision of this mod.

Canute

Yep i understood, thats why i suggest a step between NPC and replimat at last.
Noone develop such an advance system from nothing.

sumghai

Replimat has been updated for RimWorld 1.0.2231 - see first post for download link.


Version 1.0.2 - 24 April 2019
---------------------
- Add option to allow/forbid individual Terminals, Animal Feeders and Hoppers
- Fix compatibility issues for the following third-party mods:
    - Pawn Rules
- Fix prisoner meal restrictions
- Fix incorrect meal name string in Inspect pane

sumghai

Replimat has been updated for RimWorld 1.0.2231 - see first post for download link.


Version 1.0.3 - 25 April 2019
---------------------
- Reduce mass of Terminals, Feedstock Tanks, Hoppers and Computers to more sensible values
    - Each item is now light enough to be individually transported by drop pods between settlements
- Fix Computer not immediately displaying total stored feedstock when game is loaded and paused
[code]