PotionSplashEvent is now fired whenever a splash potion lands (including a lingering potion, but only for immediate effects). In addition to cancelation, we also recognize changes to the list of targets and the intensity for each target. In the case of a potion of healing, EntityRegainHealthEvent is also fired for each target, using the same logic that GlowPlayer.pulse() already uses when regenerating from food; that logic is now EntityUtils.heal(LivingEntity, double, EntityRegainHealthEvent.RegainReason).
Partial-intensity effects for splash potions and lingering potions are now implemented. For custom instant effects at level 2 or higher, partial intensity may mean a lower level.
Progresses #922
PotionSplashEvent is now fired whenever a splash potion lands (including a lingering potion, but only for immediate effects). In addition to cancelation, we also recognize changes to the list of targets and the intensity for each target. In the case of a potion of healing, EntityRegainHealthEvent is also fired for each target, using the same logic that
GlowPlayer.pulse()
already uses when regenerating from food; that logic is nowEntityUtils.heal(LivingEntity, double, EntityRegainHealthEvent.RegainReason)
.Partial-intensity effects for splash potions and lingering potions are now implemented. For custom instant effects at level 2 or higher, partial intensity may mean a lower level.