mirror of
https://github.com/PaperMC/Paper.git
synced 2024-12-26 19:07:40 +01:00
Improve Item Rarity API
This commit is contained in:
parent
07c1829d7f
commit
83c4827433
@ -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 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.
|
||||
*
|
||||
|
@ -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
|
||||
}
|
||||
|
@ -994,5 +994,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
|
||||
}
|
||||
|
@ -2418,4 +2418,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
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user