常见问题 - Junye-666/RideBattleLib_NeoForge_1.21.1 GitHub Wiki

Q1:按下 G 键没有反应,无法变身

可能原因:

  • 未装备驱动器,或驱动器未装备到正确槽位。
  • 必要驱动器槽位中没有物品。
  • 骑士没有注册。检查主模组构造器是否执行:
RiderPackRegistry.register(new YourPack());
  • YourPack.registerCommon() 中没有调用 buildAndRegister()。
  • 处于吃瘪冷却中。
  • 按键被其他模组冲突。

Q2:变身成功但形态不对

可能原因:

  • 形态匹配逻辑与预期不符。
  • 槽位物品不匹配任何预设形态。
  • 动态形态未启用,或映射未注册。
  • 预设形态优先级高于动态形态。

解决方案:

  • 开启 debugMode = true 查看匹配日志。
  • 检查 requiredItem / auxRequiredItem。
  • 确认 allowDynamicForms(true)。
  • 确认 DynamicMappingBuilder...register() 已调用。

Q3:物品无法插入驱动器槽位

可能原因:

  • 该槽位不允许该物品,检查 allowedItems。
  • 槽位已被占用且 allowReplace = false。
  • 槽位已满。
  • 物品正在冷却中。
  • 插入的是驱动器物品或触发物品,被系统阻止。

Q4:事件没有被触发

检查清单:

  • 类上有 @EventBusSubscriber。
  • 方法上有 @SubscribeEvent。
  • 方法触发端未对齐。
  • 逻辑事件是否只在服务端触发。
  • 使用分发系统时,是否已注册对应 Handler:
ServerRiderDispatcher.register(new YourServerHandler());
ClientRiderDispatcher.register(new YourClientHandler());

Q5:技能按了没反应

检查清单:

  • 技能已通过 FormBuilder.skill() 或 SkillSystem.registerSkill() 注册。
  • 技能已绑定到形态。
  • 玩家处于变身状态。
  • 技能不在冷却中。
  • SkillEvent.Pre 未被取消。
  • 按 R 释放技能;多技能时使用 Shift + R 轮转。