注意事项 - Junye-666/RideBattleLib_NeoForge_1.21.1 GitHub Wiki
客户端 / 服务端
| 规则 | 说明 |
|---|---|
| 服务端权威 | 变身状态、驱动器数据、物品操作逻辑应在服务端执行 |
| 客户端缓存只读 | ClientTransformedCache、ClientDriverDataCache 仅用于显示和判断 |
| API 自动路由 | RideBattleAPI 多数方法会自动判断调用端 |
| 客户端事件 | 客户端效果请使用 IRiderClientHandler 或客户端 NeoForge 事件 |
事件监听
| 注意点 | 说明 |
|---|---|
| 区分 Pre / Post | Pre 可取消或修改数据,Post 仅通知 |
| 取消需谨慎 | 取消 Pre 会阻止动作 |
| 双端区分 | 逻辑事件多在服务端触发,客户端监听无效 |
| 分发系统 | 大型骑士推荐 ServerRiderDispatcher / ClientRiderDispatcher |
动态形态
| 注意点 | 说明 |
|---|---|
| 必须启用 | allowDynamicForms(true) |
| 必须注册映射 | DynamicMappingBuilder...register() |
| 预设优先 | 预设形态匹配时不会生成动态形态 |
| ID 自动生成 | 不要手动创建 DynamicFormConfig |
| 缓存清理 | 10 分钟未使用会卸载 |
技能系统
| 注意点 | 说明 |
|---|---|
| 冷却在服务端 | 技能冷却由 SkillSystem 服务端管理 |
| 逻辑写在事件中 | registerSkill 只注册名称和冷却 |
| 绑定到形态 | 使用 FormBuilder.skill() 或 FormConfig.addSkill() |
| 轮转索引 | 每个玩家独立保存当前技能索引 |
配置项
| 配置 | 建议 |
|---|---|
debugMode |
开发阶段建议开启 |
developerMode |
输出 API 调用日志 |
penaltyEnabled |
不需要吃瘪系统可关闭 |
keyCooldown / interactionCooldown |
操作迟钝时可适当减小 |