Crafters not crafting
hotluck opened this issue ยท 17 comments
Version: 1.12.2-0.10.291-ALPHA-universal
I have installed the latest alpha from curse/twitch and the problem #3645 is still there. However, I decided to create a postbox (which I had to place manually because it didn't show up when I clicked on the building tool) and I requested 64 planks. The miller then started working and after creating the planks, started doing the builders fence request. Could this be that the system you use does not work backwards enough through the tiers of work? I will give you an example -
The builder requires dark oak fences.
*There are none in the warehouse so requests them from the miller.
*The miller does not have the planks and sticks to make the items, however there are enough sticks in the warehouse, but not enough planks.
*The builder has 3 requests showing - 1) For the fences 2) For the crafter to make the fences 3) For the crafter to make the planks.
*The warehouse has plenty of dark oak wood and the Miller knows how to create planks and fences.
*The Miller does nothing.
I am a computer programmer by trade (just not with java) so I am using generic programming logic here. This is what I would have imagined should happen -
*The builder requests the fences from the crafter.
*The miller (and the warehouse) doesn't have the planks so requests the wood from the warehouse to make them (not the builder).
*The deliveryman delivers the wood and the miller creates the planks.
*The miller then creates the fences.
Does this make sense?
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
If it is exactly the same as shown in the other issue
I am working on a fix, we found the problem last week. But it needs some fixing.
Im playing on 0.10.291 with similar issue. Seems like sawmill or builders request is causing weird actions taken. For example the builder requests stairs/fences/slabs and ususlly gets it right first time. Afterwards randomly the either thecrequested items or the sawmill hits an error.
In sawmill case, it acts out of turn and produces less even though builder requested alot more. This seems to happen when excess materials are left in inventory.
In builder case, when recieving less than required sometimes requests wrong items to be sent to sawmill.
This is what i've seen thus far.
okay i'm actively fixing this right now @OrionDevelopment @OCDCleric @hotluck. noticed this bug 2 days ago
To expound on what the issue is:
- The crafter's current checks for whether he can craft the recipes he wants to or not, does not include item counts. which means that he will think he has what he needs, even when he only has the right resources, but not numbers.
- When the crafter fails to fulfill a recipe because he's missing ingredients, or whatever other reason, we currently ignore this and keep going (usually failing every subsequent recipe as well).
After a couple chats with @Raycoms i'm going to:
- Make sure that the crafter also compares item counts, not just what items they Are.
- When a recipe fails, he will make sure to Request the appropriate items to fulfill the recipe (and, if i get to it, all subsequent ones that he has to fulfill)
@Asherslab Do notbother with a fix for this untill Sunday, I am currently rewriting the resolving and cancellation logic to accomodate the cancellation bug we found.
It should be fixed on Sunday, which squashes all of this in ist entirety, putting some try catches around Things fixes Nothing.
@OrionDevelopment the issue is within the worker however, is the fix going to be able to cover that?
i guess we'll see on Sunday. however i'm lead to believe that, although the fix you're working on will make it much less likely, it will still continue to be an issue.
Look forward to the fix, although not the time it will take to fix...now I've not got an excuse to get out of finishing the housework! hehe
closed in favor of other issue
Can you test the dman and crafters here:
Not so sure if todays update helped...
Ver. 1.12.2-0.10.295
Feel like im writing stardates...
Anyways problem persists but this time it seems sawmill generally ignores or forgets someone is asking something. Not sure but it seems extremely prevalent when asking for fences.
Edit 2: Delivery of materials either incomplete or not the right materials. Sawmill also only responds to 1 in 10 manual resets of request.
I am working on stuck citizens, it takes a rewrite of how the rs deals with things like cancellation and overruling, but that involves a larger clean up of the code to make that work, which takes a bit of time.
I am at about 80% so hopefully it will get a bit better tomorrow
@OrionDevelopment Is this still not resolved in recent alpha versions?
Crafters on the latest release are basically useless since they need constant maintenance.