天境护甲
基本信息
天境护甲共 6 套 × 4 件 = 24 件,外加 1 件哨卫长靴,共 25 件护甲类物品。
| 套系 | 类 | ArmorMaterial |
修复材料 | 染色 | 注册行 |
|---|---|---|---|---|---|
| 紫晶 | ItemZaniteArmor |
IRON |
紫晶石 zanite_gemstone |
0x711AE8 |
ItemsAether.java 护甲段 |
| 重力晶 | ItemAetherArmor |
DIAMOND |
魔淬重力晶矿 | — | 同上 |
| 海神 | ItemAetherArmor |
DIAMOND |
无 | 0x2654FF |
同上 |
| 凤凰 | ItemAetherArmor |
DIAMOND |
无 | — | 同上 |
| 黑曜 | ItemAetherArmor |
DIAMOND |
无 | 0x1B1447 |
同上 |
| 女武神 | ItemAetherArmor |
DIAMOND |
无 | — | 同上 |
| 注册名 | 中文名 | armorType |
套系名参数 |
|---|---|---|---|
aether_legacy:zanite_helmet |
紫晶头盔 | 0 | "zanite" |
aether_legacy:zanite_chestplate |
紫晶胸甲 | 1 | "zanite" |
aether_legacy:zanite_leggings |
紫晶护腿 | 2 | "zanite" |
aether_legacy:zanite_boots |
紫晶战靴 | 3 | "zanite" |
aether_legacy:gravitite_helmet |
重力晶盔 | 0 | "gravitite" |
aether_legacy:gravitite_chestplate |
重力晶甲 | 1 | "gravitite" |
aether_legacy:gravitite_leggings |
重力晶护腿 | 2 | "gravitite" |
aether_legacy:gravitite_boots |
重力晶靴 | 3 | "gravitite" |
aether_legacy:neptune_helmet |
海神头盔 | 0 | "neptune" |
aether_legacy:neptune_chestplate |
海神胸甲 | 1 | "neptune" |
aether_legacy:neptune_leggings |
海神护腿 | 2 | "neptune" |
aether_legacy:neptune_boots |
海神战靴 | 3 | "neptune" |
aether_legacy:phoenix_helmet |
凤凰头盔 | 0 | "phoenix" |
aether_legacy:phoenix_chestplate |
凤凰胸甲 | 1 | "phoenix" |
aether_legacy:phoenix_leggings |
凤凰护腿 | 2 | "phoenix" |
aether_legacy:phoenix_boots |
凤凰战靴 | 3 | "phoenix" |
aether_legacy:obsidian_helmet |
黑曜头盔 | 0 | "obsidian" |
aether_legacy:obsidian_chestplate |
黑曜胸甲 | 1 | "obsidian" |
aether_legacy:obsidian_leggings |
黑曜护腿 | 2 | "obsidian" |
aether_legacy:obsidian_boots |
黑曜战靴 | 3 | "obsidian" |
aether_legacy:valkyrie_helmet |
武神头盔 | 0 | "valkyrie" |
aether_legacy:valkyrie_chestplate |
武神胸甲 | 1 | "valkyrie" |
aether_legacy:valkyrie_leggings |
武神护腿 | 2 | "valkyrie" |
aether_legacy:valkyrie_boots |
武神靴子 | 3 | "valkyrie" |
aether_legacy:sentry_boots |
哨卫长靴 | 3 | "sentry" |
armorType 约定为 0 = 头盔、1 胸甲、2 护腿、3 靴子,与原版 ItemArmor 一致。
功能
护甲贴图
ItemAetherArmor.getArmorTexture(ItemAetherArmor.java)按套系名拼贴图路径:
return this.shouldDefualt ? (leggings ? defualt_location[1] : defualt_location[0])
: Aether.modAddress() + "textures/armor/" + this.armorName + "_" + type1 + ".png";
leggings由getUnlocalizedName().contains("leggings")判定,对应layer_2,其余为layer_1shouldDefualt为真时复用原版铁质护甲贴图textures/models/armor/iron_layer_{1,2}.png(ItemAetherArmor.java:15-16)
注意:sentry_boots 的套系名是 "sentry",需要贴图 aether_legacy:textures/armor/sentry_layer_1.png。该文件是否存在于资源包中本次未逐一核对全部 25 件的贴图文件,仅可确证 getArmorTexture 的拼接规则。
染色
使用 5 参构造(带 hex)的三套护甲可染色:
| 套系 | 颜色值 | 效果 |
|---|---|---|
| 紫晶 | 0x711AE8 |
紫色 |
| 海神 | 0x2654FF |
蓝色 |
| 黑曜 | 0x1B1447 |
近黑 |
getColorFromItemStack(ItemAetherArmor.java)在 colorization != -1 时返回染色值,否则返回 16777215(纯白,即不染色)。这是原版「皮甲可染色」机制的复用。
修复
getIsRepairable(ItemAetherArmor.java):
return this.source == null ? false : repair.getItem() == this.source;
只有传入了修复材料的套系才能修复:
| 套系 | 修复材料 |
|---|---|
| 紫晶 | aether_legacy:zanite_gemstone(紫晶石) |
| 重力晶 | aether_legacy:enchanted_gravitite(魔淬重力晶矿)方块物品 |
| 海神 / 凤凰 / 黑曜 / 女武神 / 哨卫 | 不可修复(source == null) |
稀有度
getRarity(ItemAetherArmor.java)对护甲名做字符串匹配:
return !this.armorName.contains("zanite") && !this.armorName.contains("gravitite") ? ItemsAether.aether_loot
: super.getRarity(stack);
即除紫晶与重力晶外的所有护甲(海神、凤凰、黑曜、女武神、哨卫,共 13 件)都是绿色「天境战利品」稀有度(ItemsAether.java:57-58,EnumHelper.addRarity("aether_legacy_loot", EnumChatFormatting.GREEN, "Aether Loot"))。紫晶与重力晶护甲保持普通稀有度。
紫晶护甲的动态减伤
ItemZaniteArmor implements ISpecialArmor(ItemZaniteArmor.java:10),实现了随剩余耐久变化的动态减伤。isBetween(tool, max, min)(ItemZaniteArmor.java)判定 origin <= maxDamage - max && origin >= maxDamage - min,即按已消耗耐久分段:
| 部位 | 满耐久 | 25%–100% | 50%–75% | 75%–50% | 濒临损坏 |
|---|---|---|---|---|---|
| 头盔(type 0) | 4 | 3 | 2 | 1 | 0 |
| 胸甲(type 1) | 3 | 2 | 1 | 0 | — |
| 护腿(type 2) | 4 | 3 | 2 | 1 | 0 |
| 靴子(type 3) | 4 | 3 | 2 | 1 | 0 |
表中的数字是传入 getDamageReductionAmount(level) 的目标等级,实际减伤点数取自 this.damageReductionAmountArray[level][this.armorType](ItemZaniteArmor.java),该数组由 ArmorMaterial.DIAMOND / IRON 决定,原版 ArmorMaterial 不在 mirror/ 中,故具体点数无法核实。
分段边界(以最大耐久为基准的已损失值,ItemZaniteArmor.java):
| 部位 | 第 1 段 | 第 2 段 | 第 3 段 | 第 4 段 | 第 5 段 |
|---|---|---|---|---|---|
| 头盔 | 0–48 | 49–95 | 96–143 | 144–191 | 192–240 |
| 胸甲 | 0–44 | 45–89 | 90–134 | 135–179 | 180–225 |
| 护腿 | 0–44 | 45–89 | 90–134 | 135–179 | 180–225 |
| 靴子 | 0–38 | 39–77 | 78–116 | 117–155 | 156–195 |
数值
| 数值名 | 值 | 来源 |
|---|---|---|
| 护甲件总数 | 25(6 套 × 4 + 哨卫靴) | ItemsAether.java 护甲注册段 |
紫晶套 ArmorMaterial |
IRON |
ItemsAether.java |
其余 5 套 ArmorMaterial |
DIAMOND |
ItemsAether.java |
| 紫晶染色 | 0x711AE8 |
ItemsAether.java |
| 海神染色 | 0x2654FF |
ItemsAether.java |
| 黑曜染色 | 0x1B1447 |
ItemsAether.java |
| 未染色回退色 | 16777215 |
ItemAetherArmor.java getColorFromItemStack |
| 绿色稀有度物品数 | 13 | ItemAetherArmor.java getRarity 逻辑 |
| 创造标签 | AetherCreativeTabs.armor |
ItemAetherArmor.java 构造 |
合成配方
各套护甲的合成配方定义在资源包 assets/aether_legacy/recipes/ 下,按套系组织。海神、凤凰、黑曜、女武神、哨卫 5 套因不可修复且为战利品稀有度,预期为地牢战利品产出而非合成产出 —— 本次未逐一核对资源包中的 recipe JSON,故不断言。