mirror of
https://github.com/pmmp/PocketMine-MP.git
synced 2025-05-14 17:59:41 +00:00
Measure block break times in ticks instead of floating-point real-time
This commit is contained in:
parent
7a36d80384
commit
1da870b298
@ -1554,10 +1554,10 @@ class Level implements ChunkManager, Metadatable{
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
$breakTime = $target->getBreakTime($item);
|
$breakTime = ceil($target->getBreakTime($item) * 20);
|
||||||
|
|
||||||
if($player->isCreative() and $breakTime > 0.15){
|
if($player->isCreative() and $breakTime > 3){
|
||||||
$breakTime = 0.15;
|
$breakTime = 3;
|
||||||
}
|
}
|
||||||
|
|
||||||
if($player->hasEffect(Effect::SWIFTNESS)){
|
if($player->hasEffect(Effect::SWIFTNESS)){
|
||||||
@ -1568,9 +1568,9 @@ class Level implements ChunkManager, Metadatable{
|
|||||||
$breakTime *= 1 + (0.3 * ($player->getEffect(Effect::MINING_FATIGUE)->getAmplifier() + 1));
|
$breakTime *= 1 + (0.3 * ($player->getEffect(Effect::MINING_FATIGUE)->getAmplifier() + 1));
|
||||||
}
|
}
|
||||||
|
|
||||||
$breakTime -= 0.05; //1 tick compensation
|
$breakTime -= 1; //1 tick compensation
|
||||||
|
|
||||||
if(!$ev->getInstaBreak() and ($player->lastBreak + $breakTime) > microtime(true)){
|
if(!$ev->getInstaBreak() and ((ceil($player->lastBreak * 20)) + $breakTime) > ceil(microtime(true) * 20)){
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user