Builder Manual mode no longer has a way to start a task
abadger opened this issue · 8 comments
Prerequisites
- I am running the latest alpha version of MineColonies and Structurize for my Minecraft version.
- I checked the MineColonies/Structurize wiki and made sure my issue is not covered there.
- I made sure that this issue is not a duplicate of any existing issue.
Context
- Minecraft Version: 1.16.5
- MineColonies Version: minecolonies-0.14.196-ALPHA-universal.jar
- Structurize Version: structurize-0.13.175-ALPHA-universal.jar
- Related Mods and their Versions:
Expected behavior
In the previous version I was running, minecolonies-0.14.182-ALPHA-universal.jar, when the builder was set to manual mode, there was a page (reached by using the blue arrow in the upper right corner of the builder's hut UI) with work orders. This page allowed you to select which of the tasks requested of the builder to work on. For manual mode, this was essential as the builder won't start working on a task without player confirmation.
Actual behavior
In 0.14.196-ALPHA, there is no blue arrow in the upper right corner of the builder hut UI. It looks like the equivalent page is a tab on the left hand side of the builder ui titled Work Orders. The work Orders page lists all of the tasks requested of hte builder, just like the old page, however, it only allows you to cancel tasks, not to start one:
My workaround, for now, is to go to this page, cancel all tasks except for the one I want the builder to work on next, and then set the builder to automatic mode. Once the builder prints the chat message that they've started work on that task, I then go back to the builder's UI and set it to manual mode again.
Steps to reproduce the issue
- Set the builder to manual mode
- Place a new structure using the build tool
- In the new structure's Build Options, choose the builder you've set to manual mode and then click the button to build the building.
- In the builder's screen, click to the tab for Work Orders.
- See that there's no button to press to tell the builder they can start working on the new building.
Logs
- latest.log: https://gist.github.com/abadger/f348a8b7ad358277686ccae52e266da1
- crashlog: N/A
Notes
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.
This should be similarly as previously:
- If on the settings mode page you set it to manual mode you'll a) be able to cancel the current workorder b) if there is an open workorder assign the builder to it. If there are several workorders directly assigned to the builder those have to be cancelled first (as it was in the past). If there are workorders that are assigned to no builder in particular, the builder won't take it, and will wait for you to click the "assign" button on this page.
That doesn't seem to describe either the present or the recent past behaviour of the builder in manual mode. Currently:
- if the builder is assigned in the to-be-built-hut-ui, the workorder shows up on this page with a Cancel button next to it. However, the worker is not actively working on it. They never send a message to chat saying that they're now working on that task and they never assemble a list of needed resources.
- If the builder is not assigned in the to-be-built-hut-ui, the work order is what you state. It shows up on this page with an assign button. Clicking on the assign button assigns the builder to that task and then they will start work on it (there is a minor bug here where the button does not update it's text until after leaving the page so the player doesn't know that the builder has started working on the task immediately).
Two tasks on the workorder screen where the builder was assigned in the to-be-built hut's ui:
No resources being shown to build because the builder has not picked up the task:
Previously:
- if the builder is assigned to work on a hut in the to-be-built-hut's ui, then the workorder will appear in that builder's task list. The player can click a button (I assume this is an assign button but I'd have to downgrade to make sure that's actually the label) to tell the builder which task they should work on next. The worker will not start work until that button is clicked.
- note that this behaviour changed slightly in the past few updates. Perhaps two weeks ago, even if a specific builder was assigned in the to-be-built hut's UI, the task still showed up in both of my builder's task lists with a button to press which would start the builder working on them. I actually liked this better as I was then able to create a "global work queue" and assign the highest priority tasks to the next available builder.
(Anticipating one possible question..... I mostly assign the builder in the to-be-built hut's ui these days because the to-be-built-huts are out of range of my two builders.)
Indeed, I found the bug.
I'll make a fix for both a) If a task is manually assigned to the builder, it will do the automatic queue
b) When you click "assign" the UI will recognize this instantly.
Oh, when you say it will enter the automatic queue.... does that mean there will no longer be a way to queue up several tasks for the builder but select which one the builder should work on next once they have completed their last task? That's the workflow I want to use. A different way to achieve that from what was done previously would be to neither automatically assign a task to a builder nor check that any builder was in range when starting the task in the to-be-built-hut's UI. (However, that seems like it might require thinking about other knock-on effects. What to do when one builder is set to manual and another is set to automatic, for instance)
I didn't know people were actually using it this way (Assigning things to one builder and then starting tasks manually each).
At the moment, with my changes it works this way:
- Builders set to automatic will pickup any task that is either assigned to them specifically, or within range.
- Builders set to manual will pickup tasks only that are assigned to them specifically (either in their hut UI or in the building/deco creation UI).
If you don't want a builder to pickup any task you just assign a workorder to no builder at all.
The problem is that right now, sometimes you are prevented from opening a work order that isn't assigned to a builder. When you open a workorder without specifying a specific builder, there's a check for a builder within some range of that location. If there's no builder within range, a chat message is emitted ask ing you to specify the builder to use manually.