:!: 此页面已存档。
====== 物品 ======
物品是你物品栏中占据一个一个格子的内容。它们可以在右击的时候执行操作,食用,或生成实体。以下是整个''Item''(物品)类与其相关部件的简介。如果你需要一个可以边做边学的例子,请见我们[[zh_cn:tutorial:items|添加物品的教程]]。
===== 物品设置 =====
''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()
使物品防火,包含此物品的物品实体不被火和熔岩烧毁。