From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: William Blake Galbreath Date: Sun, 26 Jan 2020 16:30:19 -0600 Subject: [PATCH] Bees get gravity in void. Fixes MC-167279 diff --git a/src/main/java/net/minecraft/world/entity/ai/control/FlyingMoveControl.java b/src/main/java/net/minecraft/world/entity/ai/control/FlyingMoveControl.java index 2c9e3dd1b9dd7bb8825a2eb9fecc2b2be348d055..868e9cdeb3c7effb398cef6f6f9c1e4fffa2db8c 100644 --- a/src/main/java/net/minecraft/world/entity/ai/control/FlyingMoveControl.java +++ b/src/main/java/net/minecraft/world/entity/ai/control/FlyingMoveControl.java @@ -16,7 +16,7 @@ public class FlyingMoveControl extends MoveControl { } @Override - public void tick() { + public void tick() { tick(); } public void tick() { // Paper - OBFHELPER if (this.operation == MoveControl.Operation.MOVE_TO) { this.operation = MoveControl.Operation.WAIT; this.mob.setNoGravity(true); diff --git a/src/main/java/net/minecraft/world/entity/ai/control/MoveControl.java b/src/main/java/net/minecraft/world/entity/ai/control/MoveControl.java index ab65f0327766463a5e53fdd723e243464319fdbe..f4984d601d14c684e75f887f5f5d2f5a29326b15 100644 --- a/src/main/java/net/minecraft/world/entity/ai/control/MoveControl.java +++ b/src/main/java/net/minecraft/world/entity/ai/control/MoveControl.java @@ -16,7 +16,7 @@ import net.minecraft.world.phys.shapes.VoxelShape; public class MoveControl { - protected final Mob mob; + protected final Mob mob; public final Mob getEntity() { return mob; } // Paper - OBFHELPER protected double wantedX; protected double wantedY; protected double wantedZ; diff --git a/src/main/java/net/minecraft/world/entity/animal/Bee.java b/src/main/java/net/minecraft/world/entity/animal/Bee.java index edd6d63f715acef1a77eba0cf46ff8267228f4c6..9b68809b91910d2bbb82cafe23d1de5dfff4221c 100644 --- a/src/main/java/net/minecraft/world/entity/animal/Bee.java +++ b/src/main/java/net/minecraft/world/entity/animal/Bee.java @@ -111,7 +111,17 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal { public Bee(EntityType type, Level world) { super(type, world); - this.moveControl = new FlyingMoveControl(this, 20, true); + // Paper start - apply gravity to bees when they get stuck in the void, fixes MC-167279 + this.moveControl = new FlyingMoveControl(this, 20, true) { + @Override + public void tick() { + if (getEntity().getY() <= 0) { + getEntity().setNoGravity(false); + } + super.tick(); + } + }; + // Paper end this.lookControl = new Bee.BeeLookControl(this); this.setPathfindingMalus(BlockPathTypes.DANGER_FIRE, -1.0F); this.setPathfindingMalus(BlockPathTypes.WATER, -1.0F);