mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-18 00:47:42 +01:00
Upstream has released updates that appears to apply and compile correctly Paper Changes: b75eeca0 Boost light task priority to ensure it doesnt hold up chunk loads 3d2bc848 Ensure VillagerTrades doesn't load async - fixes #3495 e470f1ef Add more information to Timing Reports f4a47db6 Improve Thread Pool usage to allow single threads for single cpu servers a4fe910f Fix sounds when using worldedit regen command 70ad51a8 Updated Upstream (Bukkit/CraftBukkit) d7cfa4fa Improve legacy format serialization more
62 lines
3.1 KiB
Diff
62 lines
3.1 KiB
Diff
From 5b5cebc495d4db4f7eddd40c578e7d4fa9faf36a 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 687efa022d..ead3346072 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 56b67c4082..cc6f8563b1 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
|
|
|