
Plantation/Planter doesn't stop complaining
Godrelion opened this issue · 7 comments
Is there an existing issue for this?
- I have searched the existing issues.
Are you using the latest MineColonies Version?
- I am running the latest beta/release version of MineColonies for my Minecraft version.
I am also running the latest versions of other mods that are part of my problem.
Did you check on the Wiki? or ask on Discord?
- I checked the MineColonies Wiki and made sure my issue is not covered there. Or I was sent from discord to open an issue here.
What were you playing at the time? Were you able to reproduce it in both settings?
- Single Player
- Multi Player
Minecraft Version
1.21
MineColonies Version
1.1.1009-1.21.1
Structurize Version
1.1.1009-1.21.1
Related Mods and their Versions
ATM10 Modpack
Current Behavior
So I am playing with the Desert Oasis style pack and wanted to use the plantation to make some paper/books/sugar and noticed, that the planter kept complaining that he cannot work due to missing items. I checked the wiki on what he could need, but noticed he only really needs the sugar cane and the plantation field to work. He planted sugar cane himself on the given field, but still complains he cannot work due to missing items. He does not show me what he is missing, but now complains he couldn't work for weeks, even though he collects materials. Am I doing something wrong or is this straight up a bug? I hope the attached images work, never used github before. Can also dm me on discord: godrelion if further information is needed.
Expected Behavior
He works on the plantation and does not complain about missing items, therefore bringing down the happiness of the colony. (Idling workers)
Reproduction Steps
Desert Oasis plantation (I tried level 1 to 5, he complains on all) in a Windswept Desert biome. He has all 3 basegame plants to plant, yet he complains.
Logs
https://gist.github.com/Godrelion/5e1c7576a693b52abeb7e9851771a6a5
Anything else?
No response
Footer
Viewers
- Add a thumbs-up to the bug report if you are also affected. This helps the bug report become more visible to the team and doesn't clutter the comments.
- Add a comment if you have any insights or background information that isn't already part of the conversation.
It looks like (untested, just a code perusal) any day that ends with the worker idle (even if they did good work that day) results in the TimeBasedHappinessModifier.dayEnd count incrementing their days of idleness. Not entirely sure of the options for remediation, but I'd guess either IDLE can be state restricted for only non-working days (requiring revisiting every AI, possibly), or the dayEnd could be smarter about detecting from ICitizenData whether working occurred that day. Latter sounds cleaner, but not sure yet how feasible...
This looks similar to #10911
Not every AI, actually... I realize now the IDLE state <> getIdleAtJob() necessarily. I see that the planter in EntityAIWorkPlanter.pickField() is set to isIdleAtJob=true at the top of the function, then unset when a field is picked. However, if they do all their fields then they'll end the day in an isIdleAtJob=true state. I think this is fixable with a bit more judicious use of when they're set to idle. Happy to pick it up (and #10911) if nobody is working on them yet.
It is, and @armele please let me handle this one too ^^