From 4701e5f9cf6ff140b09caffa51aa53a39fb1e9d1 Mon Sep 17 00:00:00 2001 From: Matt Date: Fri, 19 Feb 2016 17:41:39 -0500 Subject: [PATCH 1/2] Fixed healingwaters shift functionality --- .../waterbending/HealingWaters.java | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/src/com/projectkorra/projectkorra/waterbending/HealingWaters.java b/src/com/projectkorra/projectkorra/waterbending/HealingWaters.java index edf78c84..91f4b7c8 100644 --- a/src/com/projectkorra/projectkorra/waterbending/HealingWaters.java +++ b/src/com/projectkorra/projectkorra/waterbending/HealingWaters.java @@ -36,22 +36,20 @@ public class HealingWaters extends HealingAbility { } } } - + private static void heal(Player player) { if (inWater(player)) { if (player.isSneaking()) { Entity entity = GeneralMethods.getTargetedEntity(player, getRadius()); - if (entity instanceof LivingEntity && inWater(entity)) { - if (getShiftRequired() && player.isSneaking()) { - giveHPToEntity((LivingEntity) entity); - } else if (!getShiftRequired()) { - giveHPToEntity((LivingEntity) entity); - } + if (entity == null) { + giveHP(player); + } else { + giveHPToEntity((LivingEntity) entity); } } else { - if (getShiftRequired() && player.isSneaking()) { - giveHP(player); - } else if (!getShiftRequired()) { + if (getShiftRequired()) { + return; + } else { giveHP(player); } } From 91de6ce20da26ae13f832c5d2975d55e19c1e339 Mon Sep 17 00:00:00 2001 From: Matt Date: Fri, 19 Feb 2016 17:53:18 -0500 Subject: [PATCH 2/2] Added BendingDamageEvent --- .../projectkorra/GeneralMethods.java | 3 ++ .../event/BendingDamageEvent.java | 31 +++++++++++++++++++ 2 files changed, 34 insertions(+) create mode 100644 src/com/projectkorra/projectkorra/event/BendingDamageEvent.java diff --git a/src/com/projectkorra/projectkorra/GeneralMethods.java b/src/com/projectkorra/projectkorra/GeneralMethods.java index a5cb78fe..89fbe296 100644 --- a/src/com/projectkorra/projectkorra/GeneralMethods.java +++ b/src/com/projectkorra/projectkorra/GeneralMethods.java @@ -93,6 +93,7 @@ import com.projectkorra.projectkorra.command.Commands; import com.projectkorra.projectkorra.configuration.ConfigManager; import com.projectkorra.projectkorra.earthbending.EarthBlast; import com.projectkorra.projectkorra.earthbending.EarthPassive; +import com.projectkorra.projectkorra.event.BendingDamageEvent; import com.projectkorra.projectkorra.event.BendingReloadEvent; import com.projectkorra.projectkorra.event.BindChangeEvent; import com.projectkorra.projectkorra.event.EntityBendingDeathEvent; @@ -371,6 +372,8 @@ public class GeneralMethods { EntityBendingDeathEvent event = new EntityBendingDeathEvent(entity, player, damage, ability); Bukkit.getServer().getPluginManager().callEvent(event); } + BendingDamageEvent event = new BendingDamageEvent(); + Bukkit.getServer().getPluginManager().callEvent(event); ((LivingEntity) entity).damage(damage, player); entity.setLastDamageCause(new EntityDamageByEntityEvent(player, entity, DamageCause.CUSTOM, damage)); if (Bukkit.getPluginManager().isPluginEnabled("NoCheatPlus")) { diff --git a/src/com/projectkorra/projectkorra/event/BendingDamageEvent.java b/src/com/projectkorra/projectkorra/event/BendingDamageEvent.java new file mode 100644 index 00000000..8c4adf72 --- /dev/null +++ b/src/com/projectkorra/projectkorra/event/BendingDamageEvent.java @@ -0,0 +1,31 @@ +package com.projectkorra.projectkorra.event; + +import org.bukkit.event.Cancellable; +import org.bukkit.event.Event; +import org.bukkit.event.HandlerList; + +public class BendingDamageEvent extends Event implements Cancellable { + + private static final HandlerList handlers = new HandlerList(); + private boolean cancelled; + + public BendingDamageEvent() { + this.cancelled = false; + } + + @Override + public HandlerList getHandlers() { + return handlers; + } + + @Override + public boolean isCancelled() { + return cancelled; + } + + @Override + public void setCancelled(boolean cancel) { + this.cancelled = cancel; + } + +}