深色模式
config.yml 与 attributes.yml
完整 config.yml
yaml
config-version: 1
language: zh_CN
combat-mode: AUTHORITATIVE
base-profile:
player: player-default
entity: entity-default
diagnostics:
enabled: true
summary-seconds: 60| 键 | 默认 | 允许值/范围 | 说明 |
|---|---|---|---|
config-version | 1 | 固定 1 | 改动会拒绝加载。 |
language | zh_CN | 仅 zh_CN | 当前没有其他语言包选择器。 |
combat-mode | AUTHORITATIVE | 仅该值 | 不存在“混合原版”开关。 |
base-profile.player | player-default | 小写 ID,1~64 字符 | 玩家基础 Profile;必须在 attributes.yml 存在。 |
base-profile.entity | entity-default | 同上且不同于 player | 普通实体基础 Profile。 |
diagnostics.enabled | true | 布尔 | 控制诊断采集;关闭会减少可观测性。 |
diagnostics.summary-seconds | 60 | 10~3600 | 聚合诊断摘要周期,秒。 |
Profile ID 正则是 [a-z0-9][a-z0-9._-]{0,63}。两个 Profile 不能相同。以上都可通过 /sa reload 候选校验后生效。
attributes.yml 顶层
yaml
config-version: 1
base-profiles:
player-default:
max_health: 100.0
entity-default:
max_health: 100.0
attributes: {}| 键 | 规则 |
|---|---|
config-version | 固定 1。 |
base-profiles | 最多 32 个;每个值必须有限,引用的属性必须已定义。 |
attributes | 可为空;只允许覆盖内置/扩展定义的显示与默认字段,不能在这里凭空发明定义。 |
扩展加载后,其属性若缺少配置块会自动补入文件;已有块和注释应保留。扩展属性使用完整命名空间 ID。
每个属性块的全部键
yaml
attributes:
physical_attack:
enabled: true
base-value: 10.0
name: 物理攻击
category: ATTACK
unit: NUMBER
description: 提高物理伤害的基础属性。
order: 10| 键 | 类型与范围 | 作用 |
|---|---|---|
enabled | 布尔 | false 时忽略所有该属性来源,并从 GUI/PAPI/自动 Lore 规则隐藏;仍保留安全内置默认。 |
base-value | 有限数 | 未被基础 Profile 覆盖时的基础值。 |
name | 1~64 字符 | 显示名。 |
category | ATTACK、DEFENSE、ACCURACY_CRITICAL、SUSTAIN、SURVIVAL、UTILITY、CUSTOM | GUI 分类。 |
unit | NUMBER、PERCENT、RATING | 只决定呈现,不自动改变公式。 |
description | 1~256 字符 | GUI/文档说明。 |
order | 0~10000 | 分类内排序。 |
只允许这七个键。一个字段缺失时回退到代码定义默认值;整个属性块缺失也会回退。
22 项内置默认
| ID | 默认 | 单位 | 类别 |
|---|---|---|---|
physical_attack | 10 | NUMBER | ATTACK |
spell_attack | 0 | NUMBER | ATTACK |
attack_speed_bonus | 0 | PERCENT | ATTACK |
true_damage | 0 | NUMBER | ATTACK |
physical_defense | 0 | NUMBER | DEFENSE |
spell_defense | 0 | NUMBER | DEFENSE |
physical_penetration_rate | 0 | PERCENT | ATTACK |
spell_penetration_rate | 0 | PERCENT | ATTACK |
accuracy_rating | 100 | RATING | ACCURACY_CRITICAL |
evasion_rating | 0 | RATING | ACCURACY_CRITICAL |
critical_chance | 0 | PERCENT | ACCURACY_CRITICAL |
critical_damage | 1.5 | PERCENT | ACCURACY_CRITICAL |
critical_resistance | 0 | PERCENT | ACCURACY_CRITICAL |
lifesteal_rating | 0 | RATING | SUSTAIN |
reflection_rating | 0 | RATING | DEFENSE |
healing_power | 0 | PERCENT | SUSTAIN |
received_healing_bonus | 0 | PERCENT | SUSTAIN |
max_health | 100 | NUMBER | SURVIVAL |
flat_health_regeneration | 0 | NUMBER | SUSTAIN |
percent_health_regeneration | 0 | PERCENT | SUSTAIN |
movement_speed_bonus | 0 | PERCENT | UTILITY |
block_strength | 0 | PERCENT | DEFENSE |
完整覆盖示例不需要重复 22 个块;只写要改的项:
yaml
config-version: 1
base-profiles:
player-default:
max_health: 200.0
entity-default:
max_health: 100.0
attributes:
physical_attack:
base-value: 12.0
name: 物理攻击力
description: 参与物理伤害计划。
critical_chance:
enabled: false预期:其他字段和其他内置属性继续使用代码默认;暴击率来源被忽略并隐藏。执行 /sa reload 后用 /sa inspect <玩家> 验证。
unit 不是换算器
把 physical_attack 的 unit 改成 PERCENT 只改变显示,不会把计算变成百分比。operation 兼容性来自定义本身,不能用 YAML 绕过。