
玩家伤害反馈
查看你所受的伤害,以及你对其他玩家造成的伤害。
玩家伤害反馈
查看你所受的伤害,以及你对其他玩家造成的伤害。 每当玩家受伤时,一个数字就会弹出——受害者始终能看到它,如果伤害来自另一个玩家,该玩家也能看到。设计上适配多人游戏:服务器会精确告诉每个客户端它可以看什么。
这个模组是做什么的?
伤害数字,仅针对玩家
大多数伤害数字模组会在所有受伤的目标上显示浮动数字——僵尸、牛、物品展示框等等。这个模组只做一件事:玩家。当玩家受到伤害时,一个数字会出现在他们上方。
两种视角,两种颜色
- 受害者 始终看到自己受到的伤害(默认为红色)。
- 攻击者,如果伤害来自另一位玩家,可以看到自己造成的伤害(默认为白色)——这样 PvP 终于有了一个数字来反应,而不是通过一个你甚至看不到的生命值条来猜测。
两种颜色都可配置,如果只希望玩家看到自己的伤害,攻击者的视角可以完全关闭。
真正多人游戏安全
服务器监视真实的伤害事件——在护甲、附魔和吸收效果全部生效之后——并向有权看到结果的客户端发送一个微小的数据包。没有基于生命值条变化的客户端猜测,所以你看到的数字永远是实际发生的数字,而没有安装模组的玩家则不会收到任何额外信息。
配置
config/player_damage_feedback-client.toml(客户端侧,不影响平衡性)
# 总开关
enabled = true当你击中敌人时,也在其上方显示数字
showToAttacker = true
大小:
# 不是像素。伤害数字是直接渲染在世界中的 3D 文字公告板(类似名牌),
# 因此这是世界空间缩放倍率。
# 1.0 = 近距离下正常可读大小。
# 0.5 = 一半大小,2.0 = 两倍大小。
size = 1.0
时机和运动:
# 数字在屏幕上停留的时间,以游戏刻为单位(20 刻 = 1 秒)
lifetimeTicks = 40初始上升速度(格/刻),之后受重力拉回
riseSpeed = 0.09
随机水平偏移(格),使连续打击不会完全重叠
horizontalSpread = 0.3
颜色(十六进制 RGB):
# 当你受到伤害时数字的颜色
colorTaken = "#FF5555"当你造成伤害时,敌人上方数字的颜色
colorDealt = "#FFFFFF"
它的工作原理
- 玩家受到伤害。Forge 在服务器上触发
LivingDamageEvent,在所有减伤效果结算之后。 - 服务器将最终数值发送给受害者的客户端。
- 如果伤害来源是另一位玩家,服务器也会将其发送给攻击者的客户端。
- 每个客户端检查自己的配置,如果允许,则在受害者上方生成一个浮动数字——渲染为始终面向摄像机的公告板,在轻微重力作用下上升和下落,并在其生命周期内淡出。
没有 Mixin,不使用原版粒子注册表,也没有客户端侦测技巧——只需要一个事件、一种数据包类型,并在世界的粒子渲染阶段直接绘制。
要求
在客户端和服务器上都安装本模组才能获得完整体验——原版客户端连接到运行此模组的服务器时不会收到额外数据包,而装有模组的客户端连接到原版服务器时则没有东西可接收。
致谢
- 灵感来自 Lua (foxgirl.dev) 的 damagenumbers——一个适用于普通生物伤害数字的优秀模组。本模组覆盖了纯客户端模组无法做到的一件事:告诉攻击玩家他们对另一名玩家造成了多少伤害。
正在加载版本记录…
正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。