Add ItemType#getItemRarity (#11049)

This commit is contained in:
Jake Potrebic 2024-07-15 07:38:20 -07:00 committed by GitHub
parent b4f04ff4b3
commit 05e5865da3
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 41 additions and 0 deletions

View file

@ -131,3 +131,21 @@ index ef36a696f2f926d70c5d93ce08f75fa9a749e32f..fb1d7ff51f267225ac76c29a56d67fb4
+ }
// Paper end
}
diff --git a/src/main/java/org/bukkit/inventory/ItemType.java b/src/main/java/org/bukkit/inventory/ItemType.java
index 5dd1c084e42ee93f3a358f58ed76b0a7d36f0713..2b5a18fe7e885fa9b581c0afb299e31f3db2690c 100644
--- a/src/main/java/org/bukkit/inventory/ItemType.java
+++ b/src/main/java/org/bukkit/inventory/ItemType.java
@@ -2311,4 +2311,13 @@ public interface ItemType extends Keyed, Translatable, net.kyori.adventure.trans
@Override
@NotNull String getTranslationKey();
// Paper end - add Translatable
+
+ // Paper start - expand ItemRarity API
+ /**
+ * Returns the item rarity for the item.
+ *
+ * @return the item rarity (or null if none is set)
+ */
+ @Nullable ItemRarity getItemRarity();
+ // Paper end - expand ItemRarity API
}

View file

@ -0,0 +1,23 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Jake Potrebic <jake.m.potrebic@gmail.com>
Date: Tue, 9 Jul 2024 18:37:37 -0700
Subject: [PATCH] Add ItemType#getItemRarity
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemType.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemType.java
index bae3dd5fc67e6b3d98a5e63ffbf639c5042f8843..450c63c31d2f5d056d989aa00452231f50c8224d 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemType.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemType.java
@@ -265,4 +265,12 @@ public class CraftItemType<M extends ItemMeta> implements ItemType.Typed<M>, Han
return this.item.getDescriptionId();
}
// Paper end - add Translatable
+
+ // Paper start - expand ItemRarity API
+ @Override
+ public org.bukkit.inventory.ItemRarity getItemRarity() {
+ final net.minecraft.world.item.Rarity rarity = this.item.components().get(DataComponents.RARITY);
+ return rarity == null ? null : org.bukkit.inventory.ItemRarity.valueOf(rarity.name());
+ }
+ // Paper end - expand ItemRarity API
}