mirror of
https://github.com/MineLittlePony/MineLittlePony.git
synced 2024-11-25 22:07:59 +01:00
Fixed various bugs with sneaking placement
This commit is contained in:
parent
c42dcfb14f
commit
b1f7cda8cc
7 changed files with 7 additions and 13 deletions
|
@ -40,13 +40,7 @@ public abstract class ClientPonyModel<T extends LivingEntity> extends PlayerEnti
|
|||
@Override
|
||||
public void updateLivingState(T entity, IPony pony) {
|
||||
isChild = entity.isBaby();
|
||||
/*This was a bug, but I'm calling it a feature
|
||||
* isSneaking = entity.isInSneakingPose()
|
||||
*If a pony is able to get into a 1.5 tall gap whilst sneaking and releases the sneak key,
|
||||
*they will stop crouching. Vanilla behaviour would have them continue to crouch, but that
|
||||
*would look weird, especially with winged pegasi and bat ponies.
|
||||
*/
|
||||
isSneaking = entity.isSneaking();
|
||||
isSneaking = entity.isInSneakingPose();
|
||||
attributes.updateLivingState(entity, pony);
|
||||
}
|
||||
|
||||
|
|
|
@ -165,7 +165,7 @@ public class Pony implements IPony {
|
|||
@Override
|
||||
public boolean isCrouching(LivingEntity entity) {
|
||||
|
||||
boolean isSneak = entity.isSneaking();
|
||||
boolean isSneak = entity.isInSneakingPose();
|
||||
boolean isFlying = isFlying(entity);
|
||||
boolean isSwimming = isSwimming(entity);
|
||||
|
||||
|
|
|
@ -158,7 +158,7 @@ public class RenderPony<T extends LivingEntity, M extends EntityModel<T> & IPony
|
|||
public double getNamePlateYOffset(T entity, double initial) {
|
||||
|
||||
// We start by negating the height calculation done by mahjong.
|
||||
float y = -(entity.getHeight() + 0.5F - (entity.isSneaking() ? 0.25F : 0));
|
||||
float y = -(entity.getHeight() + 0.5F - (entity.isInSneakingPose() ? 0.25F : 0));
|
||||
|
||||
// Then we add our own offsets.
|
||||
y += getModel().getAttributes().visualHeight * getScaleFactor() + 0.25F;
|
||||
|
|
|
@ -54,7 +54,7 @@ public abstract class RenderPonyMob<T extends MobEntity, M extends EntityModel<T
|
|||
|
||||
@Override
|
||||
public void render(T entity, double xPosition, double yPosition, double zPosition, float yaw, float ticks) {
|
||||
if (entity.isSneaking()) {
|
||||
if (entity.isInSneakingPose()) {
|
||||
yPosition -= 0.125D;
|
||||
}
|
||||
|
||||
|
|
|
@ -69,7 +69,7 @@ public class RenderPonyPlayer extends PlayerEntityRenderer implements IPonyRende
|
|||
float x = player.getWidth() / 2;
|
||||
float y = 0;
|
||||
|
||||
if (player.isSneaking()) {
|
||||
if (player.isInSneakingPose()) {
|
||||
// Sneaking makes the player 1/15th shorter.
|
||||
// This should be compatible with height-changing mods.
|
||||
y += player.getHeight() / 15;
|
||||
|
|
|
@ -56,7 +56,7 @@ public class LayerHeldPonyItem<T extends LivingEntity, M extends EntityModel<T>
|
|||
pushMatrix();
|
||||
renderArm(hand);
|
||||
|
||||
if (entity.isSneaking()) {
|
||||
if (getMainModel().getAttributes().isCrouching) {
|
||||
translatef(0, 0.2F, 0);
|
||||
}
|
||||
|
||||
|
|
|
@ -9,6 +9,6 @@ public class PostureElytra implements PonyPosture<LivingEntity> {
|
|||
@Override
|
||||
public void transform(IModel model, LivingEntity entity, double motionX, double motionY, double motionZ, float yaw, float ticks) {
|
||||
GlStateManager.rotatef(90, 1, 0, 0);
|
||||
GlStateManager.translatef(0, entity.isSneaking() ? 0.2F : -1, 0);
|
||||
GlStateManager.translatef(0, model.getAttributes().isCrouching ? 0.2F : -1, 0);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue