d089acb3bd
ForgeFlower is better than Spigots FernFlower at decompiling the source. However, in order to maintain the CraftBukkit patches, we must keep using spigots for the primary. However, for any file that we import on top of Spigots imported files there is nothing stopping us from using better decompiled files. So these changes will use ForgeFlower to maintain a better set of decomped files, so anything we add on top of Paper can start off in a better spot.
67 lines
2.9 KiB
Diff
67 lines
2.9 KiB
Diff
From 265868945184568370507db8a877ef1ec7a987d3 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 2e3e48637a..8724c2816b 100644
|
|
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
|
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
|
@@ -417,4 +417,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.18.0
|
|
|