Implementation of the EntityDamage*Events.

A new event EntityDamageByProjectileEvent was created. EntityDamageByProjectileEvent
adds the ability to get the projectile entity (such as an egg) and also set if
the projectile 'bounces'. New interfaces were created to facilitate all kinds
of projectile entities. Changes were made to facilitate the new event, and
enable other events, for plugins and event listeners.

By: Andrew Ardill <andrew.ardill@gmail.com>
This commit is contained in:
Bukkit/Spigot
2011-01-13 00:15:31 +11:00
parent b105f07fa7
commit 40364131cb
7 changed files with 75 additions and 1 deletions

View File

@@ -21,6 +21,8 @@ import org.bukkit.event.block.*;
import org.bukkit.event.entity.EntityCombustEvent;
import org.bukkit.event.entity.EntityDamageByBlockEvent;
import org.bukkit.event.entity.EntityDamageByEntityEvent;
import org.bukkit.event.entity.EntityDamageByProjectileEvent;
import org.bukkit.event.entity.EntityDamageEvent;
import org.bukkit.event.entity.EntityListener;
import org.bukkit.event.player.*;
import org.bukkit.event.server.PluginEvent;
@@ -216,6 +218,12 @@ public final class JavaPluginLoader implements PluginLoader {
case ENTITY_DAMAGEDBY_ENTITY:
trueListener.onEntityDamageByEntity((EntityDamageByEntityEvent)event);
break;
case ENTITY_DAMAGEDBY_PROJECTILE:
trueListener.onEntityDamageByProjectile((EntityDamageByProjectileEvent)event);
break;
case ENTITY_DAMAGED:
trueListener.onEntityDamage((EntityDamageEvent)event);
break;
case ENTITY_DEATH:
// TODO: ENTITY_DEATH hook
break;