Merge remote-tracking branch 'refs/remotes/ProjectKorra/master'

This commit is contained in:
Benford 2016-02-19 18:25:34 -05:00
commit b9ddf9360e
3 changed files with 42 additions and 10 deletions

View file

@ -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")) {

View file

@ -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;
}
}

View file

@ -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);
}
}