Add EquipmentSlot#getOppositeHand

This commit is contained in:
SoSeDiK 2024-05-01 06:33:52 +03:00
parent 3e0eb4a1ba
commit e3ab2c0f56

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},