Files
Purpur/patches/server/0087-Customizable-EnderDragon-Health.patch
jmp 7ed791400e Updated Upstream (Paper)
Upstream has released updates that appears to apply and compile correctly

Paper Changes:
cc001a73b Climbing should not bypass cramming gamerule
b9930b39d Add legacy plugin count to metrics
4729e6b90 Add more lightning API
5e220bcb5 [ci skip] add stale bot configuration
2a44498a5 Add PlayerItemCooldownEvent
fd33bcee1 Add LivingEntity#clearActiveItem
a99e0ca05 Fix Player spawnParticle x/y/z precision loss
2020-12-02 14:35:13 -08: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 a5a2182455..d2fcd0bc16 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 ad055f4241..f4362093f3 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -275,9 +275,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;