跳到正文

combat.yml:战斗配置

完整默认配置

yaml
config-version: 1
hit:
  random-model:
    critical: INDEPENDENT
    evasion: INDEPENDENT
  maximum-evasion-percent: 90.0
block:
  maximum-reduction-percent: 90.0
  front-arc-degrees: 120.0
attack-speed:
  base-interval-ticks: 10.0
  minimum-interval-ticks: 2.0
rating:
  reference: 100.0
reflection:
  minimum-remaining-health: 1.0
regeneration:
  interval-ticks: 20
time:
  ticks-per-second: 20
capacity:
  maximum-tracked-subjects: 4096

全部键

默认范围影响
config-version1固定配置版本。
hit.random-model.criticalINDEPENDENTINDEPENDENT/PRD暴击随机模型。
hit.random-model.evasionINDEPENDENTINDEPENDENT/PRD闪避随机模型。
hit.maximum-evasion-percent900~95闪避公式上限百分数。
block.maximum-reduction-percent900~100正面格挡减伤上限百分数。
block.front-arc-degrees1200~360目标面向攻击者的正面角。0 等于关闭有效正面区域。
attack-speed.base-interval-ticks101~1200攻速 0 时的攻击间隔。
attack-speed.minimum-interval-ticks21~1200,且不大于 base最快攻击间隔。
rating.reference1001~1,000,000防御、吸血、反伤等双曲线参考值。
reflection.minimum-remaining-health10~1,000,000反伤最多把攻击者压到的剩余生命。
regeneration.interval-ticks201~1200自动恢复结算周期。
time.ticks-per-second20固定时间换算常量,不是性能调节项。
capacity.maximum-tracked-subjects40961~65536PRD/攻速等有界主体状态容量。

所有键可通过 /sa reload 原子生效。重载会创建新 RuntimeState,PRD 和聚合诊断状态随之重置。

INDEPENDENT 与 PRD

INDEPENDENT 每次独立抽样。PRD 会在连续失败后提高下一次机会、成功后重置,以减少极长失败串;它不是固定次数保底,也不持久化。概率分辨率为 0.01 个百分点,低于 0.1% 的正概率退回精确独立随机。容量满时新主体也安全退回独立随机。

调整示例

让战斗更稳定、最多 80% 闪避、最快每 3 tick 一次:

yaml
config-version: 1
hit:
  random-model:
    critical: PRD
    evasion: PRD
  maximum-evasion-percent: 80.0
block:
  maximum-reduction-percent: 85.0
  front-arc-degrees: 100.0
attack-speed:
  base-interval-ticks: 12
  minimum-interval-ticks: 3
rating:
  reference: 150.0
reflection:
  minimum-remaining-health: 1.0
regeneration:
  interval-ticks: 20
time:
  ticks-per-second: 20
capacity:
  maximum-tracked-subjects: 8192

验证:/sa reload 后进行多次实战,再用 /sa combat trace <玩家> 查看最后一次命中、暴击、各伤害分量和结果。小样本不能证明概率正确;生产监控应看长周期统计。

典型错误

  • maximum-evasion-percent: 0.9 表示 0.9%,不是 90%;配置项名称明确为 percent。
  • minimum-interval-ticks 大于 base 会拒绝加载。
  • ticks-per-second 改成 10 不会适配低 TPS,只会被固定值校验拒绝。
  • 提高 maximum-tracked-subjects 会增加有界状态内存,不能修复 TPS 根因。

Minecraft 服务端插件使用与开发文档