跳到正文
烈焰甘蔗Wiki

Punch(冲击)

基本信息

属性 值
附魔本体 原版 net.minecraft.enchantment.Enchantment.punch(SC2 不注册自有附魔)
附魔 ID 无法核实——NBT 存的是原版 effectId(ModuleEnchants.java:270),数值由 vanilla 决定,本仓无 vanilla 源码
内部类型 ENCHANTMENT_TYPE.SHOOTER
等级上限 无法核实——取自 getEnchantment().getMaxLevel()(ModuleEnchants.java:166),即原版上限
基础价值 1000(EnchantmentInfo.java:55)
折算公式 value = 2^(level-1) * rank1Value(EnchantmentInfo.java:39)

⚠️ 审计订正

  • 原文「附魔等级要求:12」——源码中不存在铁砧等级要求,此数值无出处,已删除。
  • 原文「等级越高,击退效果越强」未给实现——已补上确切实现与限制条件。

效果

对箭矢(EntityArrow)设置击退强度,等级值直接作为 knockbackStrength:

protected void setProjectileKnockback(Entity projectile) {
    if (enchanter != null && projectile instanceof EntityArrow) {
        int punch = enchanter.getPunchLevel();
        if (punch > 0) {
            EntityArrow arrow = (EntityArrow) projectile;
            arrow.setKnockbackStrength(punch);
        }
    }
}

来源:ModuleShooter.java:424-432

这是 set 而非 add——直接覆盖原版箭矢已有的击退强度(普通箭 0 / 强装箭 1)。仅对箭矢生效,火球等抛射物不吃 Punch。

获取与生效方式

  • 来源:附魔书(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)

相关附魔

浏览全部模组