mirror of
https://github.com/PaperMC/Paper.git
synced 2025-01-05 02:22:12 +01:00
feaa8460b1
If the dragon tries to find "ground" and hits a hole, or off edge, it will infinitely keep looking for non air and eventually crash.
22 lines
No EOL
1.3 KiB
Diff
22 lines
No EOL
1.3 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Aikar <aikar@aikar.co>
|
|
Date: Wed, 21 Mar 2018 20:52:07 -0400
|
|
Subject: [PATCH] Fix Dragon Server Crashes
|
|
|
|
If the dragon tries to find "ground" and hits a hole, or off edge,
|
|
it will infinitely keep looking for non air and eventually crash.
|
|
|
|
diff --git a/src/main/java/net/minecraft/server/DragonControllerLandedFlame.java b/src/main/java/net/minecraft/server/DragonControllerLandedFlame.java
|
|
index 054a7ef6c..deee5c4cc 100644
|
|
--- a/src/main/java/net/minecraft/server/DragonControllerLandedFlame.java
|
|
+++ b/src/main/java/net/minecraft/server/DragonControllerLandedFlame.java
|
|
@@ -0,0 +0,0 @@ public class DragonControllerLandedFlame extends AbstractDragonControllerLanded
|
|
double d2 = this.a.bw.locY + (double) (this.a.bw.length / 2.0F);
|
|
BlockPosition.MutableBlockPosition blockposition_mutableblockposition = new BlockPosition.MutableBlockPosition(MathHelper.floor(d0), MathHelper.floor(d2), MathHelper.floor(d1));
|
|
|
|
- while (this.a.world.isEmpty(blockposition_mutableblockposition)) {
|
|
+ while (this.a.world.isEmpty(blockposition_mutableblockposition) && d2 > 0) { // Paper
|
|
--d2;
|
|
blockposition_mutableblockposition.c(MathHelper.floor(d0), MathHelper.floor(d2), MathHelper.floor(d1));
|
|
}
|
|
--
|