A bufferzone for freshness to have it count as fully fresh for some time
Posted: Thu Sep 17, 2026 3:33 pm
TL;DR
A bufferzone to freshness that allows for some buffering of agricultural science and in it's production chain.What?
A buffer zone of 20% (size subject to change in event of implentation) that if the item is still in there it is treated as fully fresh.Only when freshness falls below 80% does the progress become inheritable in crafting and affecting science packs' science content. I see three main ways it could be implemented
1. One variable system
Freshness is kept as a single variable.
For calculating freshness of crafting result the freshness percentages of inputs are multiplied by 1.25 (based on buffer size), values clamped to be between 0% and 100%, averaged, and used as freshness for the result of the reciepie
For freshness of stacks the current method is used.
For science amount in science pack freshness would be multiplied by 1.25 and clamped to between 0% and 100%
This approach would allow simpler computing but also increasing freshness via crafting/recycling, whether that's good or bad is up for debate.
2. Two variable system
Freshness is split into 2 variables.
Buffer: Worth 20% of freshness time, refreshed fully when crafting, decays first
Main: Worth 80% of freshness time, affects science in science packs, is inheritable through crafting, decays only when Buffer is empty
For calculating freshness of crafting result the Main part would use the current method while Buffer would just be set to it's maximum.
For freshness of stacks the current method is used separately for both parts
For science amount in science pack only Main would be used for calculation
This approach would cause freshness loss past buffer to not be recoverable by using the item in crafting but add an additional value to be kept track of in memory, would also allow buffer size to be item specific easier
3. Science only
When determining science amount in science pack freshness is multiplied by 1.25 before being clamped between 0% and 100%
Simplest solution, possibly so simple it'll feel like a quick and sloppy slap-patch job but it'll work