Account for exterior block hardness in break speed#30
Open
clarkf wants to merge 1 commit intoDraylar:1.20.1from
Open
Account for exterior block hardness in break speed#30clarkf wants to merge 1 commit intoDraylar:1.20.1from
clarkf wants to merge 1 commit intoDraylar:1.20.1from
Conversation
Players were able to cheese hard block collection by surrounding hard blocks with softer blocks. For example, it was possible to mine up to 8 obsidian at cobblestone break-speed by targeting cobblestone when breaking. To solve this, a new `AbstractBlockState` mixin was introduced. I tried to solve this at other levels (preferably without a mixin), but wasn't able to get all the necessary information anywhere other than at the BlockState level. The minimal breaking delta (which is effectively the same as maximum block hardness) is used instead of the targeted block hardness. Using the average basically didn't solve the issue—it was possible to surround a hard block with softer blocks to 'dilute' the hardness. Fixes Draylar#14 Signed-off-by: Clark Fischer <clark.fischer@gmail.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #14
Currently it's possible to mine hard blocks quickly by targeting softer blocks and letting the AoE harvest the harder blocks. For example, a player can mine up to 8 obsidian with a "vanilla hammer" at cobblestone speed by placing cobblestone in the center and targeting that.
The solution is a bit weird, but that's mostly due to how block breaking works in vanilla. The lowest in the call-chain where we have enough information to assess block hardness is at
Block#calcBlockBreakingDelta. I tried averaging the hardnesses/deltas, but that still allowed you to 'dilute' harder blocks break-speed penalty by including more soft blocks in the AoE. I think taking the minimum delta (read: maximum hardness) is the best answer here.