aboutsummaryrefslogtreecommitdiffhomepage
path: root/Spigot-Server-Patches/0413-Bees-get-gravity-in-void.-Fixes-MC-167279.patch
blob: c5fd5518e0d74318d7d685f8360761e2bce1c515 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
From 0000000000000000000000000000000000000000 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 f2d2d04fe16bc091a971c8c90db56e6cd2799555..6393ff765f12db2911e2eaba800104b7539c290a 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 final 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 d3507b3852f02bf35bda35a13db66d5375325000..bafcb780f520db562e4a834400b789f60b563597 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 dcfd2ea5024be6d4a001fa7437092a7831b36fa7..b9e01e4d9e64fdec4c4f04f1808eb8832bd00c8e 100644
--- a/src/main/java/net/minecraft/server/EntityBee.java
+++ b/src/main/java/net/minecraft/server/EntityBee.java
@@ -37,7 +37,17 @@ public class EntityBee extends EntityAnimal implements IEntityAngerable, EntityB
 
     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.DANGER_FIRE, -1.0F);
         this.a(PathType.WATER, -1.0F);