diff --git a/Spigot-Server-Patches/0320-Add-config-to-disable-ender-dragon-legacy-check.patch b/Spigot-Server-Patches/0320-Add-config-to-disable-ender-dragon-legacy-check.patch new file mode 100644 index 000000000..56aabc646 --- /dev/null +++ b/Spigot-Server-Patches/0320-Add-config-to-disable-ender-dragon-legacy-check.patch @@ -0,0 +1,52 @@ +From 0e503db872486829a878a7fd7a36eb7ef9207579 Mon Sep 17 00:00:00 2001 +From: BillyGalbreath +Date: Fri, 22 Jun 2018 10:38:31 -0500 +Subject: [PATCH] Add config to disable ender dragon legacy check + + +diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +index 99ad40fa3..06c54690f 100644 +--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java ++++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +@@ -524,4 +524,9 @@ public class PaperWorldConfig { + private void shieldBlockingDelay() { + shieldBlockingDelay = getInt("game-mechanics.shield-blocking-delay", 5); + } ++ ++ public boolean scanForLegacyEnderDragon = true; ++ private void scanForLegacyEnderDragon() { ++ scanForLegacyEnderDragon = getBoolean("game-mechanics.scan-for-legacy-ender-dragon", true); ++ } + } +diff --git a/src/main/java/net/minecraft/server/EnderDragonBattle.java b/src/main/java/net/minecraft/server/EnderDragonBattle.java +index ce0dcbc68..286069746 100644 +--- a/src/main/java/net/minecraft/server/EnderDragonBattle.java ++++ b/src/main/java/net/minecraft/server/EnderDragonBattle.java +@@ -30,9 +30,12 @@ public class EnderDragonBattle { + private int h; + private int i; + private int j; ++ private void setDragonKilled(boolean dragonKilled) { this.k = dragonKilled; } // Paper - OBFHELPER + private boolean k; + private boolean l; + private UUID m; ++ private void setScanForLegacyFight(boolean scanForLegacyFight) { this.n = scanForLegacyFight; } // Paper - OBFHELPER ++ private boolean scanForLegacyFight() { return this.n; } // Paper - OBFHELPER + private boolean n; + private BlockPosition o; + private EnumDragonRespawn p; +@@ -42,7 +45,10 @@ public class EnderDragonBattle { + public EnderDragonBattle(WorldServer worldserver, NBTTagCompound nbttagcompound) { + this.c = (BossBattleServer) (new BossBattleServer(new ChatMessage("entity.EnderDragon.name", new Object[0]), BossBattle.BarColor.PINK, BossBattle.BarStyle.PROGRESS)).setPlayMusic(true).c(true); + this.e = Lists.newArrayList(); +- this.n = true; ++ // Paper start ++ setScanForLegacyFight(worldserver.paperConfig.scanForLegacyEnderDragon); ++ if (!scanForLegacyFight()) setDragonKilled(true); ++ // Paper end + this.d = worldserver; + if (nbttagcompound.hasKeyOfType("DragonKilled", 99)) { + if (nbttagcompound.b("DragonUUID")) { +-- +2.17.1 + diff --git a/scripts/importmcdev.sh b/scripts/importmcdev.sh index a968ade09..b935cf79c 100755 --- a/scripts/importmcdev.sh +++ b/scripts/importmcdev.sh @@ -67,6 +67,7 @@ import DefinedStructure import DragonControllerLandedFlame import EnchantmentManager import Enchantments +import EnderDragonBattle import EntityIllagerIllusioner import EntityLlama import EntitySquid