public class ItemStack extends Object implements Cloneable , ConfigurationSerializable , Translatable
代表物品堆. 重要: 物品 堆只被设计用于容纳物品. 请不要使用本类来简要描述某种不可获得的物品 (可以用 Material.isItem() 检测, 不要用 ItemStack存储此方法返回false的物品).

以不安全的方式向物品堆添加附魔.
boolean
检测该物品堆是否包含指定 附魔 .
实现配置序列化与反序列化需要的方法.
boolean
获取该物品堆的物品堆叠数量.
获取该物品堆的 MateralData 数据.
short
获取该物品指定附魔的附魔等级.
获取该物品的所有附魔以及对应的附魔等级, 用map表示.
获取此物品堆的 ItemMeta 的副本.
获取该物品的最大堆叠数 (若物品未知返回-1).
Get the translation key, suitable for use in a translation component.
获取该物品的种类.
boolean
检测该物品堆是否含有任何物品元数据.
boolean
该方法与equals方法相同, 但不考虑堆叠数量.
移除指定的 附魔 .
Creates a Map representation of this class.
setAmount (int amount)
设置该物品堆的物品堆叠数量.
设置该物品堆的 MateralData 数据.
setDurability (short durability)
耐久度现在是 ItemMeta 的一部分.
boolean
向物品堆设置元数据.
设置该物品的种类.
重要: 物品 堆只被设计用于容纳物品. 请不要使用本类来简要描述某种不可获得的物品 (可以用 Material.isItem() 检测, 不要用 ItemStack存储此方法返回false的物品). 原文:Defaults stack size to 1, with no extra data. IMPORTANT: An Item Stack is only designed to contain items . Do not use this class to encapsulate Materials for which Material.isItem() returns false.

type - 物品种类
重要: 物品 堆只被设计用于容纳物品. 请不要使用本类来简要描述某种不可获得的物品 (可以用 Material.isItem() 检测, 不要用 ItemStack存储此方法返回false的物品). 原文:An item stack with no extra data. IMPORTANT: An Item Stack is only designed to contain items . Do not use this class to encapsulate Materials for which Material.isItem() returns false.

type - 物品种类
amount - 堆叠数
重要: 物品 堆只被设计用于容纳物品. 请不要使用本类来简要描述某种不可获得的物品 (可以用 Material.isItem() 检测, 不要用 ItemStack存储此方法返回false的物品). 原文:Sets the type of this item Note that in doing so you will reset the MaterialData for this stack. IMPORTANT: An Item Stack is only designed to contain items . Do not use this class to encapsulate Materials for which Material.isItem() returns false.

type - 该物品的种类
耐久度现在是 ItemMeta 的一部分. 为避免疑虑和误用, 请使用 getItemMeta() , setItemMeta(ItemMeta) Damageable.setDamage(int) . 这是因为在调用此方法之前创建的 ItemMeta 的后续变动将覆盖调用此方法设置的物品元数据.
设置该物品的耐久度. 原文:Sets the durability of this item

durability - 物品耐久度
获取该物品的最大堆叠数 (若物品未知返回-1). 原文:Get the maximum stacksize for the material hold in this ItemStack. (Returns -1 if it has no idea)

该物品的最大堆叠数
public boolean isSimilar ( @Nullable @Nullable ItemStack stack)
该方法与equals方法相同, 但不考虑堆叠数量. 原文:This method is the same as equals, but does not consider stack size (amount).

stack - 与哪个物品堆作比较
若两者相同返回true (忽略其堆叠数)

containsEnchantment

public boolean containsEnchantment ( @NotNull @NotNull Enchantment ench)
检测该物品堆是否包含指定 附魔 . 原文:Checks if this ItemStack contains the given Enchantment

ench - 附魔
若该物品含有此附魔返回true

getEnchantmentLevel

public int getEnchantmentLevel ( @NotNull @NotNull Enchantment ench)
获取该物品指定附魔的附魔等级. 原文:Gets the level of the specified enchantment on this item stack

ench - 附魔
指定附魔的附魔等级, 若附魔不存在/没有附魔则为0
获取该物品的所有附魔以及对应的附魔等级, 用map表示. 原文:Gets a map containing all enchantments and their levels on this item.

addEnchantments

public void addEnchantments ( @NotNull @NotNull Map < Enchantment , Integer > enchantments)
向物品堆添加附魔. 该方法实质就是遍历你所给的map, 逐一调用 addEnchantment(org.bukkit.enchantments.Enchantment, int) . 原文:Adds the specified enchantments to this item stack. This method is the same as calling addEnchantment(org.bukkit.enchantments.Enchantment, int) for each element of the map.

enchantments - 要添加的附魔
IllegalArgumentException - 若参数enchantments为null
IllegalArgumentException - 若任何指定的附魔或等级为null. 警告 : 某些附魔可能会在此异常抛出前添加到此物品上
若此物品堆已经含有给定的附魔(无论它们的附魔等级是什么), 将替换已有的附魔. 原文:Adds the specified Enchantment to this item stack. If this item stack already contained the given enchantment (at any level), it will be replaced.

ench - 附魔
level - 附魔等级
IllegalArgumentException - 若enchantment为null, 或该附魔不可应用于此物品上

addUnsafeEnchantments

public void addUnsafeEnchantments ( @NotNull @NotNull Map < Enchantment , Integer > enchantments)
以不安全的方式向物品堆添加附魔. 该方法实质就是遍历你所给的map, 逐一调用 addUnsafeEnchantment(org.bukkit.enchantments.Enchantment, int) . 原文:Adds the specified enchantments to this item stack in an unsafe manner. This method is the same as calling addUnsafeEnchantment(org.bukkit.enchantments.Enchantment, int) for each element of the map.

enchantments - 附魔

addUnsafeEnchantment

public void addUnsafeEnchantment ( @NotNull @NotNull Enchantment ench, int level)
向物品堆添加 附魔 . 若此物品堆已经含有给定的附魔(无论它们的附魔等级是什么), 将替换已有的附魔. 该方法是个不安全操作, 忽略附魔的等级限制以及对此物品的可用性. 请慎重使用. 原文:Adds the specified Enchantment to this item stack. If this item stack already contained the given enchantment (at any level), it will be replaced. This method is unsafe and will ignore level restrictions or item type. Use at your own discretion.

ench - 附魔
level - 附魔等级
从接口复制的说明: ConfigurationSerializable
Creates a Map representation of this class. This class must provide a method to restore this class, as defined in the ConfigurationSerializable interface javadocs.

serialize 在接口中 ConfigurationSerializable
Map containing the current state of this class
实现配置序列化与反序列化需要的方法. 原文:Required method for configuration serialization

args - 需要反序列化的map
反序列化后的物品堆
另请参阅:
  • ConfigurationSerializable
  • itemMeta - 新物品元数据,或用null来清除此物品上的元数据
    若成功应用物品元数据返回true, 另请参见 ItemFactory.isApplicable(ItemMeta, ItemStack)
    IllegalArgumentException - 物品元数据不是通过 ItemFactory 创建的
    public @NotNull String getTranslationKey ()
    从接口复制的说明: Translatable
    Get the translation key, suitable for use in a translation component.
    getTranslationKey 在接口中 Translatable
    the translation key