跳到正文
烈焰甘蔗Wiki

Swift Sneak

Swift Sneak is a leg armor enchantment added by Et Futurum Requiem that allows the player to move faster while sneaking.

Properties

Property Value
ID 202 (configurable)
Max Level 3
Enchantment Type armor_legs

Enchantability

Level Min Enchantability Max Enchantability
1 25 75
2 50 100
3 75 125

Formula: min = level × 25; max = min + 50

Effect

⚠️ 已订正 —— 原文对效果机理的描述是含糊且无法核实的,已替换为源码中确证的实际实现。 原文称「减速由 Minecraft 原版 Sneak 速度修正决定」「第 3 级接近正常步行速度」—— 本仓库中不存在这样的原版速度修正常量,该说法是按新版 MC 印象补写。

真实实现:Swift Sneak 的效果完全不在 Enchantment 类里(enchantment/SwiftSneak.java 只有 ID、名称、槽位 armor_legs、最大等级 3、附魔公式,无任何效果逻辑), 而是在客户端专属的 early mixin 中,通过改写一个常量实现:

mixins/early/swiftsneak/client/MixinMovementInputFromOptions.java:14-19

@ModifyConstant(method = "updatePlayerMoveState", constant = @Constant(doubleValue = 0.3D))
private double applySwiftSneakModifier(double constant) {
    ItemStack leggings = Minecraft.getMinecraft().thePlayer.getEquipmentInSlot(2);
    int ssLevel = EnchantmentHelper.getEnchantmentLevel(ModEnchantments.swiftSneak.effectId, leggings);
    return constant + (ssLevel * 0.15);
}

即:潜行移动输入常量 0.3D 被替换为 0.3 + 等级 × 0.15。

等级 实际常量值
无附魔 0.30
1 0.45
2 0.60
3 0.75

重要限制:

  • 该 mixin 位于 mixins/early/swiftsneak/**client**/,只在客户端生效(服务器不下发)。
  • 只读取腿甲槽(槽位 2),放在其他位置无效。
  • 实际移动速度仍由原版潜行判定(是否在潜行、按 Shift)决定,本附魔只是把潜行 移动输入的系数调高,并不取消潜行本身。

Allowed Items

Can only be applied via the enchanting table on a book. Once enchanted onto leggings, it functions as a normal armor enchantment.

Configuration

Enabled by default via ConfigEnchantsPotions.enableSwiftSneak (config key swiftSneak, default ON). ID configurable via ConfigEnchantsPotions.swiftSneakID (default 202).

The client mixin is only injected when the option is on — see mixinplugin/EtFuturumEarlyMixins.java:301 if (ConfigEnchantsPotions.enableSwiftSneak) { ... }.

浏览全部模组