RimWorld

RimWorld

984 ratings
Smart Farming Continued
5
4
2
3
   
Award
Favorite
Favorited
Unfavorite
Mod, 1.3, 1.4, 1.5, 1.6
File Size
Posted
Updated
5.076 MB
Apr 12, 2024 @ 6:52am
Jul 27 @ 6:07pm
6 Change Notes ( view )

Subscribe to download
Smart Farming Continued

Description
Original Mod: https://steamcommunity.com/sharedfiles/filedetails/?id=2619652663
Note: You must unsubscribe from the original mod, I use the same packageId to keep compatability going!



Original Description

This is a quality of life mod which provides a number of extra tools and information for your grow zones.

Features
    Smart sow: When enabled, pawns will not bother sowing plants if there's no chance of the plant reaching its minimum growth (typically 65%) before it is expected to die from the cold or toxin. This is especially helpful for users of Seeds Please to avoid wasting seeds.It may also allow plants to be sown a couple days earlier than normal by giving a more accurate read on the weather.
  • Zone prioritization: You can assign per-zone priority levels to mark some fields as being more urgent than others.
  • No petty jobs: When enabled, this prevents pawns from re-sowing a zone if the number of empty tiles is below a configured threshold. This can be useful for livestock grazing zones, so pawns don't come racing over to replant a blade of grass a cow just ate.
  • Align plants: If plants need the cells around them clear (like trees), you can toggle alignment mode and pawns will plant in clean rows, as opposed to scattered about randomly.
  • Merge zones: Allow separated grow zones to link together, even if physically separated.
  • Force sow: Allows pawns to sow a grow zone regardless of weather conditions. This can be useful if you are sowing plants which will not die from the cold, such as trees, or to try and start the grow season a few days earlier.
  • Harvest if dying: If any plant dies from the cold, all plants of that type will be marked for harvest to try and collect before any more die off.
  • Cut if blighted: Any plant infected with blight will automatically be marked for removal.
  • Disallow harvest: If for some reason you don't want pawns to harvest a field, you can forbid a zone.
  • Harvest early: A Harvest now gizmo has been added as a shortcut to mark this zone for immediate harvesting, in case you don't want to wait for 100% growth for whatever reason.
  • Food estimates: An estimate is given on how much nutrition a zone may potentially supply, including its days' worth of food given the current colony population.
FAQ
Q. How does smart sow do its prediction exactly?
A. It fetches the grow zone's plant's def and calculates how many ticks it has left to grow. Then it internally simulates its growth over that duration and forecasts the weather along each step. If the plant is predicted to survive to its minimum harvest day, sowing is allowing.
Q. How does food estimation work?
A. All pawns and prisoners in the colony (does not include away pawns) have their hunger rate (nutrition eaten per day) cached periodically. This factors everything from race stats, implant buffs, traits, etc. Added all together, this value is compared with the estimated zone yield if it were processed into meals (you can configure this in the options).
Q. Performance impact?
A. Most of the code just runs 1 tick out of every 2500 (hourly) to update the cache. The rest involves the workscanner and has a negligible impact as it just uses that cache data.
Q. Zone priority is not working for harvest?
A. It is, but it can be misleading. When a job package is assigned to them, it includes multiple plants. If there was not enough plants in one priority to fill their package, they'll include some from the next priority down. They then work on their job package, starting with the closest plant.
Q. What about grow zones within indoor greenhouses?
A. Most of the functionality of this mod skips any plants that have a roof over it.
Compatibility
  • Can be added or removed to games at any point.
  • Growth prediction is not aware of the 24h growth feature from the mod Static Quality Plus.
  • No Sow mode is ignored if using Farming Hysteresis's toggle.
Credits
  • German translation by Dimos
