Files
Purpur/patches/server/0089-Customizable-EnderDragon-Health.patch
BillyGalbreath 5796ff9f94 Updated Upstream (Paper)
Upstream has released updates that appears to apply and compile correctly

Paper Changes:
73fc9666 Fix per-world settings not reloading (#4756)
94c99a8d Fix NPE thrown when converting MerchantRecipe from Bukkit to NMS (#4755)
072faf2a Fix minor issue with JavaDoc breaking doc deploys
2020-11-11 23:27:30 -06:00

44 lines
2.0 KiB
Diff

From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Jason Bierque <bierquejason@gmail.com>
Date: Wed, 1 Jul 2020 22:36:06 +0200
Subject: [PATCH] Customizable EnderDragon Health
diff --git a/src/main/java/net/minecraft/server/EntityEnderDragon.java b/src/main/java/net/minecraft/server/EntityEnderDragon.java
index a5a218245..d2fcd0bc1 100644
--- a/src/main/java/net/minecraft/server/EntityEnderDragon.java
+++ b/src/main/java/net/minecraft/server/EntityEnderDragon.java
@@ -62,6 +62,16 @@ public class EntityEnderDragon extends EntityInsentient implements IMonster {
this.bG = new DragonControllerManager(this);
}
+ // Purpur start
+ @Override
+ public void initAttributes(World world) {
+ if (world != null) {
+ this.getAttributeInstance(GenericAttributes.MAX_HEALTH).setValue(world.purpurConfig.enderDragonMaxHealth);
+ setHealth(getMaxHealth());
+ }
+ }
+ // Purpur end
+
public static AttributeProvider.Builder m() {
return EntityInsentient.p().a(GenericAttributes.MAX_HEALTH, 200.0D);
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index bb6c24347..32a233ceb 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -279,9 +279,11 @@ public class PurpurWorldConfig {
public boolean enderDragonAlwaysDropsEggBlock = false;
public boolean enderDragonAlwaysDropsFullExp = false;
+ public double enderDragonMaxHealth = 200.0D;
private void enderDragonSettings() {
enderDragonAlwaysDropsEggBlock = getBoolean("mobs.ender_dragon.always-drop-egg-block", enderDragonAlwaysDropsEggBlock);
enderDragonAlwaysDropsFullExp = getBoolean("mobs.ender_dragon.always-drop-full-exp", enderDragonAlwaysDropsFullExp);
+ enderDragonMaxHealth = getDouble("mobs.ender_dragon.max-health", enderDragonMaxHealth);
}
public boolean endermanAllowGriefing = true;