Cardboard Armor Set

基本信息

属性 值
护甲材料 ItemCardboardSheet.armorMaterial,耐久 5、减免 {1,2,2,1}、可附魔值 0
类 net.mcft.betterstorage.item.cardboard.ItemCardboardArmor
实现接口 ICardboardItem、ISpecialArmor
可染色 是(canDye 返回 true)
默认颜色 0x705030

来源:src/main/java/net/mcft/betterstorage/item/cardboard/ItemCardboardArmor.java;材料定义在 src/main/java/net/mcft/betterstorage/item/cardboard/ItemCardboardSheet.java:17-18。

功能

四件纸板护甲构成一套装备。它们实现 ISpecialArmor(ItemCardboardArmor.java:20),行为与原版护甲有两处关键差异:

  1. 永不因伤害损毁:getProperties 返回的 ArmorProperties 第三个参数是 armor.getMaxDamage() - armor.getItemDamage(),而 ItemCardboardSheet.damageItem 不会真正扣减耐久
  2. 耐久为 0 时完全失效:getArmorDisplay 返回 ((armor.getItemDamage() < armor.getMaxDamage()) ? damageReduceAmount : 0)(ItemCardboardArmor.java),即护甲"磨损"到 0 后护甲值归零
  • 减免比例 damageReduceAmount / 25.0 为标准原版算法
  • 纹理使用 cardboardArmor / cardboardLeggins(注意源码拼写为 Leggins,少一个 i)
  • 可染色,默认 0x705030

数值

部件 护甲值 耐久 注册名
Cardboard Helmet 1 5 betterstorage:cardboardHelmet
Cardboard Chestplate 2 5 betterstorage:cardboardChestplate
Cardboard Leggings 2 5 betterstorage:cardboardLeggings
Cardboard Boots 1 5 betterstorage:cardboardBoots

减免数组 {1, 2, 2, 1} 来自 ItemCardboardSheet.java:18 的 addArmorMaterial("cardboard", 5, new int[] { 1, 2, 2, 1 }, 0),顺序为头/胸/腿/脚。耐久 5、可附魔值 0 分别来自该调用的第 2、4 个参数。

数值名 值
护甲材料耐久 5
护甲可附魔值 0
默认染色 0x705030
纸板片堆叠上限(合成基底) 8

交互

触发 行为
穿戴 提供上表护甲值;耐久 0 时护甲值归零
受到伤害 通过 ItemCardboardSheet.damageItem 累积"磨损",但不损毁物品
铁砧染色 改变颜色
合成台修复 CardboardRepairRecipe(见 合成台配方),需至少启用一件纸板物品

合成配方

全部使用 ShapedOreRecipe + 物品字典 sheetCardboard(src/main/java/net/mcft/betterstorage/misc/Recipes.java:225-255)。

头盔(:226-233):

ooo
o o

胸甲(:234-242):

o o
ooo
ooo

护腿(:243-251):

ooo
o o
o o

靴子(:252-255):

o o
o o
字符 物品
o 纸板片(sheetCardboard)

相关条目