Made ProjectileHitEvent fire instantly when projectiles don't hit entities.
Dieser Commit ist enthalten in:
Ursprung
43492ab6af
Commit
30a382a6dc
@ -141,12 +141,6 @@ public abstract class Entity {
|
||||
}
|
||||
|
||||
public void die() {
|
||||
// CraftBukkit start
|
||||
if (this.getBukkitEntity() instanceof Projectile && !(this instanceof EntityFish)) {
|
||||
ProjectileHitEvent event = new ProjectileHitEvent((Projectile) this.getBukkitEntity());
|
||||
this.world.getServer().getPluginManager().callEvent(event);
|
||||
}
|
||||
// CraftBukkit end
|
||||
this.dead = true;
|
||||
}
|
||||
|
||||
|
@ -7,6 +7,7 @@ import org.bukkit.craftbukkit.entity.CraftLivingEntity;
|
||||
import org.bukkit.entity.Projectile;
|
||||
import org.bukkit.event.entity.EntityDamageByProjectileEvent;
|
||||
import org.bukkit.event.entity.EntityDamageEvent;
|
||||
import org.bukkit.event.entity.ProjectileHitEvent;
|
||||
import org.bukkit.event.player.PlayerPickupItemEvent;
|
||||
// CraftBukkit end
|
||||
|
||||
@ -162,6 +163,10 @@ public class EntityArrow extends Entity {
|
||||
float f2;
|
||||
|
||||
if (movingobjectposition != null) {
|
||||
// CraftBukkit start
|
||||
ProjectileHitEvent phe = new ProjectileHitEvent((Projectile) this.getBukkitEntity());
|
||||
this.world.getServer().getPluginManager().callEvent(phe);
|
||||
// CraftBukkit end
|
||||
if (movingobjectposition.entity != null) {
|
||||
// CraftBukkit start
|
||||
boolean stick;
|
||||
|
@ -8,6 +8,7 @@ import org.bukkit.entity.Projectile;
|
||||
import org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason;
|
||||
import org.bukkit.event.entity.EntityDamageByProjectileEvent;
|
||||
import org.bukkit.event.entity.EntityDamageEvent;
|
||||
import org.bukkit.event.entity.ProjectileHitEvent;
|
||||
import org.bukkit.event.player.PlayerEggThrowEvent;
|
||||
// CraftBukkit end
|
||||
|
||||
@ -150,6 +151,9 @@ public class EntityEgg extends Entity {
|
||||
|
||||
if (movingobjectposition != null) {
|
||||
// CraftBukkit start
|
||||
ProjectileHitEvent phe = new ProjectileHitEvent((Projectile) this.getBukkitEntity());
|
||||
this.world.getServer().getPluginManager().callEvent(phe);
|
||||
|
||||
if (movingobjectposition.entity != null) {
|
||||
boolean stick;
|
||||
if (movingobjectposition.entity instanceof EntityLiving) {
|
||||
|
@ -10,6 +10,7 @@ import org.bukkit.entity.Projectile;
|
||||
import org.bukkit.event.entity.EntityDamageByProjectileEvent;
|
||||
import org.bukkit.event.entity.EntityDamageEvent;
|
||||
import org.bukkit.event.entity.ExplosionPrimeEvent;
|
||||
import org.bukkit.event.entity.ProjectileHitEvent;
|
||||
// CraftBukkit end
|
||||
|
||||
public class EntityFireball extends Entity {
|
||||
@ -127,6 +128,10 @@ public class EntityFireball extends Entity {
|
||||
}
|
||||
|
||||
if (movingobjectposition != null) {
|
||||
// CraftBukkit start
|
||||
ProjectileHitEvent phe = new ProjectileHitEvent((Projectile) this.getBukkitEntity());
|
||||
this.world.getServer().getPluginManager().callEvent(phe);
|
||||
// CraftBukkit end
|
||||
if (!this.world.isStatic) {
|
||||
// CraftBukkit start
|
||||
if (movingobjectposition.entity != null) {
|
||||
|
@ -7,6 +7,7 @@ import org.bukkit.craftbukkit.entity.CraftLivingEntity;
|
||||
import org.bukkit.entity.Projectile;
|
||||
import org.bukkit.event.entity.EntityDamageByProjectileEvent;
|
||||
import org.bukkit.event.entity.EntityDamageEvent;
|
||||
import org.bukkit.event.entity.ProjectileHitEvent;
|
||||
// CraftBukkit end
|
||||
|
||||
public class EntitySnowball extends Entity {
|
||||
@ -148,6 +149,9 @@ public class EntitySnowball extends Entity {
|
||||
|
||||
if (movingobjectposition != null) {
|
||||
// CraftBukkit start
|
||||
ProjectileHitEvent phe = new ProjectileHitEvent((Projectile) this.getBukkitEntity());
|
||||
this.world.getServer().getPluginManager().callEvent(phe);
|
||||
|
||||
if (movingobjectposition.entity != null) {
|
||||
boolean stick;
|
||||
if (movingobjectposition.entity instanceof EntityLiving) {
|
||||
|
In neuem Issue referenzieren
Einen Benutzer sperren