DoxEffect(TaCZ推荐)

DoxEffect(TaCZ推荐)

Dox模组的共享状态效果系统——带有图标和原版/效果桥接的叠加减益效果。

简短描述

一个共享的状态效果系统,Dox 系列模组基于此构建。来源施加带类型的减益效果 —— 移动/攻击减速、武器散布、后坐力、视角抖动 —— 每种效果都有强度和持续时间;消费者读取有效值(或将其作为属性应用)。多个来源正确叠加(属性效果相乘,查询效果相加)。激活的效果会镜像到原版效果图标,并且一个 /effect 桥接 允许原版命令/其他插件触发真实效果。因为其他 Dox 模组需要而安装。

它提供的内容

  • 类型化效果 —— MOVE_SLOW、ATTACK_SLOW(基于属性)、GUN_SPREAD、GUN_RECOIL、VIEW_TREMOR(基于查询,客户端同步)。
  • 来源叠加 —— 例如,“治疗 -50%” 和 “腿部骨折 -35%” 组合;每个来源可以独立更新或清除。
  • 限时或无限 —— 持续时间 tick,或状态驱动(来源刷新/移除它)。
  • 原版图标镜像 + /effect 桥接 —— 通过原版方式给予显示的 MobEffect,它会变为真实效果。
  • 客户端同步 用于视觉效果(后坐力/抖动)—— 仅流式传输本地玩家的有效值。
  • 沉默防护 —— 效果激活期间,聊天和语音传输将被阻止。
  • 手臂状态减益 —— 对于读取这些值的模组(如 DoxAmmo),手臂的状态会影响武器散布、后坐力和视角摆动。
  • 已翻译成 20 种语言。

Minecraft 版本

此模组提供两个版本线,且不可互换:

  • 1.x —— Minecraft 1.20.1, Forge
  • 2.x —— Minecraft 1.21.1, NeoForge

两者均会维护。选择与你的加载器主版本匹配的文件;1.x 的文件在 1.21.1 上根本无法加载,反之亦然。依赖项遵循相同规则 —— 2.x 模组需要它们依赖的 Dox 模组的 2.x 版本。

要求

  • DoxCore(必需,匹配版本线)。它本身没有可见功能 —— 是其他 Dox 模组使用的共享系统。

对于模组开发者

  • DoxEffectManager.apply(player, source, type, magnitude, durationTicks) / applyBatch / clearSource。
  • DoxEffectManager.magnitude(player, type) —— 读取有效查询值(散布/后坐力/抖动)。
  • ClientEffects.recoil / ClientEffects.tremor —— 用于渲染代码的客户端同步值。

已知问题

耳聋 和 沉默 效果还没有图标纹理,因此它们在效果列表中显示为缺失纹理的方块。仅外观问题 —— 不会导致崩溃。