核心概念速览 - Junye-666/RideBattleLib_NeoForge_1.21.1 GitHub Wiki
本文档帮助你快速理解 RideBattleLib 中的关键概念及其相互关系,是后续开发的基石。
RiderConfig
骑士的“蓝图”。定义驱动器、辅助驱动器、槽位、形态、基础属性与基础效果。
关键内容:
riderId:骑士唯一 ID,如yourmod:test_alphadriverItem:主驱动器物品,默认装备在LEGSauxDriverItem:辅助驱动器物品,默认装备在OFFHANDslotDefinitions:主驱动器槽位定义auxSlotDefinitions:辅助驱动器槽位定义forms:该骑士所有形态baseFormId:基础形态allowDynamicForms:是否允许动态形态henshinStrategy:变身策略penaltyStrategy:吃瘪策略
FormConfig
具体形态定义。决定变身后的盔甲、属性、效果、需求物品、授予物品、技能与触发方式。
关键内容:
formId:形态 IDhelmet / chestplate / leggings / boots:盔甲,null或Items.AIR表示不覆盖attributes:属性修饰符effects:状态效果requiredItems:主驱动器需求物品auxRequiredItems:辅助驱动器需求物品grantedItems:变身后授予物品skillIds:该形态技能triggerType:KEY/ITEM/AUTOshouldPause:是否进入变身暂停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