[Suggestion]: Change cave rumble falling system to be based on hardness and stability, independent of player position
AESisverystrong opened this issue · 4 comments
Guidelines
- By checking this box, I am saying that I have read the guidelines and believe to be following them to the best of my ability
Description of feature request
Description:
After testing the cave rumble effect, I noticed some unexpected behaviors that could be improved. The current system seems to rely on a whitelist of blocks that won’t fall during cave rumbles, but this can feel inconsistent. Also, the cave rumble effect seems to be tied to the player’s location, which might cause some "quantum-like" behavior — blocks only fall when the player is nearby.
Here’s what I found:
Blocks that don’t fall (based on my tests):
- Tuff, Deepslate, Iron Bars, Reinforced Deepslate, Obsidian, Crying Obsidian, Respawn Anchor, Unbreakable Blocks, Tuff, Dripstone Block, End Stone, Storm Beacon, Linked Beacon, Hardened Flesh, Wither Storm Vomit, Tainted Stone, Horror Bomb.
Other blocks (almost all others) fall during the rumble.
Interestingly, iron bars don’t fall, but iron chains do, even though both are similar. This makes me think the whitelist may be based on the blocks’ natural generation rather than any particular logic.
Additionally, it seems that the cave rumble effect might be related to the player's position. When the player is nearby, blocks seem to fall more frequently, but when the player is not present, nothing happens. This could cause a kind of "quantum effect" where the cave seems stable until the player is around.
Suggestion:
Instead of using a fixed whitelist, I suggest making the falling logic based on block hardness and stability. Here’s how I think it could work:
-
Hardness-based: Harder blocks (e.g., Deepslate, Obsidian) would have a much lower chance of falling compared to softer blocks (e.g., sand, gravel).
-
Stability: Blocks in naturally generated structures (like caves and dungeons) should be harder to dislodge, but not immune.
-
Connected blocks: If blocks are connected (e.g., large clusters), they should be more stable. Hanging or unsupported blocks should be much easier to fall.
-
Player position: The effect could be more consistent, so that it doesn’t rely on the player’s position. Even if the player isn’t nearby, the rumble should still cause falling blocks in a way that feels natural.
This would make the system feel more realistic and consistent with Minecraft’s block properties.
Thanks for considering this!
Tested on: Minecraft 1.20.1
Translated by GPT-5, there may be errors
Moreover, I’ve noticed that when a chest falls due to the cave rumble effect, if there’s an incomplete block (like another chest or bed) below it, the chest and its contents disappear completely instead of dropping as items. This seems like an unintended behavior.
I like these ideas, however the player position I won't change. Making it "global" (which is what I assume you are implying) would be too demanding on performance.
I like these ideas, however the player position I won't change. Making it "global" (which is what I assume you are implying) would be too demanding on performance.
I believe we could potentially use a mechanism similar to Random Engraving to reduce performance demands.
We pre-process areas around the Wither Storm that can trigger falls, then dynamically update them as the storm moves (caching is possible).
At regular intervals, randomly determine the location for triggering effects, with the frequency adjustable based on performance considerations.
Additionally, we could increase the probability of triggering near players or implement fixed periodic triggers around players.
This approach prevents situations where an unexplored mine shaft remains completely untouched by the Wither Storm.
If I've said anything wrong, please point it out.
Translated with [DeepL.com].