3e90a19183
Upstream has released updates that appear to apply and compile correctly. This update has not been tested by PaperMC and as with ANY update, please do your own testing Bukkit Changes: 304e83eb PR-1002: Improve documentation and implementation of getMaxStackSize e8215ea2 SPIGOT-7638: Library loader does not seem to resolve every dependency 79c595c0 SPIGOT-7637: Bad logic in checking nullability of AttributeModifier slots CraftBukkit Changes: 91b1fc3f1 SPIGOT-7644: Fix ItemMeta#getAsString 4e77a81e1 SPIGOT-7615: PlayerLeashEntityEvent cancelled eats lead 996f660f3 Do not remove leash knot if leasing to an existing leash knot gets cancelled f70367d42 SPIGOT-7643: Fix inverted leash event cancelled usage and remove leash knot if no entity gets leashed 7ddb48294 SPIGOT-7640: Abnormal jumping height of wind charge 080c8711e SPIGOT-7639: Incoming plugin channels not working ad549847e Open a direct connection instead of pinging mojang server to check if it is reachable 38e2926c5 SPIGOT-7365: DamageCause blocked by shield should trigger invulnerableTime
132 Zeilen
4.7 KiB
Diff
132 Zeilen
4.7 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Jake Potrebic <jake.m.potrebic@gmail.com>
|
|
Date: Fri, 12 Mar 2021 17:09:40 -0800
|
|
Subject: [PATCH] Improve Item Rarity API
|
|
|
|
|
|
diff --git a/src/main/java/io/papermc/paper/inventory/ItemRarity.java b/src/main/java/io/papermc/paper/inventory/ItemRarity.java
|
|
new file mode 100644
|
|
index 0000000000000000000000000000000000000000..f1cd5a4f37eee8975ac3d0421b524afcf644fafd
|
|
--- /dev/null
|
|
+++ b/src/main/java/io/papermc/paper/inventory/ItemRarity.java
|
|
@@ -0,0 +1,32 @@
|
|
+package io.papermc.paper.inventory;
|
|
+
|
|
+import net.kyori.adventure.text.format.NamedTextColor;
|
|
+import net.kyori.adventure.text.format.TextColor;
|
|
+import org.jetbrains.annotations.NotNull;
|
|
+
|
|
+/**
|
|
+ * @deprecated use {@link org.bukkit.inventory.ItemRarity} with {@link org.bukkit.inventory.meta.ItemMeta#getRarity()}
|
|
+ */
|
|
+@Deprecated(forRemoval = true, since = "1.20.5")
|
|
+public enum ItemRarity {
|
|
+
|
|
+ COMMON(NamedTextColor.WHITE),
|
|
+ UNCOMMON(NamedTextColor.YELLOW),
|
|
+ RARE(NamedTextColor.AQUA),
|
|
+ EPIC(NamedTextColor.LIGHT_PURPLE);
|
|
+
|
|
+ TextColor color;
|
|
+
|
|
+ ItemRarity(TextColor color) {
|
|
+ this.color = color;
|
|
+ }
|
|
+
|
|
+ /**
|
|
+ * Gets the color formatting associated with the rarity.
|
|
+ * @return
|
|
+ */
|
|
+ @NotNull
|
|
+ public TextColor getColor() {
|
|
+ return color;
|
|
+ }
|
|
+}
|
|
diff --git a/src/main/java/org/bukkit/Material.java b/src/main/java/org/bukkit/Material.java
|
|
index 5aa595860c73e78cf3c9f2a8984c62744cfe5612..1e4ebe9bdc6aadf18029377e7ce70ca0d88bd1a1 100644
|
|
--- a/src/main/java/org/bukkit/Material.java
|
|
+++ b/src/main/java/org/bukkit/Material.java
|
|
@@ -4750,6 +4750,19 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla
|
|
return Bukkit.getUnsafe().getBlockTranslationKey(this);
|
|
}
|
|
}
|
|
+
|
|
+ /**
|
|
+ * Returns the item rarity for the item. The Material <b>MUST</b> be an Item not a block.
|
|
+ * Use {@link #isItem()} before this.
|
|
+ *
|
|
+ * @return the item rarity
|
|
+ * @deprecated use {@link org.bukkit.inventory.meta.ItemMeta#hasRarity()} and {@link org.bukkit.inventory.meta.ItemMeta#getRarity()}
|
|
+ */
|
|
+ @NotNull
|
|
+ @Deprecated(forRemoval = true, since = "1.20.5")
|
|
+ public io.papermc.paper.inventory.ItemRarity getItemRarity() {
|
|
+ return new org.bukkit.inventory.ItemStack(this).getRarity();
|
|
+ }
|
|
// Paper end
|
|
|
|
/**
|
|
diff --git a/src/main/java/org/bukkit/inventory/ItemRarity.java b/src/main/java/org/bukkit/inventory/ItemRarity.java
|
|
index e7931f73f10fe35ebd5fe4a04b036d53bb117ebd..cbce835ed6d44e5b8c9aaae4e36a77f8e5bed45f 100644
|
|
--- a/src/main/java/org/bukkit/inventory/ItemRarity.java
|
|
+++ b/src/main/java/org/bukkit/inventory/ItemRarity.java
|
|
@@ -9,17 +9,32 @@ public enum ItemRarity {
|
|
/**
|
|
* White item name.
|
|
*/
|
|
- COMMON,
|
|
+ COMMON(net.kyori.adventure.text.format.NamedTextColor.WHITE), // Paper
|
|
/**
|
|
* Yellow item name.
|
|
*/
|
|
- UNCOMMON,
|
|
+ UNCOMMON(net.kyori.adventure.text.format.NamedTextColor.YELLOW), // Paper
|
|
/**
|
|
* Aqua item name.
|
|
*/
|
|
- RARE,
|
|
+ RARE(net.kyori.adventure.text.format.NamedTextColor.AQUA), // Paper
|
|
/**
|
|
* Light purple item name.
|
|
*/
|
|
- EPIC;
|
|
+ EPIC(net.kyori.adventure.text.format.NamedTextColor.LIGHT_PURPLE); // Paper
|
|
+ // Paper start - improve ItemRarity
|
|
+ private final net.kyori.adventure.text.format.NamedTextColor color;
|
|
+ ItemRarity(final net.kyori.adventure.text.format.NamedTextColor color) {
|
|
+ this.color = color;
|
|
+ }
|
|
+
|
|
+ /**
|
|
+ * Gets the color formatting associated with this rarity.
|
|
+ *
|
|
+ * @return the color
|
|
+ */
|
|
+ public net.kyori.adventure.text.format.@org.jetbrains.annotations.NotNull TextColor color() {
|
|
+ return this.color;
|
|
+ }
|
|
+ // Paper end
|
|
}
|
|
diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java
|
|
index 645cff10eef90826bb44bbe937b141289f182cde..a92421bbf0ee40ecbe4f272459c6a918dc45344c 100644
|
|
--- a/src/main/java/org/bukkit/inventory/ItemStack.java
|
|
+++ b/src/main/java/org/bukkit/inventory/ItemStack.java
|
|
@@ -891,5 +891,17 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
|
|
public @NotNull String translationKey() {
|
|
return Bukkit.getUnsafe().getTranslationKey(this);
|
|
}
|
|
+
|
|
+ /**
|
|
+ * Gets the item rarity of the itemstack. The rarity can change based on enchantments.
|
|
+ *
|
|
+ * @return the itemstack rarity
|
|
+ * @deprecated Use {@link ItemMeta#hasRarity()} and {@link ItemMeta#getRarity()}
|
|
+ */
|
|
+ @NotNull
|
|
+ @Deprecated(forRemoval = true, since = "1.20.5")
|
|
+ public io.papermc.paper.inventory.ItemRarity getRarity() {
|
|
+ return io.papermc.paper.inventory.ItemRarity.valueOf(this.getItemMeta().getRarity().name());
|
|
+ }
|
|
// Paper end
|
|
}
|