e105354330
Also fixes EntityBreakDoorEvent not having the correct 'to' block data Also standardizes how to handle EntityChangeBlockEvent before a removeBlock or destroyBlock call. Always use 'state.getFluidState().createLegacyBlock()' to get the new state instead of just using the 'air' state.
35 Zeilen
1.5 KiB
Diff
35 Zeilen
1.5 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: SoSeDiK <mrsosedik@gmail.com>
|
|
Date: Tue, 11 Oct 2022 22:35:56 +0300
|
|
Subject: [PATCH] Add LivingEntity#swingHand(EquipmentSlot) convenience method
|
|
|
|
|
|
diff --git a/src/main/java/org/bukkit/entity/LivingEntity.java b/src/main/java/org/bukkit/entity/LivingEntity.java
|
|
index 26f12a6e4b2aff8ec052342939435f1ae4c02e2d..930c328880708cea182ccb031d31305e7d1c529b 100644
|
|
--- a/src/main/java/org/bukkit/entity/LivingEntity.java
|
|
+++ b/src/main/java/org/bukkit/entity/LivingEntity.java
|
|
@@ -1089,5 +1089,23 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource
|
|
*/
|
|
@Deprecated
|
|
void setHurtDirection(float hurtDirection);
|
|
+
|
|
+ /**
|
|
+ * 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
|
|
}
|