Fix strange potion diff

This commit is contained in:
md_5 2016-03-20 13:42:12 +11:00
parent 549962feaf
commit 6cac62c64d

View file

@ -61,7 +61,20 @@
+ }
+ }
+ }
+
- while (iterator2.hasNext()) {
- MobEffect mobeffect1 = (MobEffect) iterator2.next();
- MobEffectList mobeffectlist = mobeffect1.getMobEffect();
-
- if (mobeffectlist.isInstant()) {
- mobeffectlist.applyInstantEffect(this, this.getShooter(), entityliving, mobeffect1.getAmplifier(), d1);
- } else {
- int i = (int) (d1 * (double) mobeffect1.getDuration() + 0.5D);
-
- if (i > 20) {
- entityliving.addEffect(new MobEffect(mobeffectlist, i, mobeffect1.getAmplifier()));
- }
- }
+ org.bukkit.event.entity.PotionSplashEvent event = org.bukkit.craftbukkit.event.CraftEventFactory.callPotionSplashEvent(this, affected);
+ if (!event.isCancelled() && list != null && !list.isEmpty()) { // do not process effects if there are no effects to process
+ for (LivingEntity victim : event.getAffectedEntities()) {
@ -91,20 +104,7 @@
+ mobeffectlist.applyInstantEffect(this, this.getShooter(), entityliving, mobeffect1.getAmplifier(), d1);
+ } else {
+ int i = (int) (d1 * (double) mobeffect1.getDuration() + 0.5D);
- while (iterator2.hasNext()) {
- MobEffect mobeffect1 = (MobEffect) iterator2.next();
- MobEffectList mobeffectlist = mobeffect1.getMobEffect();
-
- if (mobeffectlist.isInstant()) {
- mobeffectlist.applyInstantEffect(this, this.getShooter(), entityliving, mobeffect1.getAmplifier(), d1);
- } else {
- int i = (int) (d1 * (double) mobeffect1.getDuration() + 0.5D);
-
- if (i > 20) {
- entityliving.addEffect(new MobEffect(mobeffectlist, i, mobeffect1.getAmplifier()));
- }
- }
+
+ if (i > 20) {
+ entityliving.addEffect(new MobEffect(mobeffectlist, i, mobeffect1.getAmplifier()));
}