From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Jason Bierque 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 0e74794d3a..d617b5345d 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 34fbf95966..47204751d7 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java @@ -280,9 +280,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;