RimWorld
122 оценки
Categorized Cleaning - Combo
2
2
   
Награда
Добавяне към любими
В любими
Премахване от любими
Mod, 1.6
Размер на файла
Публикуван на
Обновен на
335.548 KB
10 юли в 3:34
12 юли в 6:16
2 бележки за промени ( преглед )

Абониране, за да се свали
Categorized Cleaning - Combo

Описание
Splits the cleaning filth work into three, in descending priority order:
  • Cleaning sterile rooms (kitchens, hospital and laboratories)
  • Cleaning indoors
  • Cleaning outdoors and in barns

There are already plenty of cleaning mods.
While there are certainly alternatives (for example: Cleaning Priority, Cleaning Area), they use player-configured areas. I wanted a more automated solution.

I want different rooms to be considered sterile.
Which rooms are considered sterile and which are considered outdoor rooms can be configured in settings.

Why two versions? What's the difference?
While it'd be possible to make the difference between the versions configurable in the settings insted, it'd require an approach more prone to causing issue with mod interoperability.
The combo version:
  • Splits the cleaning job into three, but puts them all under the same work type
  • Plug 'n play
  • Colonists will automatically prioritize cleaning by location
  • Will work with any other mods
The split version:
  • Splits the cleaning job into three, and puts them under separate work types
  • Requires configuring work priorities
  • Player can prioritize (or disallow) cleaning specific locations
  • May restrict modded cleaning robots to only cleaning outdoors depending on implementation

What's with the colorful squares in that screenshot?
It's a debug drawing mode that displays which category filth is sorted into. You can enable it with a dev command!

Non-steam version and old releases can be found here.
https://github.com/PeteTimesSix/CategorizedCleaning

If you want to express gratitude, support me or attempt to convert money into motivation, you can do so here: ko-fi.com/petetimessix

I've set up a Discord server[discord.gg], which is the preferred medium for discussion and bug reports.
23 коментара
Poindexter1985 21 окт. в 3:36 
I've been getting a similar error to what ましろ reported below. It happens when building (or maybe replacing?) walls. It only started after I had been playing this colony for some time, so I'm afraid I can't give clear steps to reproduce, as I don't know what conditions brought it on. My mod list is also huge, so no idea if something might be conflicting with it.

Log export can be found here: https://gist.github.com/HugsLibRecordKeeper/11f1711e4f599a8f990dbf102ecd1072

The exception stacktrace can be found here: https://pastebin.com/tFZ4C2mK
Yoann 11 окт. в 1:41 
Thank you a lot for your mod! It's the mod about improving cleaning that I was waiting since looooong time.
I added support for it in my mod Some more jobs :)
ましろ 23 авг. в 23:41 
Exception while rebuilding dirty regions: System.NullReferenceException: Object reference not set to an instance of an object [Ref 2109475E] at PeteTimesSix.CategorizedCleaning.HarmonyPatches.Room_Notify_RoomShapeChanged_Patches.Room_Notify_RoomShapeChanged_Prefix (Verse.Room __instance) [0x00000] in C:\RimworldProjects\CategorizedCleaning\CategorizedCleaningCombo\Source\HarmonyPatches\Room_Patches.cs:22 at Verse.Room.Notify_RoomShapeChanged () [0x00000] in <cb53cd4422904947932d33f561ad8d15>:0 - PREFIX PeteTimesSix.CategorizedCleaning: Void PeteTimesSix.CategorizedCleaning.HarmonyPatches.Room_Notify_RoomShapeChanged_Patches:Room_Notify_RoomShapeChanged_Prefix(Room __instance)
PhoenixLabella 24 юли в 9:26 
Yep, that was the problem. It is working fine now.
Thx a lot. :greedyHeart:
PhoenixLabella 17 юли в 21:37 
I will try, and thanks for the heads-up. :greedyHeart:
PeteTimesSix  [автор] 16 юли в 2:45 
@PhoenixLabella word on the discord is there's broken versions of Pick Up and Haul about that cause issues like that. Try removing it if you have it, see if that helps?
PhoenixLabella 15 юли в 13:29 
I ran into a problem where units stay idle while there is dirt and don't perform any other tasks. When I set the Clean priority to 1, they do the cleaning and other tasks; when I lower the priority, they go back to being idle as long as there's dirt.
My mod list is a bit long (~200), so I wouldn't know which one is causing the conflict, but unfortunately I had to remove this mod from the list.
Naturtok 15 юли в 1:18 
Makes sense! Just wanted to make sure I wasn't missing anything since they seemed similar. Def would be interested in seeing which process ends up being more performant. Either way, I like the way yours is handled more from a ux side of things
PeteTimesSix  [автор] 13 юли в 0:50 
@Naturtok
I guess I did miss some cleaning mods when checking the workshop after all :]
Looking at the source, it patches GetPriority on the vanilla CleanFilth WorkGiver, whereas my mod works by pre-filtering filth into categories and adding two new work givers.
The end result ends up being pretty similar, though Cleanie seems to be more configurable. Someone'd have to profile the two mods to know for sure which has a bigger performance impact.
Naturtok 12 юли в 23:21 
Is there any mechanical difference between this and Cleanie? Cleanie seems to do the same thing, but w/ cleanliness threshold sliders for each room instead of categories, but I have zero clue how mods work under the hood