From 8f75122d794e6a95b623f90dee21bb4215c9aad5 Mon Sep 17 00:00:00 2001 From: Sollace Date: Tue, 23 Feb 2021 18:46:05 +0200 Subject: [PATCH] Fixed player getting stuck on slabs and stairs when in inverted gravity --- .../com/minelittlepony/unicopia/entity/EntityPhysics.java | 2 +- src/main/java/com/minelittlepony/unicopia/entity/Living.java | 4 ++++ .../minelittlepony/unicopia/entity/player/PlayerPhysics.java | 2 -- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/minelittlepony/unicopia/entity/EntityPhysics.java b/src/main/java/com/minelittlepony/unicopia/entity/EntityPhysics.java index 6c469f71..e1dbf317 100644 --- a/src/main/java/com/minelittlepony/unicopia/entity/EntityPhysics.java +++ b/src/main/java/com/minelittlepony/unicopia/entity/EntityPhysics.java @@ -74,7 +74,7 @@ public class EntityPhysics> implements Physics return below; } } else { - pony.getMaster().setOnGround(true); + entity.setOnGround(true); } return pos; diff --git a/src/main/java/com/minelittlepony/unicopia/entity/Living.java b/src/main/java/com/minelittlepony/unicopia/entity/Living.java index 6f7c1da3..990fd6fb 100644 --- a/src/main/java/com/minelittlepony/unicopia/entity/Living.java +++ b/src/main/java/com/minelittlepony/unicopia/entity/Living.java @@ -19,6 +19,7 @@ import net.minecraft.entity.projectile.ProjectileEntity; import net.minecraft.item.ItemStack; import net.minecraft.nbt.CompoundTag; import net.minecraft.util.Hand; +import net.minecraft.util.math.BlockPos; public abstract class Living implements Equine, Caster { @@ -99,6 +100,9 @@ public abstract class Living implements Equine, Caste if (getPhysics().isGravityNegative() && entity.getY() > entity.world.getHeight() + 64) { entity.damage(DamageSource.OUT_OF_WORLD, 4.0F); } + if (getPhysics().isGravityNegative()) { + entity.setOnGround(!entity.world.isAir(new BlockPos(entity.getX(), Math.floor(entity.getBoundingBox().maxY + 0.25), entity.getZ()))); + } enchants.tick(); } diff --git a/src/main/java/com/minelittlepony/unicopia/entity/player/PlayerPhysics.java b/src/main/java/com/minelittlepony/unicopia/entity/player/PlayerPhysics.java index db9962f5..32626acc 100644 --- a/src/main/java/com/minelittlepony/unicopia/entity/player/PlayerPhysics.java +++ b/src/main/java/com/minelittlepony/unicopia/entity/player/PlayerPhysics.java @@ -111,8 +111,6 @@ public class PlayerPhysics extends EntityPhysics implements Tickable, Moti isFlyingEither = isFlyingSurvival || (creative && entity.abilities.flying); if (isGravityNegative()) { - entity.setOnGround(!entity.world.isAir(new BlockPos(entity.getX(), entity.getY() + entity.getHeight() + 0.5F, entity.getZ()))); - if (entity.isOnGround() || (!creative && entity.horizontalCollision)) { entity.abilities.flying = false; isFlyingEither = false;