Add LivingEntity#swingHand(EquipmentSlot) convenience method

This commit is contained in:
SoSeDiK 2022-10-11 22:35:56 +03:00
parent d533ea2226
commit 79cb2d4685

View File

@ -1341,4 +1341,24 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource
@Deprecated
void setHurtDirection(float hurtDirection);
// Paper end - hurt direction API
// Paper start - swing hand API
/**
* Makes this entity swing their hand.
*
* <p>This method does nothing if this entity does not
* have an animation for swinging their hand.
*
* @param hand hand to be swung, either {@link org.bukkit.inventory.EquipmentSlot#HAND} or {@link org.bukkit.inventory.EquipmentSlot#OFF_HAND}
* @throws IllegalArgumentException if invalid hand is passed
*/
default void swingHand(@NotNull org.bukkit.inventory.EquipmentSlot hand) {
com.google.common.base.Preconditions.checkArgument(hand != null && hand.isHand(), String.format("Expected a valid hand, got \"%s\" instead!", hand));
if (hand == org.bukkit.inventory.EquipmentSlot.HAND) {
this.swingMainHand();
} else {
this.swingOffHand();
}
}
// Paper end - swing hand API
}