mirror of
https://github.com/Sollace/Unicopia.git
synced 2024-11-27 15:17:59 +01:00
Made it a little harder for pegasi to fall to their death
This commit is contained in:
parent
b59982761d
commit
35fed20e34
1 changed files with 13 additions and 4 deletions
|
@ -157,6 +157,8 @@ public class PlayerPhysics extends EntityPhysics<Pony> implements Tickable, Moti
|
||||||
thrustScale = 1;
|
thrustScale = 1;
|
||||||
}
|
}
|
||||||
velocity.y -= 0.02;
|
velocity.y -= 0.02;
|
||||||
|
velocity.x *= 0.9896;
|
||||||
|
velocity.z *= 0.9896;
|
||||||
} else {
|
} else {
|
||||||
ticksInAir = 0;
|
ticksInAir = 0;
|
||||||
|
|
||||||
|
@ -165,13 +167,22 @@ public class PlayerPhysics extends EntityPhysics<Pony> implements Tickable, Moti
|
||||||
double horMotion = getHorizontalMotion(entity);
|
double horMotion = getHorizontalMotion(entity);
|
||||||
double motion = entity.getPos().subtract(lastPos).lengthSquared();
|
double motion = entity.getPos().subtract(lastPos).lengthSquared();
|
||||||
|
|
||||||
if (velocity.y > 0 && (horMotion > 0.2 || (motion > 0.2 && velocity.y < -0.2))) {
|
System.out.println(motion + " " + horMotion + " " + velocity.y);
|
||||||
|
|
||||||
|
boolean takeOffCondition = velocity.y > 0
|
||||||
|
&& (horMotion > 0.2 || (motion > 0.2 && velocity.y < -0.02));
|
||||||
|
boolean fallingTakeOffCondition = !entity.isOnGround() && velocity.y < -1.6;
|
||||||
|
|
||||||
|
if (takeOffCondition || fallingTakeOffCondition) {
|
||||||
entity.abilities.flying = true;
|
entity.abilities.flying = true;
|
||||||
isFlyingEither = true;
|
isFlyingEither = true;
|
||||||
isFlyingSurvival = true;
|
isFlyingSurvival = true;
|
||||||
|
|
||||||
velocity.y += horMotion + 0.3;
|
velocity.y += horMotion + 0.3;
|
||||||
applyThrust(entity, velocity);
|
applyThrust(entity, velocity);
|
||||||
|
|
||||||
|
velocity.x *= 0.2;
|
||||||
|
velocity.z *= 0.2;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -271,9 +282,7 @@ public class PlayerPhysics extends EntityPhysics<Pony> implements Tickable, Moti
|
||||||
player.world.playSound(null, player.getBlockPos(), USounds.WIND_RUSH, SoundCategory.AMBIENT, 3, 1);
|
player.world.playSound(null, player.getBlockPos(), USounds.WIND_RUSH, SoundCategory.AMBIENT, 3, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (forward > 4) {
|
forward = Math.min(forward, 7);
|
||||||
forward = 4;
|
|
||||||
}
|
|
||||||
|
|
||||||
velocity.x += - forward * MathHelper.sin((player.yaw + glance) * 0.017453292F);
|
velocity.x += - forward * MathHelper.sin((player.yaw + glance) * 0.017453292F);
|
||||||
velocity.z += forward * MathHelper.cos((player.yaw + glance) * 0.017453292F);
|
velocity.z += forward * MathHelper.cos((player.yaw + glance) * 0.017453292F);
|
||||||
|
|
Loading…
Reference in a new issue