mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-18 17:07:43 +01:00
Upstream has released updates that appears to apply and compile correctly Paper Changes: a6ac47e5 Fix numerous item duplication issues and teleport issues b7402f11 Add phantom creative and insomniac controls (#3222) 75819fac Fix Potion#toItemStack swapping the extended and upgraded constructor values (#3216)
62 lines
3.1 KiB
Diff
62 lines
3.1 KiB
Diff
From 902c04b41327f7db8aa12a85bae347e1969e2cf9 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 687efa022..ead334607 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;
|
|
- public final WorldServer d; // CraftBukkit PAIL private -> public, rename world
|
|
+ public 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 56b67c408..cc6f8563b 100644
|
|
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
|
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
|
@@ -206,11 +206,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
|
|
|