ldtteam / minecolonies

Minecolonies minecraft mod
http://minecolonies.com/
GNU General Public License v3.0
673 stars 347 forks source link

[Feature] [$5] Miner should break blocks that he cannot mine [$5] #1020

Closed kedamono closed 4 years ago

kedamono commented 7 years ago

Minecolonies version

version 1.10.2-0.7.984

Expected behavior

Actual behaviour

Steps to reproduce the problem

  1. Install Minecraft version 1.10.2-0.7.984
  2. Start a colony and builder. Set to manual hiring.
  3. Build a miner's hut.
  4. In creative mode, place a diamond ore block at the base of the mine shaft.
  5. 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](https://www.bountysource.com/issues/45343409-feature-5-miner-should-break-blocks-that-he-cannot-mine?utm_campaign=plugin&utm_content=tracker%2F43175463&utm_medium=issues&utm_source=github)** on this issue. Add to the bounty at [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F43175463&utm_medium=issues&utm_source=github).
marvin-bitterlich commented 7 years ago

This is currently intended, because the request system will fetch these automatically and needs explicit requests.

xavierh commented 7 years ago

Ok, the problem is more that the miner should not be able to use the diamond pickaxe at all

Raycoms commented 7 years ago

The thing is we can't simply let him continue because we don't know if this block might block him on the way or block the building of a certain block etc.

2017-05-18 17:46 GMT-03:00 xavierh notifications@github.com:

Ok, the problem is more that the miner should not be able to use the diamond pickaxe at all

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/Minecolonies/minecolonies/issues/1020#issuecomment-302536378, or mute the thread https://github.com/notifications/unsubscribe-auth/AGI9y-gNZE8EKvz6RIWsvdnRUnWk8bM0ks5r7K4qgaJpZM4NfxEw .

kedamono commented 7 years ago

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.

Raycoms commented 7 years ago

Those blocks spawn that "early" in game? We could make a button with "destroy block if can't mine" in the gui of the miner. So he would actually destroy it but you wouldn't get the resource. (Like a player could with a too low pickaxe)

2017-05-18 19:20 GMT-03:00 kedamono notifications@github.com:

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.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/Minecolonies/minecolonies/issues/1020#issuecomment-302557502, or mute the thread https://github.com/notifications/unsubscribe-auth/AGI9yy-lalROQUU24u06GufBP_FRygFNks5r7MQRgaJpZM4NfxEw .

kedamono commented 7 years ago

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.

Raycoms commented 7 years ago

Its not necessary to know if its possible for a player xD It will be possible in code xD

2017-05-18 19:36 GMT-03:00 kedamono notifications@github.com:

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.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/Minecolonies/minecolonies/issues/1020#issuecomment-302560405, or mute the thread https://github.com/notifications/unsubscribe-auth/AGI9yyQYbe_Ub26YCezXtchXpRlKmmSrks5r7Mf9gaJpZM4NfxEw .

Raycoms commented 7 years ago

Could you rename and reformulate this issue for this?

2017-05-18 19:40 GMT-03:00 Ray Neiheiser ray.neiheiser@gmail.com:

Its not necessary to know if its possible for a player xD It will be possible in code xD

2017-05-18 19:36 GMT-03:00 kedamono notifications@github.com:

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.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/Minecolonies/minecolonies/issues/1020#issuecomment-302560405, or mute the thread https://github.com/notifications/unsubscribe-auth/AGI9yyQYbe_Ub26YCezXtchXpRlKmmSrks5r7Mf9gaJpZM4NfxEw .

kedamono commented 7 years ago

Yes I can. I also found out that only Vanilla tools will break blocks. Tinker tools won't break them.

kedamono commented 7 years ago

Updated and reworded.

Raycoms commented 7 years ago

That's funny, which ones of them?

2017-05-18 20:45 GMT-03:00 kedamono notifications@github.com:

Yes I can. I also found out that only Vanilla tools will break blocks. Tinker tools won't break them.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/Minecolonies/minecolonies/issues/1020#issuecomment-302570971, or mute the thread https://github.com/notifications/unsubscribe-auth/AGI9y0caYACkTG5QhEBxGXdj3O25QPTQks5r7NgzgaJpZM4NfxEw .

kedamono commented 7 years ago

Vibranium, which kind of makes sense. I think it's true of all ores for the most part with Tinker's Construct.

xavierh commented 7 years ago

I don't think it should destroy the block, if the miner find diamond and destroy it I would be really annoyed.

Wissi commented 7 years ago

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.

kedamono commented 7 years ago

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.

kedamono commented 7 years ago

A new wrinkle, the miner is now requesting a "level 7 hut". 2017-07-24_19 53 45

Nightenom commented 6 years ago

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:

Ignore list displays all ignored ores (block texture, block name) with option to remove it from this list

Raycoms commented 4 years ago

Closed in favor of joint issue.