From 72fc006795e9d1039c37615d1a3a9477da433e50 Mon Sep 17 00:00:00 2001 From: Eric Stokes Date: Thu, 30 Jun 2011 18:40:57 -0600 Subject: [PATCH] Allow disableautoheal --- .../MultiverseCore/MVEntityListener.java | 14 ++++++++++++++ .../MultiverseCore/MultiverseCore.java | 3 ++- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/src/com/onarandombox/MultiverseCore/MVEntityListener.java b/src/com/onarandombox/MultiverseCore/MVEntityListener.java index 2baa758a..ca84e661 100644 --- a/src/com/onarandombox/MultiverseCore/MVEntityListener.java +++ b/src/com/onarandombox/MultiverseCore/MVEntityListener.java @@ -14,6 +14,8 @@ import org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason; import org.bukkit.event.entity.EntityDeathEvent; import org.bukkit.event.entity.EntityExplodeEvent; import org.bukkit.event.entity.EntityListener; +import org.bukkit.event.entity.EntityRegainHealthEvent; +import org.bukkit.event.entity.EntityRegainHealthEvent.RegainReason; //import org.bukkit.event.entity.ExplosionPrimedEvent; @@ -40,6 +42,18 @@ public class MVEntityListener extends EntityListener { } super.onEntityDeath(event); } + + @Override + public void onEntityRegainHealth(EntityRegainHealthEvent event) { + if(event.isCancelled()) { + return; + } + RegainReason reason = event.getRegainReason(); + if(reason == RegainReason.REGEN && this.plugin.configMV.getBoolean("disableautoheal", false)) { + event.setCancelled(true); + return; + } + } /** * Handle Animal/Monster Spawn settings, seems like a more concrete method than using CraftBukkit. diff --git a/src/com/onarandombox/MultiverseCore/MultiverseCore.java b/src/com/onarandombox/MultiverseCore/MultiverseCore.java index 9cdc2c11..4277526e 100644 --- a/src/com/onarandombox/MultiverseCore/MultiverseCore.java +++ b/src/com/onarandombox/MultiverseCore/MultiverseCore.java @@ -124,7 +124,8 @@ public class MultiverseCore extends JavaPlugin { pm.registerEvent(Event.Type.PLAYER_KICK, this.playerListener, Priority.Highest, this); pm.registerEvent(Event.Type.PLAYER_RESPAWN, this.playerListener, Priority.Normal, this); pm.registerEvent(Event.Type.PLAYER_CHAT, this.playerListener, Priority.Normal, this); - + + pm.registerEvent(Event.Type.ENTITY_REGAIN_HEALTH, this.entityListener, Priority.Normal, this); pm.registerEvent(Event.Type.ENTITY_DAMAGE, this.entityListener, Priority.Normal, this); // To Allow/Disallow PVP as well as EnableHealth. pm.registerEvent(Event.Type.CREATURE_SPAWN, this.entityListener, Priority.Normal, this); // To prevent all or certain animals/monsters from spawning.