> For the complete documentation index, see [llms.txt](https://hayston.gitbook.io/flp-wiki/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://hayston.gitbook.io/flp-wiki/zh/kai-fa-zhe-wen-dang/extensions.md).

# 事件与扩展边界

经典事件使用 core 接口和各平台实现. 注册监听器时依赖真实的平台事件类, core 接口本身不是 Bukkit `Event`. Folia 使用镜像的 Bukkit 事件类, 仍受自身线程约束.

| Core 契约                       | 用途                | 重要边界                                   |
| ----------------------------- | ----------------- | -------------------------------------- |
| `FastLoginPreLoginEvent`      | 在线路由动作前观察名字/来源/档案 | 不是认证证明, 没有通用取消契约                       |
| `FastLoginAutoLoginEvent`     | 拦截适用的强制自动登录       | 可取消, 不是覆盖所有注册/前置 AuthMe/Fabric 路径的通用事件 |
| `FastLoginPremiumToggleEvent` | 观察名单状态变更与原因       | 变更通知, 不是新的可信身份                         |
| `FastLoginAntiBotEvent`       | 拦截连接限制拒绝          | 取消后允许继续, 监听器可以削弱准入保护                   |

实现位于各平台的 `event` 包. 事件可能在异步线程触发; 访问平台 API 时应遵守对应平台的线程和调度要求.

## 认证集成

`AuthPlugin` 和相关接口提供账号查询与登录动作. 集成需要区分读取失败和账号不存在, 检查账号归属, 并确认认证插件的动作结果.

自定义管理工具应使用经过授权的操作, 保留账号持有人的同意和密码保护, 不要通过直接修改数据库绕过它们.

## 协议变更

修改共享 `protocol` 契约, 同时测试 Velocity 和 Fabric 生成副本. 验证来源, 时效, 名字/UUID/连接关联, 策略完整性与重复处理. 使用 FLP 通道名不代表插件消息已经认证. 除非另行授权并设计兼容迁移, 保留既有 `fastloginplus:force` 格式.

Fabric 内部 gate/bridge 不是已承诺稳定的公开事件 API. 不要承诺与经典事件完全一致, 或在没有兼容契约时让第三方 Mod 依赖反射内部实现.

修改前请参考[构建与贡献](/flp-wiki/zh/kai-fa-zhe-wen-dang/build.md)和[登录流程](/flp-wiki/zh/kai-fa-zhe-wen-dang/login-flow.md), 并针对受影响的行为添加或调整测试.
