Class ItemStackWrapper
java.lang.Object
org.bukkit.inventory.ItemStack
io.github.thebusybiscuit.slimefun4.utils.itemstack.ItemStackWrapper
- All Implemented Interfaces:
io.papermc.paper.persistence.PersistentDataViewHolder,Cloneable,net.kyori.adventure.text.event.HoverEventSource<net.kyori.adventure.text.event.HoverEvent.ShowItem>,net.kyori.adventure.translation.Translatable,org.bukkit.configuration.serialization.ConfigurationSerializable,org.bukkit.Translatable
public final class ItemStackWrapper
extends org.bukkit.inventory.ItemStack
This
Please be very careful when using this.
ItemStack, which is not intended for actual usage, caches its ItemMeta.
This significantly speeds up any ItemStack comparisons a lot.
You cannot invoke equals(Object), hashCode() or any of its setter on an
ItemStackWrapper.Please be very careful when using this.
- Author:
- TheBusyBiscuit, md5sha256
-
Method Summary
Modifier and TypeMethodDescriptionvoidaddUnsafeEnchantment(org.bukkit.enchantments.Enchantment ench, int level) org.bukkit.inventory.ItemStackclone()booleanstatic ItemStackWrapperforceWrap(org.bukkit.inventory.ItemStack itemStack) Creates anItemStackWrapperof anItemStack.intorg.bukkit.inventory.meta.ItemMetainthashCode()booleanvoidsetAmount(int amount) booleansetItemMeta(org.bukkit.inventory.meta.ItemMeta itemMeta) voidsetType(org.bukkit.Material type) static ItemStackWrapperwrap(org.bukkit.inventory.ItemStack itemStack) Creates anItemStackWrapperof anItemStack.static ItemStackWrapper[]wrapArray(org.bukkit.inventory.ItemStack[] items) This creates anItemStackWrapperarray from a givenItemStackarray.static List<ItemStackWrapper> Methods inherited from class org.bukkit.inventory.ItemStack
add, add, addEnchantment, addEnchantments, addItemFlags, addUnsafeEnchantments, asHoverEvent, asOne, asQuantity, canRepair, computeTooltipLines, containsEnchantment, copyDataFrom, damage, deserialize, deserializeBytes, deserializeItemsFromBytes, displayName, editMeta, editMeta, editPersistentDataContainer, effectiveName, empty, enchantWithLevels, enchantWithLevels, ensureServerConversions, getData, getData, getDataOrDefault, getDataTypes, getDurability, getEnchantmentLevel, getEnchantments, getI18NDisplayName, getItemFlags, getLore, getMaxItemUseDuration, getMaxItemUseDuration, getMaxStackSize, getPersistentDataContainer, getRarity, getTranslationKey, getType, hasData, hasItemFlag, isDataOverridden, isEmpty, isRepairableBy, isSimilar, lore, lore, matchesWithoutData, matchesWithoutData, of, of, removeEnchantment, removeEnchantments, removeItemFlags, resetData, serialize, serializeAsBytes, serializeItemsAsBytes, serializeItemsAsBytes, setData, setData, setData, setData, setDurability, setLore, subtract, subtract, toString, translationKey, unsetData, withTypeMethods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface net.kyori.adventure.text.event.HoverEventSource
asHoverEvent
-
Method Details
-
hasItemMeta
public boolean hasItemMeta()- Overrides:
hasItemMetain classorg.bukkit.inventory.ItemStack
-
getItemMeta
public org.bukkit.inventory.meta.ItemMeta getItemMeta()- Overrides:
getItemMetain classorg.bukkit.inventory.ItemStack
-
getAmount
public int getAmount()- Overrides:
getAmountin classorg.bukkit.inventory.ItemStack
-
equals
- Overrides:
equalsin classorg.bukkit.inventory.ItemStack
-
hashCode
public int hashCode()- Overrides:
hashCodein classorg.bukkit.inventory.ItemStack
-
clone
public org.bukkit.inventory.ItemStack clone()- Overrides:
clonein classorg.bukkit.inventory.ItemStack
-
setType
public void setType(org.bukkit.Material type) - Overrides:
setTypein classorg.bukkit.inventory.ItemStack
-
setAmount
public void setAmount(int amount) - Overrides:
setAmountin classorg.bukkit.inventory.ItemStack
-
setItemMeta
public boolean setItemMeta(org.bukkit.inventory.meta.ItemMeta itemMeta) - Overrides:
setItemMetain classorg.bukkit.inventory.ItemStack
-
addUnsafeEnchantment
public void addUnsafeEnchantment(org.bukkit.enchantments.Enchantment ench, int level) - Overrides:
addUnsafeEnchantmentin classorg.bukkit.inventory.ItemStack
-
forceWrap
@Nonnull public static ItemStackWrapper forceWrap(@Nonnull org.bukkit.inventory.ItemStack itemStack) Creates anItemStackWrapperof anItemStack. This method will not check if the passedItemStackhas already been wrapped- Parameters:
itemStack- TheItemStackto wrap- Returns:
- Returns an
ItemStackWrapperof the passedItemStack - See Also:
-
wrap
Creates anItemStackWrapperof anItemStack. This method will return the the casted reference of the passedItemStackif it is already anItemStackWrapper- Parameters:
itemStack- TheItemStackto wrap- Returns:
- Returns an
ItemStackWrapperof the passedItemStack - See Also:
-
wrapArray
@Nonnull public static ItemStackWrapper[] wrapArray(@Nonnull org.bukkit.inventory.ItemStack[] items) This creates anItemStackWrapperarray from a givenItemStackarray.- Parameters:
items- The array ofItemStacksto transform- Returns:
- An
ItemStackWrapperarray
-
wrapList
@Nonnull public static List<ItemStackWrapper> wrapList(@Nonnull List<org.bukkit.inventory.ItemStack> items) - Parameters:
items- TheListofItemStacksto transform- Returns:
- An
ItemStackWrapperarray
-