Improve Item Rarity API
This commit is contained in:
@@ -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;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -4845,6 +4845,21 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla
|
|||||||
}
|
}
|
||||||
// Paper end - add Translatable
|
// Paper end - add Translatable
|
||||||
|
|
||||||
|
// Paper start - item rarity API
|
||||||
|
/**
|
||||||
|
* 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 - item rarity API
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Do not use for any reason.
|
* Do not use for any reason.
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -9,17 +9,32 @@ public enum ItemRarity {
|
|||||||
/**
|
/**
|
||||||
* White item name.
|
* White item name.
|
||||||
*/
|
*/
|
||||||
COMMON,
|
COMMON(net.kyori.adventure.text.format.NamedTextColor.WHITE), // Paper
|
||||||
/**
|
/**
|
||||||
* Yellow item name.
|
* Yellow item name.
|
||||||
*/
|
*/
|
||||||
UNCOMMON,
|
UNCOMMON(net.kyori.adventure.text.format.NamedTextColor.YELLOW), // Paper
|
||||||
/**
|
/**
|
||||||
* Aqua item name.
|
* Aqua item name.
|
||||||
*/
|
*/
|
||||||
RARE,
|
RARE(net.kyori.adventure.text.format.NamedTextColor.AQUA), // Paper
|
||||||
/**
|
/**
|
||||||
* Light purple item name.
|
* 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
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -994,5 +994,17 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
|
|||||||
public @NotNull String translationKey() {
|
public @NotNull String translationKey() {
|
||||||
return Bukkit.getUnsafe().getTranslationKey(this);
|
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
|
// Paper end
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2418,4 +2418,13 @@ public interface ItemType extends Keyed, Translatable, net.kyori.adventure.trans
|
|||||||
@Override
|
@Override
|
||||||
@NotNull String getTranslationKey();
|
@NotNull String getTranslationKey();
|
||||||
// Paper end - add Translatable
|
// 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
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user