Files
Purpur/patches/server/0025-Ender-dragon-always-drop-egg.patch
William Blake Galbreath a32448bda1 Merge in Tuinity patches
2020-03-08 12:49:59 -05:00

62 lines
3.0 KiB
Diff

From 399f1b7da931b2870effe967a6e5af6a450a5461 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <Blake.Galbreath@GMail.com>
Date: Fri, 7 Feb 2020 04:42:57 -0600
Subject: [PATCH] Ender dragon always drop egg
---
src/main/java/net/minecraft/server/EnderDragonBattle.java | 5 +++--
src/main/java/net/pl3x/purpur/PurpurWorldConfig.java | 2 ++
2 files changed, 5 insertions(+), 2 deletions(-)
diff --git a/src/main/java/net/minecraft/server/EnderDragonBattle.java b/src/main/java/net/minecraft/server/EnderDragonBattle.java
index 218c04245..48398aa9f 100644
--- a/src/main/java/net/minecraft/server/EnderDragonBattle.java
+++ b/src/main/java/net/minecraft/server/EnderDragonBattle.java
@@ -21,7 +21,7 @@ public class EnderDragonBattle {
private static final Logger LOGGER = LogManager.getLogger();
private static final Predicate<Entity> b = IEntitySelector.a.and(IEntitySelector.a(0.0D, 128.0D, 0.0D, 192.0D));
public final BossBattleServer bossBattle;
- private final WorldServer d;
+ private final WorldServer d; public WorldServer getWorld() { return d; } // Purpur - OBFHELPER
private final List<Integer> e;
private final ShapeDetector f;
private int g;
@@ -358,7 +358,7 @@ public class EnderDragonBattle {
this.bossBattle.setVisible(false);
this.a(true);
this.n();
- if (!this.l) {
+ if (getWorld().purpurConfig.enderDragonAlwaysDropsEggBlock || !wasPreviouslyKilled()) { // Purpur - always place dragon egg
this.d.setTypeUpdate(this.d.getHighestBlockYAt(HeightMap.Type.MOTION_BLOCKING, WorldGenEndTrophy.a), Blocks.DRAGON_EGG.getBlockData());
}
@@ -439,6 +439,7 @@ public class EnderDragonBattle {
}
+ public boolean wasPreviouslyKilled() { return d(); } // Purpur - OBFHELPER;
public boolean d() {
return this.l;
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 18a512744..77070e618 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -200,11 +200,13 @@ public class PurpurWorldConfig {
public boolean enderDragonRidableInWater = false;
public boolean enderDragonRequireShiftToMount = true;
public double enderDragonMaxY = 256D;
+ public boolean enderDragonAlwaysDropsEggBlock = false;
private void enderDragonSettings() {
enderDragonRidable = getBoolean("mobs.ender_dragon.ridable", enderDragonRidable);
enderDragonRidableInWater = getBoolean("mobs.ender_dragon.ridable-in-water", enderDragonRidableInWater);
enderDragonRequireShiftToMount = getBoolean("mobs.ender_dragon.require-shift-to-mount", enderDragonRequireShiftToMount);
enderDragonMaxY = getDouble("mobs.ender_dragon.ridable-max-y", enderDragonMaxY);
+ enderDragonAlwaysDropsEggBlock = getBoolean("mobs.ender_dragon.always-drop-egg-block", enderDragonAlwaysDropsEggBlock);
}
public boolean endermanRidable = false;
--
2.24.0