🛡️ 即时破盾

🛡️ 即时破盾

🔍 在nethpot PvP中,通过在攻击的精确时刻切换到斧头,然后立即切换回来,自动破坏敌人的盾牌——这一切都在一个游戏刻内完成。无需GUI,无需按键绑定,始终开启。

魔法

Instant-Shield-Break v1.0

NETHPOT PVP · FABRIC 模组 · 客户端

在 nethpot PvP 中,通过在攻击的精确瞬间切换到斧头,然后立即切回——全部在单个 tick 内完成——自动破盾。无 GUI,无按键绑定,始终开启。

标签: Fabric API · Java · MC 1.19–1.21 · 1-tick 切换 · 始终激活 · 零闪烁


⚙️ 切换如何工作

在单个 tick 内发生的五步流程:

  1. 攻击触发 — 玩家击中敌人
  2. 盾牌检测 — isUsingItem() 检测目标是否正在举起盾牌
  3. 切换到斧头 — @Inject HEAD 将手持物品切换为斧头
  4. 斧头命中 — 盾牌被禁用
  5. 还原槽位 — @Inject RETURN 立即切换回原物品

📦 模块分解

ShieldDetector (util/ShieldDetector.java) 通过 isUsingItem() + 物品身份检查来判断目标玩家是否正在主动举起盾牌。在 5 tick 举起延迟之前就捕捉到意图,确保不会漏击。

InventoryScanner (util/InventoryScanner.java) 先扫描快捷栏槽位 0–8,然后扫描主物品栏槽位 9–35。维护一个缓存的最后使用斧头槽位,以便在重复攻击时即时查找。支持任何扩展 AxeItem 的模组斧头。

SwapHandler (handler/SwapHandler.java) 编排完整的切换序列。通过 150ms 冷却时间来防止滥用。发送原版 UpdateSelectedSlotC2SPacket 以进行服务器同步。在同一调用栈帧中还原——零额外 tick。

Attack Mixin (mixin/ClientPlayerInteractionManagerMixin.java) 在 HEAD(封包前)和 RETURN(封包后)钩入 attackEntity()。仅拦截 PlayerEntity 目标——生物攻击原样通过。

Config (config/ShieldBreakConfig.java) 基于 GSON 的 JSON 配置,位于 config/instant-shield-break.json。支持 enabled 开关、cooldownMs 调整以及 debugLogging 详细输出。首次启动时自动创建默认值。


📊 一览

统计项 值
Tick 切换窗口 1
防滥用冷却 150ms
可见闪烁帧数 0
扫描的物品栏槽位 35
Mixin 注入点 2
源码模块 5

by Shubham96 · MIT License · Fabric 1.19–1.21 · instant-shield-break v1.0