70ce6ce831
This makes it easier for downstream projects (forks) to replace the version fetching system with their own. It is as simple as implementing an interface and overriding the default implementation of org.bukkit.UnsafeValues#getVersionFetcher() It also makes it easier for us to organize things like the version history feature. Lastly I have updated the paper implementation to check against the site API rather than against jenkins.
25 Zeilen
1.2 KiB
Diff
25 Zeilen
1.2 KiB
Diff
From 29900b9f545b9f8ecc624fd5bcbc34fbac0f6206 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 cfe84f4d4..4ab310cd6 100644
|
|
--- a/src/main/java/net/minecraft/server/DragonControllerLandedFlame.java
|
|
+++ b/src/main/java/net/minecraft/server/DragonControllerLandedFlame.java
|
|
@@ -53,7 +53,7 @@ public class DragonControllerLandedFlame extends AbstractDragonControllerLanded
|
|
double d2 = this.a.bA.locY + (double) (this.a.bA.getHeight() / 2.0F);
|
|
BlockPosition.MutableBlockPosition blockposition_mutableblockposition = new BlockPosition.MutableBlockPosition(d0, d2, d1);
|
|
|
|
- while (this.a.world.isEmpty(blockposition_mutableblockposition)) {
|
|
+ while (this.a.world.isEmpty(blockposition_mutableblockposition ) && d2 > 0) { // Paper
|
|
--d2;
|
|
blockposition_mutableblockposition.c(d0, d2, d1);
|
|
}
|
|
--
|
|
2.21.0
|
|
|