papermc/Spigot-Server-Patches/0432-Bees-get-gravity-in-void.-Fixes-MC-167279.patch
Shane Freeder e4602b6d48
Drop Ignore-Missing-Recipes-in-RecipeBook-to-avoid-data-e.patch
This patch appears to be no longer relevant, and is seemingly a leading
cause of datapack performance being horrific
2020-03-15 20:03:36 +00:00

58 lines
2.5 KiB
Diff

From 4671fa40c4fdc58f83b1a58b65fdcb18d2b27844 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <Blake.Galbreath@GMail.com>
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/server/ControllerMove.java b/src/main/java/net/minecraft/server/ControllerMove.java
index 7e3671dae..a5c4cbb67 100644
--- a/src/main/java/net/minecraft/server/ControllerMove.java
+++ b/src/main/java/net/minecraft/server/ControllerMove.java
@@ -2,7 +2,7 @@ package net.minecraft.server;
public class ControllerMove {
- protected final EntityInsentient a;
+ protected final EntityInsentient a; public EntityInsentient getEntity() { return a; } // Paper - OBFHELPER
protected double b;
protected double c;
protected double d;
diff --git a/src/main/java/net/minecraft/server/ControllerMoveFlying.java b/src/main/java/net/minecraft/server/ControllerMoveFlying.java
index 2b6ac2eeb..0496c0c5d 100644
--- a/src/main/java/net/minecraft/server/ControllerMoveFlying.java
+++ b/src/main/java/net/minecraft/server/ControllerMoveFlying.java
@@ -12,7 +12,7 @@ public class ControllerMoveFlying extends ControllerMove {
}
@Override
- public void a() {
+ public void a() { tick(); } public void tick() { // Paper - OBFHELPER
if (this.h == ControllerMove.Operation.MOVE_TO) {
this.h = ControllerMove.Operation.WAIT;
this.a.setNoGravity(true);
diff --git a/src/main/java/net/minecraft/server/EntityBee.java b/src/main/java/net/minecraft/server/EntityBee.java
index 73e016257..c7d79efdf 100644
--- a/src/main/java/net/minecraft/server/EntityBee.java
+++ b/src/main/java/net/minecraft/server/EntityBee.java
@@ -36,7 +36,17 @@ public class EntityBee extends EntityAnimal implements EntityBird {
public EntityBee(EntityTypes<? extends EntityBee> entitytypes, World world) {
super(entitytypes, world);
- this.moveController = new ControllerMoveFlying(this, 20, true);
+ // Paper start - apply gravity to bees when they get stuck in the void, fixes MC-167279
+ this.moveController = new ControllerMoveFlying(this, 20, true) {
+ @Override
+ public void tick() {
+ if (getEntity().locY() <= 0) {
+ getEntity().setNoGravity(false);
+ }
+ super.tick();
+ }
+ };
+ // Paper end
this.lookController = new EntityBee.j(this);
this.a(PathType.WATER, -1.0F);
this.a(PathType.COCOA, -1.0F);
--
2.25.1