Add EquipmentSlot#getOppositeHand (#10632)

This commit is contained in:
SoSeDiK 2024-05-01 20:14:27 +03:00 committed by GitHub
parent faa7aa266a
commit 18c201b838
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -5,10 +5,10 @@ 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..adf0a94f98eb66b3957d4009d83ad5f741e0aa79 100644
index 5642d8af60b6649497aba9b0f6ab7bba7702b9ee..a10d56b797e58b56bd4cef6de40691f7eac9b5b1 100644
--- a/src/main/java/org/bukkit/inventory/EquipmentSlot.java
+++ b/src/main/java/org/bukkit/inventory/EquipmentSlot.java
@@ -33,4 +33,27 @@ public enum EquipmentSlot {
@@ -33,4 +33,42 @@ public enum EquipmentSlot {
public EquipmentSlotGroup getGroup() {
return group.get();
}
@ -24,6 +24,21 @@ index 5642d8af60b6649497aba9b0f6ab7bba7702b9ee..adf0a94f98eb66b3957d4009d83ad5f7
+ }
+
+ /**
+ * 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},