From 047f45354145583cbe356066478979ae5e30ca56 Mon Sep 17 00:00:00 2001
From: Jedediah Smith <jedediah@silencegreys.com>
Date: Sun, 19 Jul 2015 16:51:38 -0400
Subject: [PATCH] Set health before death event


diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java
index de5d945..ab86ab6 100644
--- a/src/main/java/com/destroystokyo/paper/PaperConfig.java
+++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java
@@ -175,4 +175,9 @@ public class PaperConfig {
     private static void loadPermsBeforePlugins() {
         loadPermsBeforePlugins = getBoolean("settings.load-permissions-yml-before-plugins", true);
     }
+
+    public static boolean setHealthBeforeDeathEvent = false;
+    public static void healthDeath() {
+        setHealthBeforeDeathEvent = getBoolean("settings.set-health-before-death-event", false);
+    }
 }
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
index 693d5cb..ef522e7 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
@@ -98,11 +98,21 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
                     + (this instanceof CraftPlayer ? ", player: " + this.getName() + ')' : ')'));
         }
 
+        // Paper start
+        if (com.destroystokyo.paper.PaperConfig.setHealthBeforeDeathEvent) {
+            this.getHandle().setHealth((float) health);
+        }
+        // Paper end
+
         if (entity instanceof EntityPlayer && health == 0) {
             ((EntityPlayer) entity).die(DamageSource.GENERIC);
         }
 
-        getHandle().setHealth((float) health);
+        // Paper start - wrap, see above
+        if (!com.destroystokyo.paper.PaperConfig.setHealthBeforeDeathEvent) {
+            getHandle().setHealth((float) health);
+        }
+        // Paper end
     }
 
     public double getMaxHealth() {
-- 
2.7.4