战斗反馈
EliteMobs 在战斗中显示精英怪头顶的血条、屏幕顶部的 Boss 血条、漂浮的伤害与经验数字、弱点/抗性提示以及连点器警告。这些设置位于 MobCombatSettings.yml。独立的职业战斗 HUD 使用 AdvancedCombatSystem.yml,玩家战斗标签则使用 skills.yml 和 config.yml。
它们都不会改变伤害数值。本页中唯一会影响实际玩法的条目是连点器限流。
头顶生命值显示
每个进入战斗的精英怪头顶都会出现一个漂浮的生命值读数。它由两个相互独立的部分组成,各自拥有独立的开关:
| 部分 | 配置键 | 默认值 |
|---|---|---|
| 彩色血条字符 | displayVisualHealthBars | true |
| 血条上方的当前/最大值数字行 | displayNumericHealth | true |
血条颜色
血条颜色随精英怪剩余生命值百分比而变化:
| 剩余生命值 | 颜色 |
|---|---|
| 高于 75% | 绿色 |
| 高于 50%,不超过 75% | 黄色 |
| 高于 25%,不超过 50% | 红色 |
| 25% 及以下 | 深红色 |
血条格数
默认情况下,血条格数会随 Boss 的 healthMultiplier 而缩放,因此越硬的 Boss 血条看起来越长:
healthMultiplier大于 0 且小于 1 ——round(10 x multiplier)格,最少 1 格,显示为单行。healthMultiplier恰好为 1 —— 10 格,单行。healthMultiplier大于 1 ——ceil(10 + 10 x log20(multiplier))格,硬上限为 20 格。超过 10 格时会分为两行显示。
设置 useFixedHealthBarSize: true 会禁用上述全部逻辑,始终绘制单行 10 格血条。倍率为零或负数时也使用这种固定布局。
数字行位于血条上方,并会随着行数增加而上移。对于缩放战斗实体,它显示的是百分比而非绝对数值,因为其原始生命值池对玩家没有参考意义。较大的数字会用 K/M/B/T 后缀缩写。healthDisplaySeparator(默认 " &7/ ")位于当前值与最大值之间。
在最后一次战斗动作之后 combatDisplayTimeoutSeconds(默认 30)秒,这些显示会消失。
Boss 血条
当 displayBossBarForHighMultiplier 为 true(默认)时,Boss 还可以在屏幕顶部获得一条原版 Boss 血条。
bossBarHealthMultiplierThreshold 默认为 1.0。healthMultiplier 大于该值的自定义 Boss 进入战斗后才符合显示条件。战斗期间,血条只对 Boss 当前的玩家仇恨目标可见。如果多个 Boss 锁定同一玩家,只显示最近的 4 个 Boss 的血条。
旧设置 proximityBossBarHealthMultiplierThreshold 会在加载配置时移除。仅仅靠近 Boss 不会显示其生命值条。
fallbackBossBarName(默认 Elite Boss)用于精英怪没有配置显示名称的情况。
伤害弹出数字
doDisplayMobDamageOnHit(默认 true)会在你对精英怪造成的每一次命中处生成一个漂浮数字。弹出数字持续 1 秒(20 tick)并向上飘动。
- 缩放战斗精英怪显示的是该次命中占其最大生命值的百分比,而非原始数值,与其生命值显示保持一致。
- 暴击会以更大字号(1.3 倍)绘制,使用
enchantments/critical_strikes.yml中的暴击颜色,并额外弹出一条该文件中配置的暴击文本。 - 弱点与抗性命中——即 Boss 的
damageModifiers让你的武器表现优于或劣于常态时——会为数字重新着色,并在下方额外弹出一条提示。
| 配置键 | 默认值 | 用途 |
|---|---|---|
weakTextColor | &9 | 弱点命中时伤害数字的颜色前缀 |
resistTextColor | &c | 抗性命中时伤害数字的颜色前缀 |
weakText | &9&lWeak! | 弱点命中时显示的第二条弹出文本 |
resistText | &c&lResist! | 抗性命中时显示的第二条弹出文本 |
doWeakEffect | true | 是否播放额外的弱点粒子/视觉效果 |
doResistEffect | true | 是否播放额外的抗性粒子/视觉效果 |
抗性命中还会播放铁砧音效;弱点命中则播放物品损坏音效。
治疗、经验与无敌弹出提示
| 配置键 | 默认值 | 用途 |
|---|---|---|
healPopupFormat | +$amount HP | Boss 部分回血时显示 |
xpPopupFormat | +$amount ✦XP | 击杀获得技能经验时显示。持续 2.5 秒并循环播放渐变色 |
invulnerablePopupText | &9&lINVULNERABLE | 当你攻击正在被牵引回锚点的区域 Boss 时显示 |
fullHealMessage | (见配置文件) | Boss 回满血时使用的消息 |
伤害指示粒子上限
原版每造成 2 点生命值伤害就生成一个红色伤害粒子,并打包在同一个数据包里。由于 EliteMobs 会把玩家伤害缩放到高等级下的极大数值,一次命中就可能要求客户端生成数十万个粒子并将其卡死。
damageIndicatorParticleCap(默认 16)会把这种爆发压缩成外观正常的一小团。它纯属外观效果——伤害、音效和血条均不受影响。将其设为 0 或负数即可交由原版决定。
战斗等级显示
除了精英怪的显示,EliteMobs 还会在你的头顶显示战斗等级,你和其他玩家均可看到,但受名称标签可见性规则限制。已选择职业的玩家会在该位置改为显示职业标签。处于战斗中时,标签上方会出现一行 ❤ current/max(当前/最大)生命值。在 skills.yml 中通过 showCombatLevelDisplay 和 combatLevelFormat 配置;showCombatLevelDisplay: false 也会同时关闭职业标签。参见技能系统。
skills.yml 中的 classLabelWorldExclusions 列出隐藏职业标签的世界。世界名称须完全一致,不区分大小写。在这些世界中,有职业的玩家除战斗中的生命值行外不显示任何标签;没有职业的玩家仍显示战斗等级。
config.yml 中的 usePassengerCombatLevelDisplay 默认为 false:标签作为独立文本跟随玩家,并使用与玩家相同的客户端平滑移动。设为 true 则改为将标签作为仅数据包存在的乘客挂载。此时除非玩家在计分板队伍中,否则 Minecraft 会对其他玩家隐藏该玩家自己的名字。当另一实体骑乘玩家时,乘客模式仍会使用跟随文本。
连点器限流
这是本页唯一会影响玩法的条目。当玩家在一秒的滑动窗口内对精英怪的近战命中超过 autoclickerThrottleMaxHitsPerSecond 次时,后续对精英怪的普通近战攻击会被阻止 autoclickerThrottlePenaltySeconds 秒,并在聊天栏显示警告。
| 配置键 | 默认值 | 用途 |
|---|---|---|
autoclickerThrottleEnabled | true | 总开关 |
autoclickerThrottleMaxHitsPerSecond | 5 | 一秒窗口内允许的命中次数 |
autoclickerThrottlePenaltySeconds | 5 | 触发后的锁定时长 |
autoclickerThrottleMessage | &c[EliteMobs] &7You are attacking too fast... | 警告文本。$seconds 为剩余锁定时间 |
相关页面
- 伤害系统 —— 这些弹出数字究竟由什么构成
- 技能系统 —— 经验条与战斗等级显示
- 自定义附魔 —— 暴击几率及其上限
- EliteMobs 配置设置 —— 原始
MobCombatSettings.yml参考