211cba970b
Provides an API to control the loot table for an object. Also provides a feature that any Lootable Inventory (Chests in Structures) can automatically replenish after a given time. This feature is good for long term worlds so that newer players do not suffer with "Every chest has been looted" API and Event added to control the Auto Replenish feature for players.
50 lines
2 KiB
Diff
50 lines
2 KiB
Diff
From 286d75e4bf74686f7cdf38e80148ca3c8065142c 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 c1d50ee..a643acc 100644
|
|
--- a/src/main/java/com/destroystokyo/paper/PaperConfig.java
|
|
+++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java
|
|
@@ -208,4 +208,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 0502593..3a0d338 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.8.2
|
|
|