2018-09-01 06:56:57 +08:00
|
|
|
From 265868945184568370507db8a877ef1ec7a987d3 Mon Sep 17 00:00:00 2001
|
2018-06-22 23:49:10 +08:00
|
|
|
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
|
2018-08-27 02:11:49 +08:00
|
|
|
index 2e3e48637a..8724c2816b 100644
|
2018-06-22 23:49:10 +08:00
|
|
|
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
|
|
|
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
2018-08-27 02:11:49 +08:00
|
|
|
@@ -417,4 +417,9 @@ public class PaperWorldConfig {
|
2018-06-22 23:49:10 +08:00
|
|
|
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
|
2018-09-01 06:56:57 +08:00
|
|
|
index 96e920ead8..e083ea483a 100644
|
2018-06-22 23:49:10 +08:00
|
|
|
--- a/src/main/java/net/minecraft/server/EnderDragonBattle.java
|
|
|
|
+++ b/src/main/java/net/minecraft/server/EnderDragonBattle.java
|
2018-09-01 06:56:57 +08:00
|
|
|
@@ -27,16 +27,21 @@ public class EnderDragonBattle {
|
2018-06-22 23:49:10 +08:00
|
|
|
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;
|
2018-09-01 06:56:57 +08:00
|
|
|
- private boolean n = true;
|
|
|
|
+ private boolean n = true; private void setScanForLegacyFight(boolean scanForLegacyFight) { this.n = scanForLegacyFight; } private boolean scanForLegacyFight() { return this.n; } // Paper - OBFHELPER
|
2018-06-22 23:49:10 +08:00
|
|
|
private BlockPosition o;
|
|
|
|
private EnumDragonRespawn p;
|
2018-09-01 06:56:57 +08:00
|
|
|
private int q;
|
|
|
|
private List<EntityEnderCrystal> r;
|
|
|
|
|
2018-06-22 23:49:10 +08:00
|
|
|
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")) {
|
2018-09-01 06:56:57 +08:00
|
|
|
@@ -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) {
|
2018-06-22 23:49:10 +08:00
|
|
|
--
|
2018-07-04 15:55:24 +08:00
|
|
|
2.18.0
|
2018-06-22 23:49:10 +08:00
|
|
|
|