Mirror von
https://github.com/PaperMC/Paper.git
synchronisiert 2024-12-16 03:20:07 +01:00
b922ff9886
This only impacted people who used our useSnapshots new API in a plugin, which obviously was no one as the data result was completely broken. Merged the NPE check patch into mine since it has to handle it too.
25 Zeilen
1.3 KiB
Diff
25 Zeilen
1.3 KiB
Diff
From aeccf3dbd64f77d7266d3015f0dd0d7954786fdd 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
|
|
@@ -51,7 +51,7 @@ 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));
|
|
}
|
|
--
|
|
2.18.0
|
|
|