yeelp / Scaling-Feast

A simple, balanced way to increase your maximum hunger in Minecraft over the course of a world.
MIT License
0 stars 1 forks source link

[Suggestion] Exhaust scaling depending on Block Hardness when mining blocks. #111

Open SonicX8000 opened 2 years ago

SonicX8000 commented 2 years ago

Seeing the new Exhaust Ore and how it affects your exhaust while mining it gives me an idea of some sorts when mining blocks.

I wonder if there could be a way to have a scalable exhaust factor depending on block hardness. For example... mining stone wouldn't exhaust you as much but mining ores would be a bit more exhausting while mining obsidian would exhaust you more.

Now... I'm not too familiar as to how exactly block hardness works unless it goes by harvest levels? Like needing a Diamond+ Pickaxe in order to mine Obsidian Blocks.

yeelp commented 2 years ago

Block harvest levels are actually independent from block hardness. That's why blocks with the same harvest levels can take a different amount of time to mine.

We can even add a penalty if you break a block that you don't have the minimum harvest level for. Punching Obsidian now not only takes an eternity to get through, but would drain your hunger even more. And you could avoid the scaling entirely if your tool is so effective that it instabreaks blocks (which there's an actual formula for). I may have to check to see how easily getting the break speed of a tool is

James103 commented 2 years ago

Here's my idea:

Mining exhaustion per second

In other words, the longer you take to mine a block, the more exhaustion you gain. This automatically makes blocks cost more exhaustion to mine based on their hardness, but having a high Mining Speed compensates for that. Instant mining would only cost 1/20 of the exhaustion compared to taking one second to mine a block. Example: Instead of the vanilla default of 0.005 exhaustion per block, you could make that e.g. 0.1 exhaustion per second by default, which would still allow for 0.005 exhaustion per block, but only if you can instant mine the block.

*The exact time to mine a block can be calculated using formulas from the Minecraft Wiki page on mining, which take into account block hardness, if you can harvest the block, Haste, Mining Fatigue, OnGround, and more. The exhaustion per block directly follows from the resulting time.

SonicX8000 commented 2 years ago

Oooo, I like this idea. This would make it so that having a fast break speed will be helpful so you can get less exhaustion overtime while mining stuff.