Table of Contents

:!: 此页面已存档。

物品

物品是你物品栏中占据一个一个格子的内容。它们可以在右击的时候执行操作,食用,或生成实体。以下是整个Item(物品)类与其相关部件的简介。如果你需要一个可以边做边学的例子,请见我们添加物品的教程

物品设置

Item 的构造方法需要一个 Item.Settings 的实例,这个类定义物品的诸多行为,例如堆叠数量、耐久度、是否可食用等等。以下是所有可用的方法:

方法 参数类型 简介
food FoodComponent 设置该物品的FoodComponent(食品部分)为参数值,并标记该物品可食用。
maxCount int 设置该物品的最大堆叠数量为参数值。与大于0的耐久度冲突。
maxDamageIfAbsent int 若该物品未设置最大耐久度以及堆叠数量不大于1,则设置最大耐久度为参数值。
maxDamage int 设置该物品的最大耐久度。(与大于1的最大堆叠数量冲突,并且会在注册时报错!
recipeRemainder Item 设置该物品的合成剩余物(即合成后偿还给玩家的物品)。
rarity Rarity 设置该物品的稀有度,而其也决定了物品名称的默认显示颜色。
fireproof None 使物品防火,不被熔岩和火破坏。

Fabric物品设置

Fabric的物品API提供了一些额外的方法来设置一些其他属性。要使用这些新方法,只需要将new Item.Settings()替换成new FabricItemSettings()即可。 下列是所有FabricItemSettings提供的额外功能:

方法 参数类型 简介
equipmentSlot EquipmentSlotProvider 设置物品如何提供并指定装备槽。
customDamage CustomDamageHandler 设置物品如何自定义处理伤害变化。

食物

public Item.Settings food(FoodComponent foodComponent)

foodComponent - 一个FoodComponent对象。设置时物品的可食属性会根据FoodComponent的值而变化。更深一步的讲解请见FoodComponent的简介页。


最大堆叠数量

public Item.Settings maxCount(int maxCount)

maxCount - 物品在物品堆中可堆叠的最大数量。如果之前已经调用过maxDamage(),游戏会抛出一个RuntimeException(运行时异常),因为一个物品无法同时拥有数量与耐久度。推荐将最大堆叠数量设为64以下的值,更高的值可能会引发许多问题。


若未设置则设置最大耐久度

public Item.Settings maxDamageIfAbsent(int maxDamage)

maxDamage - 物品在物品堆中的最大耐久度。

如果之前还没有调用过maxDamage(),则会将最大耐久度设成参数的值。工具和盔甲在没有设置耐久度时会使用此方法来将物品的最大耐久度设置为工具材料(ToolMaterial)的最大耐久度。


最大耐久度

public Item.Settings maxDamage(int maxDamage)

maxDamage - 物品在物品堆中的最大耐久度。


合成剩余物

public Item.Settings recipeRemainder(Item recipeRemainder)

recipeRemainder - 原物品在合成完成之后返回的物品

有设置了合成剩余物的物品在合成后会将剩余物返回给玩家。设置了该属性的物品有桶(熔岩、水、牛奶)和瓶子(龙息、蜂蜜),合成过后则会返回对应的空物品。


稀有度

public Item.Settings rarity(Rarity rarity)

rarity - 该物品的稀有度。(默认为常见)

有自定义的稀有度的物品名称会变成不同的颜色。

稀有度 字体颜色
常见 白色
少见 黄色
稀有 青色
史诗 淡紫色

防火

public Item.Settings fireproof()

使物品防火,包含此物品的物品实体不被火和熔岩烧毁。