From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Mariell Hoversholm Date: Wed, 30 Sep 2020 22:49:14 +0200 Subject: [PATCH] Toggle for removing existing dragon diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java index 48a2c6b4865f21df9c3cd79a91a3564361272e66..18781133bfbe5d3aa12ba54a9c7826a8bc7cd0ac 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -681,4 +681,12 @@ public class PaperWorldConfig { log("Using vanilla redstone algorithm."); } } + + public boolean shouldRemoveDragon = false; + private void shouldRemoveDragon() { + shouldRemoveDragon = getBoolean("should-remove-dragon", shouldRemoveDragon); + if (shouldRemoveDragon) { + log("The Ender Dragon will be removed if she already exists without a portal."); + } + } } diff --git a/src/main/java/net/minecraft/server/EnderDragonBattle.java b/src/main/java/net/minecraft/server/EnderDragonBattle.java index 95ecf9dd511836cc2f70173f07234ef8822d6038..38dc6086d18951e065d4048d1d8eee288c5c5fd1 100644 --- a/src/main/java/net/minecraft/server/EnderDragonBattle.java +++ b/src/main/java/net/minecraft/server/EnderDragonBattle.java @@ -172,7 +172,7 @@ public class EnderDragonBattle { this.dragonUUID = entityenderdragon.getUniqueID(); EnderDragonBattle.LOGGER.info("Found that there's a dragon still alive ({})", entityenderdragon); this.dragonKilled = false; - if (!flag) { + if (!flag && this.world.paperConfig.shouldRemoveDragon) { // Paper EnderDragonBattle.LOGGER.info("But we didn't have a portal, let's remove it."); entityenderdragon.die(); this.dragonUUID = null;