Class ItemBuilder
-
- All Implemented Interfaces:
public class ItemBuilder
-
-
Field Summary
Fields Modifier and Type Field Description public final static ItemStack
air
public 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 void
load(@Nullable() ConfigurationSection config)
void
load(@Nullable() ConfigReader config)
ItemStack
build()
根据已有内容构建并返回物品. Material
getType()
void
setType(@Nullable() Material material)
ItemStack
getItemStack()
void
setItemStack(@Nullable() ItemStack itemStack)
Short
getDamage()
void
setDamage(short damage)
Map<Enchantment, Short>
getEnchantments()
void
setEnchantments(@NonNull() Map<Enchantment, Short> enchantments)
Integer
getCustomModelData()
void
setCustomModelData(int customModelData)
boolean
getUnbreakable()
void
setUnbreakable(boolean unbreakable)
Integer
getHideFlag()
void
setHideFlag(@Nullable() Integer hideFlag)
NbtCompound
getCoverNbt()
void
setCoverNbt(@Nullable() NbtCompound coverNbt)
void
runPostItemInit(@Nullable() Consumer<ItemStack> postItemInit)
build方法内, 根据material生成ItemStack实例或执行ItemStack#setType后执行的动作. void
runPreCoverNbt(@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
- 执行的动作
-
-
-
-