mirror of
https://gitea.sffempire.ru/Kolyah35/minecraft-pe-0.6.1.git
synced 2026-03-19 22:43:32 +00:00
Fixes and enhancements from my MCPE repository. (https://github.com/mschiller890/mcpe64)
This commit is contained in:
@@ -50,7 +50,10 @@ LocalPlayer::LocalPlayer(Minecraft* minecraft, Level* level, User* user, int dim
|
||||
sentInventoryItemId(-1),
|
||||
sentInventoryItemData(-1),
|
||||
autoJumpEnabled(true),
|
||||
armorTypeHash(0)
|
||||
armorTypeHash(0),
|
||||
sprinting(false),
|
||||
sprintDoubleTapTimer(0),
|
||||
prevForwardHeld(false)
|
||||
{
|
||||
this->dimension = dimension;
|
||||
_init();
|
||||
@@ -176,6 +179,25 @@ void LocalPlayer::aiStep() {
|
||||
if (!screenCovering)
|
||||
input->tick(this);
|
||||
|
||||
// Sprint: detect W double-tap
|
||||
{
|
||||
bool forwardHeld = (input->ya > 0);
|
||||
if (forwardHeld && !prevForwardHeld) {
|
||||
// leading edge of W press
|
||||
if (sprintDoubleTapTimer > 0)
|
||||
sprinting = true;
|
||||
else
|
||||
sprintDoubleTapTimer = 7;
|
||||
}
|
||||
if (!forwardHeld) {
|
||||
sprinting = false;
|
||||
}
|
||||
if (sprintDoubleTapTimer > 0) sprintDoubleTapTimer--;
|
||||
prevForwardHeld = forwardHeld;
|
||||
}
|
||||
if (input->sneaking || abilities.flying)
|
||||
sprinting = false;
|
||||
|
||||
if (input->sneaking) {
|
||||
if (ySlideOffset < 0.2f) ySlideOffset = 0.2f;
|
||||
}
|
||||
@@ -296,6 +318,10 @@ void LocalPlayer::releaseAllKeys()
|
||||
if (input) input->releaseAllKeys();
|
||||
}
|
||||
|
||||
float LocalPlayer::getWalkingSpeedModifier() {
|
||||
return sprinting ? 1.3f : 1.0f;
|
||||
}
|
||||
|
||||
float LocalPlayer::getFieldOfViewModifier() {
|
||||
float targetFov = 1.0f;
|
||||
if(abilities.flying) targetFov *= 1.1f;
|
||||
|
||||
Reference in New Issue
Block a user