--- a/net/minecraft/world/entity/projectile/EntityThrownExpBottle.java +++ b/net/minecraft/world/entity/projectile/EntityThrownExpBottle.java @@ -39,9 +39,18 @@ protected void a(MovingObjectPosition movingobjectposition) { super.a(movingobjectposition); if (this.level instanceof WorldServer) { - this.level.triggerEffect(2002, this.getChunkCoordinates(), PotionUtil.a(Potions.WATER)); + // CraftBukkit - moved to after event + // this.level.triggerEffect(2002, this.getChunkCoordinates(), PotionUtil.a(Potions.WATER)); int i = 3 + this.level.random.nextInt(5) + this.level.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.level.triggerEffect(2002, this.getChunkCoordinates(), PotionUtil.a(Potions.WATER)); + } + // CraftBukkit end + EntityExperienceOrb.a((WorldServer) this.level, this.getPositionVector(), i); this.die(); }