Call PotionSplashEvent even for no effects. Fixes BUKKIT-3618

When a splash potion has no applicable effects we currently do not call
PotionSplashEvent. This means plugins are unable to make custom
potions with reliable splash handling as they have to relicate the
functionality themselves.

With this commit we simply make the event fire regardless of the effects
on the potion.
This commit is contained in:
EdGruberman 2013-03-28 09:09:19 -07:00 committed by Travis Watkins
parent adbee6049e
commit 377be0a79e

View File

@ -64,7 +64,7 @@ public class EntityPotion extends EntityProjectile {
if (!this.world.isStatic) {
List list = Item.POTION.g(this.c);
if (list != null && !list.isEmpty()) {
if (true || list != null && !list.isEmpty()) { // CraftBukkit - Call event even if no effects to apply
AxisAlignedBB axisalignedbb = this.boundingBox.grow(4.0D, 2.0D, 4.0D);
List list1 = this.world.a(EntityLiving.class, axisalignedbb);
@ -91,7 +91,7 @@ public class EntityPotion extends EntityProjectile {
}
org.bukkit.event.entity.PotionSplashEvent event = org.bukkit.craftbukkit.event.CraftEventFactory.callPotionSplashEvent(this, affected);
if (!event.isCancelled()) {
if (!event.isCancelled() && list != null && !list.isEmpty()) { // do not process effects if there are no effects to process
for (LivingEntity victim : event.getAffectedEntities()) {
if (!(victim instanceof CraftLivingEntity)) {
continue;