Mirror von
https://github.com/PaperMC/Paper.git
synchronisiert 2024-12-24 23:30:10 +01:00
56 Zeilen
2.9 KiB
Diff
56 Zeilen
2.9 KiB
Diff
|
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/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<? extends Bee> 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);
|