Class ItemBuilder
-
- All Implemented Interfaces:
public class ItemBuilder
-
-
Field Summary
Fields Modifier and Type Field Description public final static ItemStackairpublic final static Map<String, Enchantment>byFieldName
-
Constructor Summary
Constructors Constructor Description ItemBuilder()ItemBuilder(Material material)ItemBuilder(ItemStack itemStack)ItemBuilder(ConfigReader config)
-
Method Summary
Modifier and Type Method Description voidload(@Nullable() ConfigurationSection config)voidload(@Nullable() ConfigReader config)ItemStackbuild()根据已有内容构建并返回物品. MaterialgetType()voidsetType(@Nullable() Material material)ItemStackgetItemStack()voidsetItemStack(@Nullable() ItemStack itemStack)ShortgetDamage()voidsetDamage(short damage)Map<Enchantment, Short>getEnchantments()voidsetEnchantments(@NonNull() Map<Enchantment, Short> enchantments)IntegergetCustomModelData()voidsetCustomModelData(int customModelData)booleangetUnbreakable()voidsetUnbreakable(boolean unbreakable)IntegergetHideFlag()voidsetHideFlag(@Nullable() Integer hideFlag)NbtCompoundgetCoverNbt()voidsetCoverNbt(@Nullable() NbtCompound coverNbt)voidrunPostItemInit(@Nullable() Consumer<ItemStack> postItemInit)build方法内, 根据material生成ItemStack实例或执行ItemStack#setType后执行的动作. voidrunPreCoverNbt(@Nullable() BiConsumer<ItemStack, NbtCompound> preCoverNbt)build方法内, 物品各个属性设置完毕, 将额外NBT覆盖至物品当前NBT前执行的动作. -
-
Constructor Detail
-
ItemBuilder
ItemBuilder()
-
ItemBuilder
ItemBuilder(Material material)
-
ItemBuilder
ItemBuilder(ItemStack itemStack)
-
ItemBuilder
ItemBuilder(ConfigReader config)
-
-
Method Detail
-
load
void load(@Nullable() ConfigurationSection config)
-
load
void load(@Nullable() ConfigReader config)
-
build
@NonNull() ItemStack build()
根据已有内容构建并返回物品. 返回前会将当前ItemBuilder实例的itemStack字段设置为返回值. 构建过程中可能会对已有内容进行修改, 比如清空所有Enchantment. 构建结果永远不为null, 构建失败将返回AIR. 禁止多次调用build方法, 为防止出现问题, 此时将抛出异常.
- Returns:
构建产物.
-
getType
@Nullable() Material getType()
-
setType
void setType(@Nullable() Material material)
-
getItemStack
@Nullable() ItemStack getItemStack()
-
setItemStack
void setItemStack(@Nullable() ItemStack itemStack)
-
setDamage
void setDamage(short damage)
-
getEnchantments
@NonNull() Map<Enchantment, Short> getEnchantments()
-
setEnchantments
void setEnchantments(@NonNull() Map<Enchantment, Short> enchantments)
-
getCustomModelData
@Nullable() Integer getCustomModelData()
-
setCustomModelData
void setCustomModelData(int customModelData)
-
getUnbreakable
boolean getUnbreakable()
-
setUnbreakable
void setUnbreakable(boolean unbreakable)
-
getHideFlag
@Nullable() Integer getHideFlag()
-
setHideFlag
void setHideFlag(@Nullable() Integer hideFlag)
-
getCoverNbt
@Nullable() NbtCompound getCoverNbt()
-
setCoverNbt
void setCoverNbt(@Nullable() NbtCompound coverNbt)
-
runPostItemInit
void runPostItemInit(@Nullable() Consumer<ItemStack> postItemInit)
build方法内, 根据material生成ItemStack实例或执行ItemStack#setType后执行的动作.
- Parameters:
postItemInit- 执行的动作
-
runPreCoverNbt
void runPreCoverNbt(@Nullable() BiConsumer<ItemStack, NbtCompound> preCoverNbt)
build方法内, 物品各个属性设置完毕, 将额外NBT覆盖至物品当前NBT前执行的动作.
- Parameters:
preCoverNbt- 执行的动作
-
-
-
-