核心概念速览 - Junye-666/RideBattleLib_NeoForge_1.21.1 GitHub Wiki

本文档帮助你快速理解 RideBattleLib 中的关键概念及其相互关系,是后续开发的基石。

RiderConfig

骑士的“蓝图”。定义驱动器、辅助驱动器、槽位、形态、基础属性与基础效果。

关键内容:

  • riderId:骑士唯一 ID,如 yourmod:test_alpha
  • driverItem:主驱动器物品,默认装备在 LEGS
  • auxDriverItem:辅助驱动器物品,默认装备在 OFFHAND
  • slotDefinitions:主驱动器槽位定义
  • auxSlotDefinitions:辅助驱动器槽位定义
  • forms:该骑士所有形态
  • baseFormId:基础形态
  • allowDynamicForms:是否允许动态形态
  • henshinStrategy:变身策略
  • penaltyStrategy:吃瘪策略

FormConfig

具体形态定义。决定变身后的盔甲、属性、效果、需求物品、授予物品、技能与触发方式。

关键内容:

  • formId:形态 ID
  • helmet / chestplate / leggings / boots:盔甲,null 或 Items.AIR 表示不覆盖
  • attributes:属性修饰符
  • effects:状态效果
  • requiredItems:主驱动器需求物品
  • auxRequiredItems:辅助驱动器需求物品
  • grantedItems:变身后授予物品
  • skillIds:该形态技能
  • triggerType:KEY / ITEM / AUTO
  • shouldPause:是否进入变身暂停
  • autoCompleteTicks:自动完成变身延迟

DriverSlotDefinition

驱动器槽位规则:

  • allowedItems:允许插入的物品
  • allowReplace:是否允许新物品直接替换旧物品
  • isRequired:是否必须非空才能变身
  • isAuxSlot:是否属于辅助驱动器

TriggerType

类型 说明
KEY 按下按键,默认 G
ITEM 使用触发物品右键触发
AUTO 插入物品后自动触发变身

主驱动器与辅助驱动器

对比项 主驱动器 辅助驱动器
默认槽位 LEGS OFFHAND
功能 主要变身来源 额外驱动源
是否必须 通常必须 非必须,部分形态要求
槽位数量 不限 不限

变身生命周期

玩家按下 G / 使用触发物品 / AUTO 插入
        │
        ▼
形态匹配 FormMatchEngine
        │
        ▼
DriverActivationEvent 可取消
        │
        ▼
shouldPause?
   ├─ false -> HenshinEvent.Pre -> 执行变身 -> HenshinEvent.Post
   └─ true  -> HenshinPauseEvent.Pre -> 等待 completeHenshin()
        │
        ▼
TRANSFORMED