--- ../work/decompile-8eb82bde//net/minecraft/server/EntityThrownExpBottle.java 2014-11-28 17:43:43.169707433 +0000 +++ src/main/java/net/minecraft/server/EntityThrownExpBottle.java 2014-11-28 17:38:19.000000000 +0000 @@ -28,8 +28,17 @@ protected void a(MovingObjectPosition movingobjectposition) { if (!this.world.isStatic) { - this.world.triggerEffect(2002, new BlockPosition(this), 0); - int i = 3 + this.world.random.nextInt(5) + this.world.random.nextInt(5); + // CraftBukkit - moved to after event + // this.world.triggerEffect(2002, new BlockPosition(this), 0); + int i = 3 + this.world.random.nextInt(5) + this.world.random.nextInt(5); + + // CraftBukkit start + org.bukkit.event.entity.ExpBottleEvent event = org.bukkit.craftbukkit.event.CraftEventFactory.callExpBottleEvent(this, i); + i = event.getExperience(); + if (event.getShowEffect()) { + this.world.triggerEffect(2002, new BlockPosition(this), 0); + } + // CraftBukkit end while (i > 0) { int j = EntityExperienceOrb.getOrbValue(i);