Don't "setLastDamageCause" in the DamageEvent constructor. Addresses BUKKIT-1881

This is now done after the event to allow you to be able to get previous damageCauses, and is now only applied if the event is not canceled.
This commit is contained in:
feildmaster 2012-06-03 08:23:30 -05:00
parent 16d0694dcf
commit 3b42b1d170
2 changed files with 1 additions and 7 deletions

View File

@ -24,6 +24,7 @@ public class KillCommand extends VanillaCommand {
Bukkit.getPluginManager().callEvent(ede); Bukkit.getPluginManager().callEvent(ede);
if (ede.isCancelled()) return true; if (ede.isCancelled()) return true;
ede.getEntity().setLastDamageCause(ede);
player.damage(ede.getDamage()); player.damage(ede.getDamage());
} else { } else {
sender.sendMessage("You can only perform this command as a player"); sender.sendMessage("You can only perform this command as a player");

View File

@ -1,6 +1,5 @@
package org.bukkit.event.entity; package org.bukkit.event.entity;
import org.bukkit.entity.ComplexEntityPart;
import org.bukkit.entity.Entity; import org.bukkit.entity.Entity;
import org.bukkit.event.Cancellable; import org.bukkit.event.Cancellable;
import org.bukkit.event.HandlerList; import org.bukkit.event.HandlerList;
@ -18,12 +17,6 @@ public class EntityDamageEvent extends EntityEvent implements Cancellable {
super(damagee); super(damagee);
this.cause = cause; this.cause = cause;
this.damage = damage; this.damage = damage;
if (damagee instanceof ComplexEntityPart) {
((ComplexEntityPart) damagee).getParent().setLastDamageCause(this);
} else {
damagee.setLastDamageCause(this);
}
} }
public boolean isCancelled() { public boolean isCancelled() {