技能树
技能树(天赋树)放在 skill-trees/,每个文件一棵树。职业的 skill-trees: [ID] 决定能用哪些树,玩家用 /sv tree 打开。
skill-trees/剑士天赋.yml
name: '&6剑士天赋'
item: IRON_SWORD
lore:
- '&7强化剑士的基础能力'
type: custom # custom / proximity
max-point-spent: 20 # 整棵树最多投入几点(不写 = 不限)
auto-paths: true # + 自动在前置与节点之间画路径
nodes:
强健:
name: '&a强健'
coordinates: {x: 0, y: 0}
root: true
max-level: 3
icon: APPLE
lore: ['&7每级 最大生命 +4']
rewards:
- 'stat: MAX_HEALTH 4'
锋利:
name: '&c锋利'
coordinates: {x: 2, y: 0}
max-level: 3
parents:
soft: {强健: 1}
rewards:
- 'stat: ATTACK_DAMAGE 1'
狂战:
name: '&4狂战'
coordinates: {x: 4, y: 0}
max-level: 1
point-consumed: 2
parents:
strong: {锋利: 3}
incompatible: {坚韧: 1}
rewards:
- 'stat: ATTACK_DAMAGE 10%'
树的选项
| 选项 | 说明 |
|---|---|
id | 不写 = 文件名 |
name / lore / item / custom-model-data | 选择界面显示 |
type | custom:只看 parents;proximity:上下左右相邻的节点互为前置 |
max-point-spent | 整棵树最多投入几点 |
auto-paths | + 自动画路径(MMOCore 只画 paths: 写的格子) |
display | 各状态的节点与路径图标,见下方 |
节点选项
| 选项 | 默认 | 说明 |
|---|---|---|
name | ID | 名称 |
coordinates | — | 位置 {x: 0, y: 0} 或 '0,0',x 向右、y 向下,界面可以滚动 |
root / is-root | false | 不需要前置。custom 树里没有前置的节点也视为根节点 |
max-level | 1 | 节点等级上限 |
point-consumed | 1 | 每升一级消耗的点数 |
max-children | 不限 | 子节点最多学几个(「三选一」用) |
permission-required | — | 需要的权限 |
parents.soft | — | 软前置:任一个达到等级即可 |
parents.strong | — | 硬前置:全部达到等级 |
parents.incompatible | — | 互斥:其中一个达到等级 后本节点永久锁住 |
experience-table | — | 每升一级抽的经验表(MMOCore 写法) |
rewards | — | + 每升一级执行的动作(简写) |
level-rewards | — | + 指定等级执行:{1: [...], 3: [...]} |
lores | — | 按节点等级换介绍:{0: [...], 1: [...]},可用 {name} {node-state} {level} {max-level} {max-children} |
lore / icon | — | + 简写 |
paths | — | 手动指定路径格子:{前置ID: {1: {x: 0, y: 1}}} |
display | — | 这个节点专用的各状态图标 |
节点状态
与 MMOCore 相同的五种状态:
| 状态 | 意思 |
|---|---|
UNLOCKED | 已学(未满级) |
MAXED_OUT | 已满级 |
UNLOCKABLE | 可以学 |
LOCKED | 前置还没达成 |
FULLY_LOCKED | 永久锁住(互斥、子节点上限已满),并且连带锁住只能经由它解锁的后续节点 |
图标 display
display:
nodes:
unlocked: 'LIME_DYE'
maxed-out: 'ENCHANTED_BOOK'
unlockable: 'YELLOW_DYE'
locked: 'GRAY_DYE'
fully-locked: 'BLACK_DYE'
# 也可以按形状分:up-right-down-left、up-down、no-path …(MMOCore 的形状名称)
paths:
unlocked: {up: 'LIME_STAINED_GLASS_PANE', right: 'LIME_STAINED_GLASS_PANE', default: 'LIME_STAINED_GLASS_PANE'}
locked: 'GRAY_STAINED_GLASS_PANE'
图标支持 材质:模型数据 等 MythicLib 的全部写法。没写的状态使用 menus/skill-tree.yml 的默认图标。
点数
- 点数先扣这棵树专用的点数,不够再扣全局点数(与 MMOCore 相同)。
- 给全局点数:
points: skill-tree 1;给某棵树:points: skill-tree 1 剑士天赋,或/sv admin points skill-tree give <玩家> 1 剑士天赋。 - 界面里的重置按钮消耗 1 点技能树重置次数,退回这棵树投入的点数并收回节点奖励;
/mmocore admin reset skill-trees清空全部树。