Flame(火焰)
基本信息
| 属性 | 值 |
|---|---|
| 附魔本体 | 原版 net.minecraft.enchantment.Enchantment.flame(SC2 不注册自有附魔) |
| 附魔 ID | 无法核实——NBT 存的是原版 effectId(ModuleEnchants.java:270),数值由 vanilla 决定,本仓无 vanilla 源码 |
| 内部类型 | ENCHANTMENT_TYPE.SHOOTER |
| 等级上限 | 无法核实——取自 getEnchantment().getMaxLevel()(ModuleEnchants.java:166)。原版 Flame 上限为 1,SC2 未改写 |
| 基础价值 | 1000(EnchantmentInfo.java:56) |
| 折算公式 | value = 2^(level-1) * rank1Value(EnchantmentInfo.java:39) |
⚠️ 审计订正
- 原文「附魔等级要求:20」——源码中不存在铁砧等级要求,此数值无出处,已删除。
- 原文只说「抛射物在撞击时点燃目标」——实际是发射时就
setFire,且不限于箭矢,已补正。
效果
对任意投射物(不限 EntityArrow)设置燃烧时间 100 tick:
protected void setProjectileOnFire(Entity projectile) {
if (enchanter != null && enchanter.useFlame()) {
projectile.setFire(100);
}
}
来源:ModuleShooter.java:408-412
- 触发时机:发射瞬间,不是撞击时
- 燃烧时长:100 tick = 5 秒
- 作用范围:所有投射物(箭矢、火球、雪球、鸡蛋、药水、蛋糕),比 Power / Punch 的箭矢限定更宽
- 判定是布尔而非分级:
useFlame()返回getEnchantLevel(EnchantmentInfo.flame) > 0(ModuleEnchants.java:61-63),等级再高也不会加大燃烧时间或范围
获取与生效方式
- 来源:附魔书(
EnchantmentInfo.java:61、EnchantmentInfo.java:85) - 载体:矿车上的 Enchanter 模块(ID 82,
ModuleData.java:943),3 格(ModuleEnchants.java:23) - 类型匹配:矿车上存在
ModuleShooter系模块才启用 SHOOTER 类型(ModuleShooter.java:51) - 不可附魔:模块物品
setMaxDamage(0)(ItemCartModule.java:25) - 损耗:每次射击固定扣 1 点内部值(
ModuleShooter.java:402-407)