跳到主要内容

技能树

技能树(天赋树)放在 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选择界面显示
typecustom:只看 parents;proximity:上下左右相邻的节点互为前置
max-point-spent整棵树最多投入几点
auto-paths+ 自动画路径(MMOCore 只画 paths: 写的格子)
display各状态的节点与路径图标,见下方

节点选项​

选项默认说明
nameID名称
coordinates—位置 {x: 0, y: 0} 或 '0,0',x 向右、y 向下,界面可以滚动
root / is-rootfalse不需要前置。custom 树里没有前置的节点也视为根节点
max-level1节点等级上限
point-consumed1每升一级消耗的点数
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 清空全部树。