[Feature] [$5] Miner should break blocks that he cannot mine [$5]
kedamono opened this issue · 18 comments
Minecolonies version
version 1.10.2-0.7.984
Expected behavior
- When the miner encounters a block that he cannot mine, he should try to break the block and continue on.
Actual behaviour
- Miner stops working, and requests a Pickaxe of Diamond or better grade.
Steps to reproduce the problem
- Install Minecraft version 1.10.2-0.7.984
- Start a colony and builder. Set to manual hiring.
- Build a miner's hut.
- In creative mode, place a diamond ore block at the base of the mine shaft.
- Hire a colonist as a miner and equip them with the correct level of tools.
When the miner encounters the diamond ore block, he stops working and generates the request for a Diamond or better grade pickaxe.
There is a $5 open bounty on this issue. Add to the bounty at Bountysource.
Well, unless I'm in cheat mode, there's no way for me to break the block. And I used diamond, because it's a vanilla block. If you're using Tinker's Alloys, you get things like Vibranium, which are end game level blocks. The thing is, if he's running into blocks neither he nor I can break, he's stuck and I'm stuck. I'll end up being the miner and he gets to sit around doing nothing.
If he can't mine it, and I can't mine it, the only thing for it is to mine around it.
I don't know if you can beat a Vibranium block to death or not. I'll have to try it first to see if it can be done and let you know. But if it's an option, I'm all for it.
Yes I can. I also found out that only Vanilla tools will break blocks. Tinker tools won't break them.
Vibranium, which kind of makes sense. I think it's true of all ores for the most part with Tinker's Construct.
This is currently intended, because the request system will fetch these automatically and needs explicit requests.
Ok, the problem is more that the miner should not be able to use the diamond pickaxe at all
I don't think it should destroy the block, if the miner find diamond and destroy it I would be really annoyed.
- The miner should send a human readable message instead of the current cryptic one.
- Adding the option in the gui to destroy when it can not mined sound like a good idea
I agree with xavierh, if a miner finds a diamond block or worse, emerald or Lapis and just "breaks" it becasue he doesn't have the right tool atm, that would be very bad and the player might not even know that he's losing all those ores either.
@kedamono what mod are you using that installs Vibranium (cause tinkers doesn't install any ores except ardite and cobalt and they are in Nether) and if that mods specifies a config for the blocks to spawn or not and in what percentage or levels? That specific mod calls for what type/level of tool to break it?
I don't think specific third party mods (configurable or not by player) should break the mechanics of the miner to accomodate that mod in this way. That IMO should be a player configuration/decision to add/configure third part mods or not.
Also agree with xavierh that "if" anything a config option could be set to let miner destroy what can't be mined. Set to "off" by default.
I'm on the Realistic Minecolonies server and it has "Tinkers Alloying Addons" and that adds a lot of unbreakable ores when you use a Tinker's pickaxe. Vanilla pickaxes can break the ores after a lot of hitting. Many of the ores occur near the surface and that's a problem. Vibranium is one, and it's occurring at Y=64, so almost at the surface.'
Edit: Fixed it for the correct mod. Sorry.
Discussed with Raycoms:
On each encounter with an ore that he can't mine with the current tool: he checks every of his inventories for a better tool if currentToolLevel < hutLevelToMaxToolLevel
, if so complains about a better tool needed and removes the ore from an ignore list (described later), otherwise go further ˇˇˇ
Have a switchable button in a new page in the miner's hut: Always ask and Always destroy (self-explanatory)
On Always ask it will produce a chat message requesting the player to go to the miner hut (miner waits on the place he is). In the new page it will display the current request (under the switchable button) which will contain: block texture, block name, block pos, current mining level (?), both of tool levels (?), buttons: destroy once, ignore, player solve. Buttons in the same order:
- destroy now and ask again at any next encounter
- add to the ignore list, means that he will destroy it now and at any next encounter automatically
- wait for the player to come and destroy it or for a tool change, complains after a time if it's still not solved (before complaining check for the tool change)
Ignore list displays all ignored ores (block texture, block name) with option to remove it from this list