研究了一下吉姆欸吸得坏包都是在检测啥
有挺多没搞懂的地方
欢迎指正咯

BadPacketsA 上一次切换物品栏和下一次是否相同(HELD_ITEM_CHANGE Slot ID)

BadPacketsC 玩家是否和自身交互(这个体现在打开村民页面的 INTERACT_ENTITY)

BadPacketsD 非法角度(±90°)

BadPacketsE 检查数据包序列 当玩家长时间不更新 位置/旋转;但又在卡住的状态(WrapperPlayClientPlayerFlying.isFlying 没搞懂) 卡空报的就是这个

BadPacketsF 重复发送疾跑状态

BadPacketsG 重复发送前行状态

BadPacketsH 攻击时是否发送挥手包(检测Noswing?)

BadPacketsI 发送实际不存在的可以飞行状态 (PLAYER_ABILITIES.isFlying())

BadPacketsK 非法的旁观者模式(当玩家当前游戏模式不是旁观模式)

BadPacketsL 检查挖掘事件 忽略 开始挖掘、完成挖掘、取消挖掘 当释放当前物品(比如射箭?)检查不同版本的方向(?)

BadPacketsM 玩家交互 豁免盔甲架和1.7及以前版本 INTERACT需要一个INTERACT_AT(?)作为前置才认为玩家交互是合法的

BadPacketsN 空的,啥也没写? 意义不明

BadPacketsM 检测玩家发送的KeepAlive的时间戳,是否合法

BadPacketsP 背包交互 当接收开启背包 PICKUP QUICK_MOVE SWAP合法性检测(?)

BadPacketsQ 实体动作 检查玩家骑乘实体合法性 以及马的跳跃值等

BadPacketsR 没看懂

BadPacketsS 又是空的

BadPacketsT 检测实体碰撞箱(?)区分版本

BadPacketsU 使用物品检查合法性 不是noslow检测

BadPacketsV 玩家是否移动了足够的距离(?)

BadPacketsW 啥也没有

BadPacketsX 检查发送重复的移动状态 比如不断地疾跑 好像是检测 SuperKB用的

BadPacketsY 玩家发送合法的slot id(0-8 共九个slot)