summaryrefslogtreecommitdiffstats
path: root/src/Entities/Player.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/Entities/Player.h')
-rw-r--r--src/Entities/Player.h21
1 files changed, 14 insertions, 7 deletions
diff --git a/src/Entities/Player.h b/src/Entities/Player.h
index 568929f44..791b583bd 100644
--- a/src/Entities/Player.h
+++ b/src/Entities/Player.h
@@ -597,11 +597,17 @@ public:
The player removes its m_ClientHandle ownership so that the ClientHandle gets deleted. */
void RemoveClientHandle(void);
- /** Returns the relative block hardness for the block a_Block.
- The bigger it is the faster the player can break the block.
- Returns zero if the block is instant breakable.
- Otherwise it returns the dig speed (float GetDigSpeed(BLOCKTYPE a_Block)) divided by the block hardness (cBlockInfo::GetHardness(BLOCKTYPE a_Block)) divided by 30 if the player can harvest the block and divided by 100 if he can't. */
- float GetPlayerRelativeBlockHardness(BLOCKTYPE a_Block);
+ /** Returns the progress mined per tick for the block a_Block as a fraction
+ (1 would be completely mined)
+ Depends on hardness values so check those are correct.
+ Source: https://minecraft.gamepedia.com/Breaking#Calculation */
+ float GetMiningProgressPerTick(BLOCKTYPE a_Block);
+
+ /** Given tool, enchantments, status effects, and world position
+ returns whether a_Block would be instantly mined.
+ Depends on hardness values so check those are correct.
+ Source: https://minecraft.gamepedia.com/Breaking#Instant_breaking */
+ bool CanInstantlyMine(BLOCKTYPE a_Block);
/** get player explosion exposure rate */
virtual float GetExplosionExposureRate(Vector3d a_ExplosionPosition, float a_ExlosionPower) override;
@@ -805,8 +811,9 @@ private:
Returns one if using hand.
If the player is using a tool that is good to break the block the value is higher.
If he has an enchanted tool with efficiency or he has a haste or mining fatique effect it gets multiplied by a specific factor depending on the strength of the effect or enchantment.
- In he is in water it gets divided by 5 except his tool is enchanted with aqa affinity.
- If he is not on ground it also gets divided by 5. */
+ In he is in water it gets divided by 5 except if his tool is enchanted with aqua affinity.
+ If he is not on ground it also gets divided by 5.
+ Source: https://minecraft.gamepedia.com/Breaking#Calculation */
float GetDigSpeed(BLOCKTYPE a_Block);
/** Add the recipe Id to the known recipes.