From 47714f32a19249b6a14932b999938ac838beb9a8 Mon Sep 17 00:00:00 2001 From: BillyGalbreath <Blake.Galbreath@GMail.com> 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 bd4cca26c7..85296e48db 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -433,4 +433,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 96e920ead8..e083ea483a 100644 --- a/src/main/java/net/minecraft/server/EnderDragonBattle.java +++ b/src/main/java/net/minecraft/server/EnderDragonBattle.java @@ -27,16 +27,21 @@ 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 boolean n = true; + private boolean n = true; private void setScanForLegacyFight(boolean scanForLegacyFight) { this.n = scanForLegacyFight; } private boolean scanForLegacyFight() { return this.n; } // Paper - OBFHELPER private BlockPosition o; private EnumDragonRespawn p; private int q; private List<EntityEnderCrystal> r; public EnderDragonBattle(WorldServer worldserver, NBTTagCompound nbttagcompound) { + // Paper start + setScanForLegacyFight(worldserver.paperConfig.scanForLegacyEnderDragon); + if (!scanForLegacyFight()) setDragonKilled(true); + // Paper end this.d = worldserver; if (nbttagcompound.hasKeyOfType("DragonKilled", 99)) { if (nbttagcompound.b("DragonUUID")) { @@ -286,14 +291,14 @@ public class EnderDragonBattle { } private void k() { - HashSet hashset = Sets.newHashSet(); + HashSet<EntityPlayer> hashset = Sets.newHashSet(); // Paper - decompile fix for(EntityPlayer entityplayer : this.d.b(EntityPlayer.class, b)) { this.c.addPlayer(entityplayer); hashset.add(entityplayer); } - HashSet hashset1 = Sets.newHashSet(this.c.getPlayers()); + HashSet<EntityPlayer> hashset1 = Sets.newHashSet(this.c.getPlayers()); // Paper - decompile fix hashset1.removeAll(hashset); for(EntityPlayer entityplayer1 : hashset1) { -- 2.19.0