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 945ff9eebb
commit c65422de4b
2 changed files with 1 additions and 7 deletions

View File

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

View File

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