Popular Discussions View All (7)
6
Aug 6 @ 2:26am
[Bug] Cannot Grow - Temperature range (Smart sowing setting) 0 Growth
Dracon
7
Jul 22 @ 7:25pm
Bug report
Zlygork
3
Oct 20 @ 2:44am
Feature request: Sowing stop based on storage
Eiden
190 Comments
Veronica Heinkel Nov 12 @ 1:19pm 
Got issue that pawns not sowing merged zone which is not adjacent.
Babaloo321 Nov 7 @ 11:35am 
Also, the Smart Sow setting doesn't show up on Aquatic Growing Zones, Sand Growing Zones, and Flower Garden Zones from Vanilla Plants Expanded - More Plants . Can you make a patch?
Babaloo321 Nov 7 @ 9:07am 
Can you add an option to disable Zone Prioritization? Although it does the same thing as Growing Zone Priorities , that mod does it it a bit better IMHO. It allows you to set the option for plants pots as well as for hydroponics (idk if your mod has the option for hydroponics, I haven't researched them yet). If not, maybe you could add the option to plant pots, and hydroponics?
Guezzy Nov 1 @ 10:33am 
Hello, could you provide a github ?
MStarrBrannigan Oct 28 @ 11:26pm 
Having the same issues as others with pawns planting when the plants will die before growing. Didn't dig far in the comments, but also have run into issues when merging zones, not sure if that's a widespread problem or some mod conflict.
CircleCube Oct 15 @ 5:24am 
Same issue as some other people (e.g. @purpleglade @mann @purpleglade) here. I´m in a absolute standard temperate forest. They stop planting in early/mid autumn (as supposed to), but start planting in early winter again, so crops die in the next night. Tried to play around with the temperature threshold, but didn´t work. May uninstall, as is makes things more complicated than vanilla. If there is a solution, will be glad to try again. Thanks for your work!! :)
Overlord59 Oct 14 @ 3:25am 
It looks like the error seen below is due to a problem with the transpiler patch not always working (after adding some debugging I can see that whenever the patch is called it always correctly returns the expected value out of season, so I'm assuming sometimes it just isn't called for some reason when a pawn tries to sow). I am completely unfamiliar with transpilers so I couldn't fix that, but I was able to fix the old patch method to only apply when the sowing job is called (using a very hacky method I will admit, just to test it) and everything started working as expected so it seems to confirm my assumptions that something is going wrong with the transpiler.

Happy to share what I did to fix it if needed, just not sure how best to do so as I can't find a repository I can fork to show those changes.
MosaPudica Oct 4 @ 7:43pm 
- Boreal Tundra
- Southern hemisphere
- Temp is 1C (down to -15C or -20C at night)
- Min Temp Allowance setting is +5C (tried -3C to +5C)
- Fields are set to "smart"
- Growing period Sep6 to Apr6
- Says "Growing period is here now" (that's not true for Jul12)
- Says "Plants will likely die before harvest" (yes, that's true)

As soon as the outside temp gets above 0C, they rush out and start sowing. Even though it's outside the growing season and nighttime temps will be below -10C. They did stop trying to sow plants during the deep winter when it never got above 0C during the day.
purpleglade Sep 29 @ 11:45pm 
I am having the same issue as @mann can outsmart bullet. They just keep planting despite the season.
GrobmotoriGER Sep 25 @ 6:43am 
When entering an odyssey stockpile I get an error that seems to be related to smart farming:

Attempted to access a tile with ID -1, but it is out of range (count: 295732)
UnityEngine.StackTraceUtility:ExtractStackTrace ()
(wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition:Verse.Log.Error_Patch1 (string)
RimWorld.Planet.PlanetLayer:GetTileCenter (int)
RimWorld.Planet.PlanetLayer:DistanceFromEquatorNormalized (int)
RimWorld.Planet.PlanetLayer:DistanceFromEquatorNormalized (RimWorld.Planet.PlanetTile)
RimWorld.Planet.WorldGrid:DistanceFromEquatorNormalized (RimWorld.Planet.PlanetTile)
SmartFarming.MapComponent_SmartFarming:FinalizeInit () (at O:/SteamLibrary/steamapps/common/RimWorld/Mods/owls-smart-farming-master/Source/MapComponent_SmartFarming.cs:51)
Verse.MapComponentUtility:FinalizeInit (Verse.Map)
...