diff options
Diffstat (limited to 'patches/api/0367-Add-EquipmentSlot-convenience-methods.patch')
-rw-r--r-- | patches/api/0367-Add-EquipmentSlot-convenience-methods.patch | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/patches/api/0367-Add-EquipmentSlot-convenience-methods.patch b/patches/api/0367-Add-EquipmentSlot-convenience-methods.patch new file mode 100644 index 0000000000..f7e2301f31 --- /dev/null +++ b/patches/api/0367-Add-EquipmentSlot-convenience-methods.patch @@ -0,0 +1,53 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: SoSeDiK <[email protected]> +Date: Sun, 16 Oct 2022 15:28:49 +0300 +Subject: [PATCH] Add EquipmentSlot convenience methods + + +diff --git a/src/main/java/org/bukkit/inventory/EquipmentSlot.java b/src/main/java/org/bukkit/inventory/EquipmentSlot.java +index 5642d8af60b6649497aba9b0f6ab7bba7702b9ee..c1c69ba4c361740f0ad422a7840a7f0f055c186a 100644 +--- a/src/main/java/org/bukkit/inventory/EquipmentSlot.java ++++ b/src/main/java/org/bukkit/inventory/EquipmentSlot.java +@@ -33,4 +33,42 @@ public enum EquipmentSlot { + public EquipmentSlotGroup getGroup() { + return group.get(); + } ++ // Paper start ++ /** ++ * Checks whether this equipment slot is a hand: ++ * either {@link #HAND} or {@link #OFF_HAND} ++ * ++ * @return whether this is a hand slot ++ */ ++ public boolean isHand() { ++ return this == HAND || this == OFF_HAND; ++ } ++ ++ /** ++ * Gets the opposite hand ++ * ++ * @return the opposite hand ++ * @throws IllegalArgumentException if this equipment slot is not a hand ++ * @see #isHand() ++ */ ++ public @NotNull EquipmentSlot getOppositeHand() { ++ return switch (this) { ++ case HAND -> OFF_HAND; ++ case OFF_HAND -> HAND; ++ default -> throw new IllegalArgumentException("Unable to determine an opposite hand for equipment slot: " + name()); ++ }; ++ } ++ ++ /** ++ * Checks whether this equipment slot ++ * is one of the armor slots: ++ * {@link #HEAD}, {@link #CHEST}, ++ * {@link #LEGS}, {@link #FEET}, or {@link #BODY} ++ * ++ * @return whether this is an armor slot ++ */ ++ public boolean isArmor() { ++ return this == HEAD || this == CHEST || this == LEGS || this == FEET || this == BODY; ++ } ++ // Paper end + } |