Repository navigation
Releases: Doom-Flare/doom.virtual.health
Release list
doom.virtual.health v3.1.1 (Minecraft 1.21.5 – 26.3)
📦 doom.virtual.health - v3.1.1
🧹 署名与链接整理(重打包)
这一版不改玩法、不改命令:只把包内 README 的作者名与仓库链接从旧用户名更新为Doom_Flare,再按规范重打 zip、重算 sha256。
- ✅ 命令层与 v3.1.0 逐字节相同(63 个 mcfunction 一字未改)
- 📝 包内
README.md的作者行与 Issues 链接更新为新用户名 - 📦 两份 zip 重新生成,sha256 随之更新(v3.1.0 已标为「已被取代」)
📥 下哪个
| MC 版本 | data pack format | 用哪个包 |
|---|---|---|
| 1.21.5 – 26.2 | 71 – 107.1 | doom.virtual.health-v3.1.1.zip |
| 26.3 | 121.0 | doom.virtual.health-v3.1.1-mc26.3.zip |
| 1.21.4 及更低 | ≤ 61 | 不支持 |
⚠️ 在 26.3 上装主用份会让服务器直接起不来(Registry loading errors: doom.virtual.health:vitality),26.3 请用-mc26.3。
🔧 怎么装
- 下载对应你 MC 版本的那份 zip。
- 解压,把整个
doom.virtual.health/放进<存档>/datapacks/(服务器放world/datapacks/)。 - 进游戏
/reload,再/function doom.virtual.health:__help__看命令表。
📦 资产与校验
| 文件 | 适用版本 | sha256 |
|---|---|---|
doom.virtual.health-v3.1.1.zip |
1.21.5 – 26.2 | 7de698051b48a820896d720ac6176f6de27735b3343dffd22cb489feb5ac12b6 |
doom.virtual.health-v3.1.1-mc26.3.zip |
仅 26.3 | 92a6171b30ea1836e343dd66afc4f15d7ba059c6274f3743d1fab87f128e8e05 |
校验:
sha256sum -c SHA256SUMS.txt(Windows:Get-FileHash <zip> -Algorithm SHA256)。
📖 源码在哪
仓库本体:doom.virtual.health/(zip 内每个条目与它逐字节相同)。
文档:README · CHANGELOG · docs/
Full Changelog: v3.1.0...v3.1.1
doom.virtual.health v3.1.0 (Minecraft 1.21.5 – 26.3)
⚠️ 已被v3.1.1取代 —— 新版修正了包内 README 的作者名与链接,命令层与本文完全相同。
📦 doom.virtual.health - v3.1.0
🎯 多版本支持更新!
本版本把 doom.virtual.health 从单版本扩展到 Minecraft 1.21.5 – 26.3。
doom.virtual.health 现已支持 Minecraft 1.21.5 – 26.3(共 12 个版本)。
- ✨ 新增多版本变体(按版本边界拆成 2 份)
- 🐛 修复 注册表 JSON schema(26.3):
enchantment注册表的condition→type、
requirements数组 → 单体。这是本包唯一的真·硬破坏 —— 旧写法会让 26.3 服务器直接起不来。 - 🐛 修复
pack.mcmeta新规则(1.21.9 起):min_format/max_format必需,区间已如实收窄。 - ✅ 其余敏感点(属性 / 伤害来源 / 装备 NBT 路径 / bossbar 同步 / Health 探针时序 / 跨命名空间耦合)
逐条核对后确认无需修改。 - 📌 玩法行为与 v3.0.0 完全一致(63 个 mcfunction 一字未改)—— 本版改的是能不能装上去。
- 📌 接口冻结契约一字未改,外部读者
doom.custom_mob不受影响。
📊 支持的版本与对应包
| MC 版本 | data pack format | 用哪个包 |
|---|---|---|
| 1.21.5 | 71 | doom.virtual.health-v3.1.0.zip |
| 1.21.6 | 80 | doom.virtual.health-v3.1.0.zip |
| 1.21.7 / 1.21.8 | 81 | doom.virtual.health-v3.1.0.zip |
| 1.21.9 / 1.21.10 | 88.0 | doom.virtual.health-v3.1.0.zip |
| 1.21.11 | 94.1 | doom.virtual.health-v3.1.0.zip |
| 26.1 / 26.1.1 / 26.1.2 | 101.1 | doom.virtual.health-v3.1.0.zip |
| 26.2 | 107.1 | doom.virtual.health-v3.1.0.zip |
| 26.3 | 121.0 | doom.virtual.health-v3.1.0-mc26.3.zip |
| 1.21.4 及更低 | ≤ 61 | ❌ 不支持 |
⚠️ 26.3 上必须用-mc26.3那份:26.3 改了enchantment注册表的 JSON 形状,
在 26.3 上装上面那份会启动失败。
✅ 真机验收(全部实测)
| MC 版本 | 结果 |
|---|---|
| 1.21.5 | ✅ 12/12 · 0 加载错误 |
| 1.21.6 | ✅ 12/12 · 0 加载错误 |
| 1.21.7 | ✅ 12/12 · 0 加载错误 |
| 1.21.8 | ✅ 12/12 · 0 加载错误 |
| 1.21.9 | ✅ 12/12 · 0 加载错误 |
| 1.21.10 | ✅ 12/12 · 0 加载错误 |
| 1.21.11 | ✅ 12/12 · 0 加载错误 |
| 26.1 | ✅ 12/12 · 0 加载错误 |
| 26.1.1 | ✅ 12/12 · 0 加载错误1 |
| 26.1.2 | ✅ 12/12 · 0 加载错误2 |
| 26.2 | ✅ 12/12 · 0 加载错误 |
| 26.3 | ✅ 12/12 · 0 加载错误 |
📦 资产
| 文件 | 适用版本 | sha256 |
|---|---|---|
doom.virtual.health-v3.1.0.zip |
1.21.5 – 26.2 | cd556d2b946fb4a8c24a37c242c4e0cedf6f9eb3d296614c0ad17af02032145b |
doom.virtual.health-v3.1.0-mc26.3.zip |
仅 26.3 | 51bcccbc04d4742c689140863c166aa50e13a683c587735f4e4f741344db8816 |
校验:
sha256sum -c SHA256SUMS.txt(Windows:Get-FileHash <zip> -Algorithm SHA256)。
Full Changelog: v3.0.0...v3.1.0
doom.virtual.health v3.0.0
下哪个
| 你是 | 下载这个 |
|---|---|
| 所有人 —— 本包只有一个变体,不用挑 | doom.virtual.health-v3.0.0.zip |
zip 里装的是完整的 doom.virtual.health/ 数据包:91 个文件(63 个 .mcfunction + 24 个 .json + 3 个 .mcdoc 补全定义 + pack.mcmeta)。
它同时含两个命名空间:doom.virtual.health(虚拟血量核心)与 doom.bossbar(血条联动,可选,不接也不影响本体)。
不需要开启任何实验性玩法,也不依赖别的数据包。
版本对应关系:本版是
v3.0这条线的规范三位版号。旧标签v3.0保留不动,但它从未附带任何产物(只有标签,没有 zip)——
想下载请用本页的doom.virtual.health-v3.0.0.zip。两者是同一个版本,没有功能差别。
怎么装
- 解压
doom.virtual.health-v3.0.0.zip→ 得到一个文件夹doom.virtual.health/; - 把它整个放进
saves/<你的存档>/datapacks/(服务器:world/datapacks/);
最终路径必须是.../datapacks/doom.virtual.health/pack.mcmeta—— 多套一层就不加载; - 进游戏
/reload,打/function doom.virtual.health:__help__,聊天栏有输出就是装上了。
给一只僵尸装上虚拟血量(auto_init 方式,第一 tick 自动初始化):
/summon minecraft:zombie ~ ~ ~ {data:{dvh:{max_health:40d, health:40d, on_death:"say died"}}, NoAI:1b}
传统方式(对任意实体):
/execute as @n run function doom.virtual.health:api/create {with:{max_health:21.5, health:20}}
再给已有虚拟血量的实体挂一条血条(可选):
/execute as @e[tag=virtual_health_entity] run function doom.bossbar:api/create {with:{name:'"Boss"',color:red,style:progress,visible:"true",targets:"@a"}}
卸载:先 /function doom.virtual.health:__unload__ 把虚拟血量实体摘干净,再删掉 datapacks/doom.virtual.health/ 并 /reload。
更细的安装、卸载与排错见仓库 docs/01-安装.md。
校验值
| 附件 | sha256 |
|---|---|
doom.virtual.health-v3.0.0.zip |
d271d11b12752493c74bf2875146e84c106f261c4e3c2166a1e5a479cf47be93 |
GitHub 在每个附件右侧也会显示同一串,可直接对照。下载后自己算一遍:
Windows PowerShell: (Get-FileHash doom.virtual.health-v3.0.0.zip -Algorithm SHA256).Hash
Linux / macOS: sha256sum doom.virtual.health-v3.0.0.zip
仓库里 dist/SHA256SUMS.txt 存的是同一组值。
源码在哪
- 源码就是数据包本体:仓库
doom.virtual.health/
—— 63 个.mcfunction,每个都能直接点开看。这个包是手写的,没有生成器,所以仓库里没有src/。 - 成品与源码是同一份东西:zip 内 91 个条目与仓库
doom.virtual.health/下的同名文件逐字节相同。 - 玩家手册在
docs/(安装 · 用法与 API · 配置 · 兼容与版本 · 致谢与许可),
图文文档站:https://doomdecapitator.github.io/doom.virtual.health/;逐版变更在CHANGELOG.md。 - 打包工具、结构门与验收脚本在私有开发仓库(不对外)。
这一版改了什么
- 仓库形态改成玩家向:顶层重排为 README.md · LICENSE · CHANGELOG.md · dist/ · docs/ · doom.virtual.health/ · .github/,
第一屏直接回答"这是什么 / 下哪个 / 怎么装 / 源码在哪";文档站(docs/index.html)继续在 GitHub Pages 上服务。 - 包体同步工作区较新的一份(3 处):
mcdoc/doom.virtual.health.mcdoc用显式键名取代[string]: any
(拼错键当场报警,补全覆盖doom.vh:ctx的全部运行时槽位);pack.mcmeta改为多行(值不变);
__unload__.mcfunction去掉行首 UTF-8 BOM。这三处都是无行为变化的工程整理(PATCH 级)。 - 旧标签
v3.0保留不动,其 Release 已标注"已被 v3.0.0 取代"。详细条目见
CHANGELOG.md。
Doom Virtual Health v3.0
⚠️ 已被v3.0.0取代 —— 本标签(v3.0)从未附带任何产物(只有标签,没有 zip);请到v3.0.0下载。
两者是同一个版本,只是按新规则补上了规范的三位版号。
Doom Virtual Health v3.0 — 虚拟血量系统 + Bossbar 血条联动
为 Minecraft 实体注入独立于原版血量的虚拟血量系统,自动映射到 Bossbar。
✨ 核心特性
- 独立虚拟血量:实体拥有
dvh.health/dvh.max_health(mHP,0.001 HP 精度),与原版血量完全解耦 - auto_init:
/summon直接带data:{dvh:{...}}NBT,第一 tick 自动初始化 - 高频 tick 伤害检测:以原版 Health(512f)为探针,22 scale 采样,伤害/治疗精准换算
- 死亡回调 on_death:血量归零时执行任意命令字符串(
say/function/summon/playsound等) - 正确的死亡归属:UUID int-array → hex 字符串 →
damage ... by <uuid>,击杀 credit 归攻击者 - 百分比判定:
dvh.pp/dvh.pp_max实体级阈值,7 个 predicate 函数(below/above/between × percentage/hp) - 无敌控制:
set_invulnerable一键免疫 - 伤害倍率:
set_damage_mult×1000 标度,范围 [1, 100000] - 余数精度补偿:
dvh.rem_damage/dvh.rem_heal进位,长期累计不丢精度 - 统计追踪:累计伤害 / 治疗 / 玩家伤害,可导出到任意计分板
📊 Doom Bossbar(联动模块)
- 自动同步 VH 血量到 Bossbar(tick 驱动)
persist支持实体死亡后保留血条- 自定义名称 / 颜色 / 样式 / 可见玩家
⚡ vitality 附魔触发器
- 附魔 tick 驱动装备加成同步(
attribute_modifiers→dvh.max_health),替代命令轮询 - Riding 实体(猪/马/骡等)→ 主手槽,其余 → 鞍槽,
api/apply_trigger自动分配
🛠️ 技术亮点
- 纯原版数据包,零外部依赖(1.21.6+)
- mcdoc 支持:3 个 mcdoc 文件提供 Spyglass 自动补全
- 治疗计算:
delta × 50 × mult / 1000 / 22 → mHP(C1 修复) - trigger_death 实体 NBT 隔离(C5 修复),回调数据不污染全局 storage
- 伤害倍率上限保护(H7 修复)
📚 文档
- README.md:完整 API 参考(22 个 DVH API + 3 个 bossbar API)、on_death 章节、vitality 说明、predicate 用法、单位换算
- GitHub Pages 文档站:https://doomdecapitator.github.io/doom.virtual.health/
🚀 快速开始
# auto_init
/summon minecraft:zombie ~ ~ ~ {data:{dvh:{max_health:40d, health:40d, on_death:"say died"}}, NoAI:1b}
# 传统方式
/execute as @n run function doom.virtual.health:api/create {with:{max_health:21.5, health:20}}
# 绑定 Bossbar
/execute as @e[tag=virtual_health_entity] run function doom.bossbar:api/create {with:{name:'"Boss"',color:red,style:progress,visible:"true",targets:"@a"}}Release notes 由 Deepseek AI 自动生成。