注意事项 - 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 操作迟钝时可适当减小