MineColonies

MineColonies

57M Downloads

Delivery man stops making deliveries to the Builder (and sometimes Miner) after a while

stormbringerGT opened this issue · 25 comments

commented

#3883 # Minecolonies version
Version: minecolonies-1.12.2-0.10.405-ALPHA-universal.jar

Expected behavior

Deliveryman should be delivery resources to the builder

Actual behaviour

The deliveryman will no deliver resources to the builder, when the builder requests resources

Steps to reproduce the problem

  1. After building the builder building and assign a job top a builder continue to do so for about 10 buildings.
  2. After a while the delivery man will stop deliveries to the builder. Usually deliveries that would require a crafting chain.

Side note, this happens with no matter how many delivery men I have active in the colony.

Similar issue happens with the miner. They will request fencing and the build order says the warehouse is fulfilling it, but they never will.

commented

Testing it now.

EDIT: Much improved, still one issue.

I started with a village that already had builder's hut, town hall, mine, lumberjack, and fisherman, plus housing. Now using 1270-PERSONAL.

1st test: Builder built a Stonemason, which would be the first crafter. No issue.
2nd test: Collected all cobblestone stairs and slabs. Taught recipes to crafter. Placed Postbox request for 10 cobblestone stairs and 10 cobblestone slabs. Dman brought cobblestone to crafter, crafter made items, Dman brought them to Postbox. Perfect!
3rd test: Upgrading Stonemason. Builder started with no issue, which is a fix from before. Dman delivered to Builder with no issue. Stonemason got request for 30 cobblestone stairs. Dman delivered correct amount of cobblestone. Stonemason made 12 cobblestone stairs, and stopped. Dman collected 12 cobblestone stairs and took them to the Miner. Nothing happened for ~5 minutes, so I issued a RS reset command. Stonemason finished other 18 cobblestone stairs, Dman picked them up, build continued to finish.

So it looks like having multiple requesters at the same time (in this case, Builder and Miner) caused only one of them to get crafted. Also, not sure if this is a bug or not, but there was a long (~2 minutes?) delay after the cobblestone was delivered before the Stonemason made the first batch (for the Miner). I wonder if the Stonemason would have eventually finished without the reset command, but 5 minutes is probably too long for the intended start time of working on the batch?

Can you make it so that the Crafter shows what they are working on in the Requests tab? That goes otherwise unused since the actual request shows up at the Builder. Having the Dman show what they are fetching in the Request tab would also help with debugging.

Thanks!

commented

Actually right now we can't
The problem lies in the fact that the data describes the current job of the citizen is not available on the client side
We could make that once that is synced but that will probably not happen for 1.12

commented

@Raycoms Why did you close this issue?
It looks like he still found another problem.

commented

Can we verify his third case please before we close this. I would like to get rid of this issue once and for all.

commented

Tested it, worked well for me =D

commented
commented

Thanks, I'll give this a try and report back!

commented

This didn't seem to fix it something is still get caught up in the request queue.
https://imgur.com/a/VgPQaYp

commented
commented

How many deliverymen do you have?

commented

In one test I have on.

In my second test I have two.

In my third test I have 5, with a minimal city. They idle a lot there.

commented
commented

Yes, same issue.

Let me start a new colony fresh with this version and see what happens with a single deliveryman.

Are there some console commands to speed this up and instant build buildings, for testing?

commented
commented

This happens with a single builder and single delivery man also. It seems to be something in the chain.

It looks like the delivery man is delivering to, saw the sawmill, but sometimes the miller never starts work.

commented

If this is the same bug I have, it works correctly when it is dman and builder only (with me delivering materials to warehouse), or dman, builder, and miner/lumberjack (with me making the complex recipes). As soon as an intermediate crafter is added (blacksmith, sawmill) everything stops working, including stuff that was working ok before (like the dman delivering planks I put in the warehouse).

commented

And this same thing also happens with the version I linked always?

commented
commented

Checking with linked 1036-PR and no other mods.

"Everything stops working": Adding an intermediate crafter stops the previously working warehouse-to-builder route from working. The Dman still run, but they don't move anything (except to take away excess from the Building if I manually give them what they are requesting)

commented

Does the rs use the crafter during fulfillment?

commented

It is definitely behaving differently!

Mods: Minecolonies and Optifine only

I started a new world in Creative mode. For speed I had the builder build Builders Hut, Delivery Hut, and Warehouse with Builder set to Infinite Resources. When that was complete, I turned Infinite Resources off. Next, I told the builder to build the Town Hall. When the builder requested something, I added it to the Warehouse. First positive change: the Builder immediately changed the request from Me to the Dman to fulfill. Very cool! Previous versions I would have to cancel the Builder's request. Building the Town Hall this way worked perfectly.

Next I placed a Sawmill and built it the same way as the Town Hall, no issues.

Third, I removed all fences from the warehouse. I taught the Sawmill Guy to build fences, and the intermediate recipes (Planks, Sticks). When the Builder got to needing fences, the Builder had a long nested request for fencing. The Sawmill Guy has nothing in his request list. Then everything stopped, the Dman ran between buildings but did not carry anything to the Sawmill. After 10 minutes I did a /mc rs reset colony 1.

After the reset, the Dman carried stuff to the Sawmill and the Sawmill Guy started working! At first I thought he was stuck, but I guess he only updates when he finishes the whole request? Eventually his raw materials were gone and there was 44 fences in his rack, (The request from the Builder was for 23). The Dman picked up the 44 fences from the Sawmill and took them to the Builder Hut.

However, the Builder was no longer requesting fences from the Sawmill, but instead from me, and would not pick up the fences from the Builder's Hut. He was now requesting 64 fences from me instead of 23 from the rs. I let that sit for a bit to see if it would fix itself, then put the balance of fences on the Builder's Hut and he picked them up and used them.

So it looks like the rs is using the crafter but something new is going on when the crafted stuff gets to the Builder. Let me know anything else I can test to help.

commented

@kd5crs Some questions:

  1. Does it happen every time?
  2. Can you reproduce it with only MInecolonies (and its dependencies)?
  3. Can you be more precise with "everything stops working"?
commented

As discussed it seems to be the introduction of a crafter that can halt progress, the problem is, it is not consistent. It is very likely the chain will stop working, but it is not always.

commented