MineColonies

MineColonies

53M Downloads

Builder stuck waiting for Polished Diorite

FabriceLing opened this issue ยท 7 comments

commented

Minecolonies version

version 1.12.2-0.8.6067 ( I tried different versions as well )

Expected behavior

  • Not get stuck

Actual behaviour

  • Builder is stuck waiting for 2x Polished Diorite.

Steps to reproduce the problem

1 I asked the builder to upgrade the builder's Hut to level 3.
2. She got stuck on asking for Polished Diorite. The UI shows she needs 2 of them.
3. If I have some in my inventory and click fulfill, she takes every Diorite I have on me.
4. Once she has some Diorite, the fulfill button goes away but she still stand there not building.
5. I can't see anything preventing her from building.

Steps attempted to fix the issue

  1. I tried to cancel the work order.
  2. I tried to create a request to build another building.
  3. I tried to fire/rehire the worker.

No matter what I do, I cannot get the builder to do anything.

There is an error in the log:

[00:36:27] [Server thread/FATAL]: Error executing task
java.util.concurrent.ExecutionException: java.lang.IllegalArgumentException: The given token is not registered as a request to this manager
	at java.util.concurrent.FutureTask.report(Unknown Source) ~[?:1.8.0_151]
	at java.util.concurrent.FutureTask.get(Unknown Source) ~[?:1.8.0_151]
	at net.minecraft.util.Util.func_181617_a(SourceFile:47) [h.class:?]
	at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:721) [MinecraftServer.class:?]
	at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:666) [MinecraftServer.class:?]
	at net.minecraft.server.integrated.IntegratedServer.func_71217_p(IntegratedServer.java:185) [chd.class:?]
	at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:524) [MinecraftServer.class:?]
	at java.lang.Thread.run(Unknown Source) [?:1.8.0_151]
Caused by: java.lang.IllegalArgumentException: The given token is not registered as a request to this manager
	at com.minecolonies.coremod.colony.requestsystem.management.handlers.RequestHandler.getRequest(RequestHandler.java:500) ~[RequestHandler.class:?]
	at com.minecolonies.coremod.colony.requestsystem.management.handlers.RequestHandler.onRequestCancelled(RequestHandler.java:356) ~[RequestHandler.class:?]
	at com.minecolonies.coremod.colony.requestsystem.management.handlers.RequestHandler.lambda$onRequestOverruled$3(RequestHandler.java:335) ~[RequestHandler.class:?]
	at com.google.common.collect.ImmutableList.forEach(ImmutableList.java:408) ~[guava-21.0.jar:?]
	at com.minecolonies.coremod.colony.requestsystem.management.handlers.RequestHandler.onRequestOverruled(RequestHandler.java:335) ~[RequestHandler.class:?]
	at com.minecolonies.coremod.colony.requestsystem.management.manager.StandardRequestManager.updateRequestState(StandardRequestManager.java:313) ~[StandardRequestManager.class:?]
	at com.minecolonies.coremod.colony.requestsystem.management.manager.StandardRequestManager.overruleRequest(StandardRequestManager.java:337) ~[StandardRequestManager.class:?]
	at com.minecolonies.coremod.network.messages.UpdateRequestStateMessage.messageOnServerThread(UpdateRequestStateMessage.java:100) ~[UpdateRequestStateMessage.class:?]
	at com.minecolonies.coremod.network.messages.UpdateRequestStateMessage.messageOnServerThread(UpdateRequestStateMessage.java:20) ~[UpdateRequestStateMessage.class:?]
	at com.minecolonies.coremod.network.messages.AbstractMessage.lambda$onMessage$0(AbstractMessage.java:24) ~[AbstractMessage.class:?]
	at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) ~[?:1.8.0_151]
	at java.util.concurrent.FutureTask.run(Unknown Source) ~[?:1.8.0_151]
	at net.minecraft.util.Util.func_181617_a(SourceFile:46) ~[h.class:?]
	... 5 more
commented

Did you hit the cancel button?

commented

Yes, I did.
When the order is cancelled, the builder still waits for material.

commented

Yeah that is because for some reason you crashed the game during deletion. Try if you can kill the builder without crashing the game.

commented

The rs deleted the request, but the builder still has it open which is he is standing there doing nothing.

commented

Thank you for your suggestion. I was able to think of a solution without using murder which worked.

  • I fired the builder.
  • I fired the cook in the restaurant.
  • Hired the ex-cook as a worker.
  • Hired the ex-worker as a cook.

Everybody is now working. I tried to switch them back but the worker is completely confused now, but she can cook :)

commented

Yeah just do not assign them to the original building. The building holds the rs data for the citizen in case they accidentally die.

commented

Should be working now