Repository navigation
Releases: Doom-Flare/doom.nats
Release list
v4.32.0 — 条目路径的四处断链 + place=any 放行落位门
这一版修什么
四处断链,全在作者层(doom.nats:author 的自定义条目)。它们不报错、不进日志、不影响普通刷怪,从 v4.25 起活了七个版本——只有亲手写条目的人才会撞上。
| # | 位置 | 原写法 | 后果 |
|---|---|---|---|
| A | author/entry_rule:3 |
set from storage doom.nats:mobs."$(slug)".rt 少一个空格 |
整行执行期抛错,条目的 rule / tag / cluster / wide / wide2 / tall / grp1 七项全部沿用上一只生物的残值 |
| B | core/setup |
从不调用 mob/load |
47 条注册表只在手动装载后才存在;新世界 / 新装包时是空的 |
| C | author/add_entry |
满溢判定与 append 都看 entries[8] |
声明上限 8,实际能写进第 9 条;entry_scan 只枚举 entries[0..7] ⇒ 永不生效且不报错 |
| D | check/block:86-97 |
十二条 tag 门只判 $sel.tag,不看 $sel.place |
蝙蝠 / 鹦鹉写 place:"any" 仍然进不了空中 |
顺带把 place = any 正式定义成「同时放行 tag 门与 belowSurface 高度门」,并新增 lint 规则 L16(storage id 与路径引号段之间缺空格即 ERROR),A 这个形态今后进不了门禁。
真机对照
同一台 1.21.6 服、同一条目、mode/off 冻结主链后读 $sel:
| v4.31.0 | v4.32.0 | |
|---|---|---|
entry_take 后 $sel |
{rule:5, place:0, light:1, tag:0, cluster:4}(五项全是残值) |
{rule:3, place:4, light:3, tag:12, cluster:4}(蝙蝠真值) |
add_entry ×10 的 entries 长度 |
1,2,3,4,5,6,7,8,9,9 |
1,2,3,4,5,6,7,8,8,8 |
删 mobs.minecraft:bat 后 /reload |
仍是空 | 自动装回 |
| 普通刷怪 | 照常 | 照常 |
空中那次决定性验收(1.21.10,y=199 铺整层 barrier、玩家钉在 y=200、band {mode:1,yMin:205,yMax:225}、蝙蝠 + 鹦鹉双条目 place:"any"):90 秒 $cnt.ambient 48 → 177、$cnt.creature 2 → 4,客户端可见蝙蝠 32 → 83;蝙蝠 Pos [3.28, 161.04, -5.66]、鹦鹉 Pos [28.00, 204.89, 112.00],两只都在空中。
验收
- 12 版矩阵 12/12:1.21.5 / 1.21.6 / 1.21.7 / 1.21.8 / 1.21.9 / 1.21.10 / 1.21.11 / 26.1 / 26.1.1 / 26.1.2 / 26.2 / 26.3 —— 每版加载错误 0、自检
pass=14 fail=0,单版 36.6–38.7 秒。矩阵直接解本 Release 里的 zip 测的。 - 全新世界开箱即用:删
world三件套、datapacks只放一个 zip —— 开机即doMobSpawning=false、注册表已装载;白天 60 秒 creature 12 只,夜里 120 秒 monster 41–59 只,最近生物距玩家 24.4 格。 - 数量档位五档:
sparse 5/35 · normal 10/70 · dense 15/105 · horde 25/175 · extreme 40/280(creature/monster 上限)。 - 生成器
--check全部一致 ·lint_pack0 error 2 warning ·check_static --std/--exp同 ·check_closureexit 0。
下载哪个
| 你的 MC 版本 | 文件 |
|---|---|
| 1.21.5 | doom.nats-v4.32.0-mc1.21.5.zip |
| 1.21.6 / 1.21.7 / 1.21.8 | doom.nats-v4.32.0-mc1.21.6-1.21.8.zip |
| 1.21.9 / 1.21.10 | doom.nats-v4.32.0-mc1.21.9-1.21.10.zip |
| 1.21.11 到 26.2 | doom.nats-v4.32.0-mc1.21.11-26.2.zip |
| 26.3 | doom.nats-v4.32.0-mc26.3.zip |
| 想体验实验性能力 | doom.nats-v4x-experimental-v4.32.0.zip(创建世界时须开「矿车改进」) |
配套建议一起装:doom.log-multi.zip(出错时能看到原因)、doom.nats-selftest.zip(包内自检)。
校验值见仓库 dist/SHA256SUMS.txt。
升级
把新的 doom.nats/ 覆盖旧文件夹 → /reload。存档与已生成的生物不受影响;规则存在 storage 里,也会保留。
如果你从 v4.31 及更早升上来,之前写的自定义条目会开始按正确的规则生效——也就是说行为会变(这是修复)。如果你曾为了让条目"看起来能跑"而绕过这些限制,升级后请重新核一遍。
doom.nats v4.31.0 (Minecraft 1.21.5 - 26.3)
doom.nats v4.31.0
被动生物一条都不生成。修完之后,玩家飞在 y=200 的天空里,同条件下从 90 秒 0 只变成 90 秒 5259 次成功生成。
三处硬伤全在"这次该不该在这一点生成"的三道前置上,不在规则层。
错在哪
| # | 位置 | 原写法 | 原版语义 | 后果 |
|---|---|---|---|---|
| ① | check/distance |
所有类别一律卡 128 格 | despawnDistance 按类别取值(WATER_AMBIENT = 64,其余 6 类 = 128),且 canSpawnFarFromPlayer()(= CREATURE || MISC)整条豁免 |
被动生物被凭空多加了 128 格上界;water_ambient 该 64 却按 128 放行 |
| ② | pos/band 模式 0 |
y 锚在玩家高度,向下扫 dy = +2 .. −16 | NaturalSpawner.getRandomPosWithin:y = random(level.getMinY(), chunk.getHeight(WORLD_SURFACE, x, z) + 1) —— 与玩家高度完全无关 |
玩家飞在高空时整窗都是空气,探针实测回退率 100%、落位命中率 1–3% |
| ③ | core/creature_tick |
只在 circ/snapshot(每 20 tick)里采样一次 gametime % 400 |
getGameTime() % 400 == 0 每 tick 判一次 |
gametime 步进 1、采样步进 20 ⇒ 相位固定,$gt 的值域恰是 {17, 37, 57, …, 397} 这 20 个数,永远取不到 0 ⇒ 被动生物一条都不生成 |
三条必须一起修,因为它们互相掩盖:只修 ③ 时锚点还在玩家高度,玩家一站地面能刷、飞起来仍是 0;只修 ② 时落位对了但类别抽签抽不到;只修 ① 时 water_ambient 口径对齐了、被动生物照样不生成。
真机对照(超平坦、doMobSpawning=false 关掉原版刷怪、午间、creatureGate=1):
| 玩家 y | 修复前 90 秒 Δ$spawned.total |
修复后 |
|---|---|---|
| 200(悬空) | 0 | +5259 |
| 64 | 0 | +76 |
| −60(地面) | 0 | +61 |
修复后在 y=200 上的断崖也消失了:旧版 y=68 起就是 0,新版 64→200 全程可生成。
改了什么
| 文件 | 改动 |
|---|---|
check/distance |
重写为 14 行:24 格门不变 → 默认 $chk.dist = 128 → check/dist_pick 按类别取 $cfg.dist_<cat> → creature 豁免才继续走 check/dist_gate |
check/dist_pick |
新增(宏):按 $(cat) 从 $cfg.dist_<cat> 取上界 |
check/dist_gate |
新增(宏):unless entity @a[gamemode=!spectator,distance=..$(dist)] ⇒ check/fail {reason:2} |
pos/band_surface |
新增:模式 0 第一步扫不到时,用 positioned over motion_blocking_no_leaves 把锚点搬到该列地表 |
pos/band_surface_at |
新增:借一个临时 marker 读回地表 y,只在 $band.sy < $py 时接管 |
pos/band_surface_scan |
新增:以地表为锚点的 19 层扫描,命中后把偏移换算成绝对 y |
pos/band |
19 条扫描行拆成可复用的 anchorLines,模式 0 接上 pos/band_surface |
core/creature_tick |
改为每 tick 调用;门做成 $eff.period 宽窗口 |
core/tick |
在 add $t 之后加 function doom.nats:core/creature_tick(原在 circ/snapshot 里) |
circ/snapshot |
去掉 creature_tick 调用与 $creature_gate 拷贝(该变量全包 0 处读取) |
门做成"窗口"而不是"等值"是有意的:生成拍未必落在 gametime % 400 == 0 那一刻,等值门会漏掉整个周期。窗口宽度 = period(默认 5),每 400 tick 有连续 5 个 tick 门是开的。
mode/off 现在真的退场了
mode/off 原先只有"清场 + 把 doMobSpawning 还给原版",不设任何停止标志,而 core/tick 里的 spawn/batch 没有模式门 —— 跑完 mode/off 之后本包仍在 summon 生物。文档(16 / 21 / 24 / 25 与 wiki 安装与升级)一致按"退场"写,代码不是。
| 项 | 改法 |
|---|---|
| 新增退场锁 | $mode.off(记分板 doom.nats) |
core/tick |
add $t 之后整函数 return;$t 照旧递增(ctrl/settle 的分钟结算靠它) |
mode/off |
置 $mode.off = 1 |
mode/survival |
置 $mode.off = 0(mode/auto 复用 survival,自动获得解锁) |
core/setup |
装载自动接管加双条件:unless $mode.manual 且 unless $mode.off |
真机验收(1.21.10):跑 mode/off 后 $mode.off=1、doMobSpawning=true、$spawn_t 连续采样恒 2(冻结)、$t 仍递增;/reload 后仍冻结且 doMobSpawning 仍 true;mode/survival 与 mode/auto 都能解锁并恢复节拍。
顺带:实验性变体重建
pack/doom.nats-experimental 此前停在上一代产物:776 文件,与默认变体的 704 个公共文件里有 251 个内容不同 —— core/creature_tick 只有 4 行、mode/off 5 行、core/tick 32 行,全都没有本版的三处修复与退场锁。重建后 781 文件(新增 5、删除 0、改动 8),实验层 exp/* 仍是 77 个文件不变。
下载哪个
| MC 版本 | 包 |
|---|---|
| 1.21.5 | doom.nats-v4.31.0-mc1.21.5.zip |
| 1.21.6 / 1.21.7 / 1.21.8 | doom.nats-v4.31.0-mc1.21.6-1.21.8.zip |
| 1.21.9 / 1.21.10 | doom.nats-v4.31.0-mc1.21.9-1.21.10.zip |
| 1.21.11 到 26.2 | doom.nats-v4.31.0-mc1.21.11-26.2.zip |
| 26.3 | doom.nats-v4.31.0-mc26.3.zip |
| 1.21.6(基线) | doom.nats-v4.31.0.zip |
多份包只能装一份,它们共用同一个命名空间。
这两个建议一起装,不分版本:doom.log-multi.zip(日志通道)和 doom.nats-selftest.zip(自断言套件)。
实验性变体是 doom.nats-v4x-experimental-v4.31.0.zip,多出 near、on_spawn 和几个预设。装它必须在创建世界时开启对应实验性玩法,否则包会被拒绝加载。
真机验收
12 个版本全部实测过,加载错误都是 0,自检都是 14/14,单版 28–32 秒。
| MC 版本 | 加载错误 | 自检 |
|---|---|---|
| 1.21.5 | 0 | 14/14 |
| 1.21.6 | 0 | 14/14 |
| 1.21.7 | 0 | 14/14 |
| 1.21.8 | 0 | 14/14 |
| 1.21.9 | 0 | 14/14 |
| 1.21.10 | 0 | 14/14 |
| 1.21.11 | 0 | 14/14 |
| 26.1 | 0 | 14/14 |
| 26.1.1 | 0 | 14/14 |
| 26.1.2 | 0 | 14/14 |
| 26.2 | 0 | 14/14 |
| 26.3 | 0 | 14/14 |
判定口径是 pass/fail 加 total 等于 14,再加 8 类加载错误全 0。三者缺一不可。
生成侧另有真机验收:默认参数下 $cnt.creature 与 @e[type=#doom.nats:creature] 双口径一致;把 cap.creature 抬到 200 后 120 秒生成 96 只、场上 106 只(sheep 20 / cow 12 / pig 28 / chicken 26 / horse 17 / donkey 3),实体 NBT 带 doom.nats.cat.creature doom.nats.near128 doom.nats.spawned。
数生成了几只请读
$cnt.creature或直接点实体。$spawned.total参与ctrl/settle的分钟结算,短窗口的差值可能与实际生成数不一致。
校验值
| 文件 | sha256 |
|---|---|
doom.nats-v4.31.0.zip |
b8be0a1a25fde8e431bbb8791d11e2e896020838ffcfdc9fdf735590b59fb9bc |
doom.nats-v4x-experimental-v4.31.0.zip |
e7b7a0114b9ebb53189b9ec5cb34a1d570e1bdd7379b4570105aebf5c7e827b4 |
doom.nats-v4.31.0-mc1.21.5.zip |
5c4ecb732b8bd6cd5efe4b23d4cb9911e817adef51da48782f65bc133394c441 |
doom.nats-v4.31.0-mc1.21.6-1.21.8.zip |
756e4476d0c93368a6f505d20009b239182ed5e9b150b1a8d0fa8876c41a920b |
doom.nats-v4.31.0-mc1.21.9-1.21.10.zip |
2d4621cef5d439222939176542d6d67713a0f4c806009ba11ce1ad93f15dcdc5 |
doom.nats-v4.31.0-mc1.21.11-26.2.zip |
72ecc1169bd104d6ad5512cf9376052b53162c259b1044b59582cd7395bf0ded |
doom.nats-v4.31.0-mc26.3.zip |
e5c77a41ed4551133223c95c5ccb27965e404ee8a0d51f5560b7a3f525d3b031 |
doom.log-multi.zip |
a65873bf49bb1b135b67fe533a883cf8b0fafeca0289be9455eaf32a2c15bd71 |
doom.nats-selftest.zip |
4ab6836a8dfd19372b4a2d6f7f716f73b76489bb85a504728fe27f0fea42f1bb |
Windows 上校验:
Get-FileHash <zip> -Algorithm SHA256安装、改规则、常见问题都写在仓库的 README 和 docs/ 里。
doom.nats v4.30.1 (Minecraft 1.21.5 - 26.3)
doom.nats v4.30.1
这一版只改一个数字。26.3 那份包的版本声明写错了,包能加载,但 1.21.11 的玩家误装之后会静默失效。
错在哪
26.3 那份包里的 pack.mcmeta 写着从 1.21.11 开始兼容,声明值来自勘误之前的旧区间:
| 项 | v4.30.0 的 -mc26.3 |
v4.30.1 |
|---|---|---|
pack_format |
94 | 121 |
min_format |
[94, 1] |
[121, 0] |
max_format |
121 | [121, 0] |
| 包内描述 | 1.21.11–26.3 |
26.3 |
v4.29 的同一份包本来是对的(121 / [121,0] / [121,0]),错标是 v4.30.0 重打包时带进去的。
为什么必须修
26.3 与 26.2 及更早版本之间隔着一次 predicate 注册表键名的换代(condition 改成 type),两边不能互相装,而且坏的方向不对称:
| 装到 | 结果 |
|---|---|
| 26.2 及更早 | 服务器照常启动,但 68 个 predicate 全部失效,自检从 14 项悄悄变成 13 项 |
| 26.3 | 服务器直接起不来,报 No key type in MapLike[{"condition":...}] |
因为声明里写着「1.21.11 起可用」,1.21.11 到 26.2 的玩家会被静默引导到一份对自己无效的包。改回 121 之后,这些版本的游戏会把这份包判定为版本不符,不会误装。
改了什么
data/ 一个字节没动,五份区间包的 mcfunction 与 JSON 和 v4.30.0 完全一致。
dist/doom.nats-v4.30.1-mc26.3.zip重打,576944 B。与旧包解压比对:700 对 700 个文件,差异只有doom.nats/pack.mcmeta一个- 其余 6 个 zip 只是改名,sha256 与原文件逐位相同
ports/doom.nats-1.21.11-26.3/改成ports/doom.nats-26.3/,旧目录删除- 文档里
docs/25-兼容与版本矩阵中 26.3 那一行的 94 改成 121 docs/18-配置手册里实验性变体的条目数 771 改成 777(实测值)- 全仓「当前版本引用」升到 v4.30.1,历史叙述一律不动
下载哪个
| MC 版本 | 包 |
|---|---|
| 1.21.5 | doom.nats-v4.30.1-mc1.21.5.zip |
| 1.21.6 / 1.21.7 / 1.21.8 | doom.nats-v4.30.1-mc1.21.6-1.21.8.zip |
| 1.21.9 / 1.21.10 | doom.nats-v4.30.1-mc1.21.9-1.21.10.zip |
| 1.21.11 到 26.2 | doom.nats-v4.30.1-mc1.21.11-26.2.zip |
| 26.3 | doom.nats-v4.30.1-mc26.3.zip |
| 1.21.6(基线) | doom.nats-v4.30.1.zip |
多份包只能装一份,它们共用同一个命名空间。
这两个建议一起装,不分版本:doom.log-multi.zip(日志通道)和 doom.nats-selftest.zip(自断言套件)。
实验性变体是 doom.nats-v4x-experimental-v4.30.1.zip,多出 near、on_spawn 和几个预设。装它必须在创建世界时开启对应实验性玩法,否则包会被拒绝加载。
真机验收
12 个版本全部实测过,加载错误都是 0,自检都是 14/14。
| MC 版本 | 加载错误 | 自检 |
|---|---|---|
| 1.21.5 | 0 | 14/14 |
| 1.21.6 | 0 | 14/14 |
| 1.21.7 | 0 | 14/14 |
| 1.21.8 | 0 | 14/14 |
| 1.21.9 | 0 | 14/14 |
| 1.21.10 | 0 | 14/14 |
| 1.21.11 | 0 | 14/14 |
| 26.1 | 0 | 14/14 |
| 26.1.1 | 0 | 14/14 |
| 26.1.2 | 0 | 14/14 |
| 26.2 | 0 | 14/14 |
| 26.3 | 0 | 14/14 |
判定口径是 pass/fail 加 total 等于 14,再加 8 类加载错误全 0。三者缺一不可。
反装实验复核了边界:26.2 的包装到 26.3 服上直接起不来;26.3 的包装到 26.2 服上服务器能起,但 predicate 全废、自检只剩 13 项。
校验值
| 文件 | sha256 |
|---|---|
doom.nats-v4.30.1.zip |
d610d4849582f48e949c1bf38bab5ecb2d86f6895822052e6791dd444c433656 |
doom.nats-v4x-experimental-v4.30.1.zip |
c3a50ce46742340d7b4a04889ade8888ff7486d63885d571c707ef86d990f9ec |
doom.nats-v4.30.1-mc1.21.5.zip |
58d78f8a46acfc0b5234cd194288e57d50600db89259da9340a1070057bfe046 |
doom.nats-v4.30.1-mc1.21.6-1.21.8.zip |
71e099b46557b35d64a1f433938c19bfa9ce6d27b3b4b568a5e82b74a2f54ed5 |
doom.nats-v4.30.1-mc1.21.9-1.21.10.zip |
1e013e18801a4ed57f7d94653cc8f73fbd608e95efa12b4970e0b323724c5ef0 |
doom.nats-v4.30.1-mc1.21.11-26.2.zip |
23f507655df516f11bbe3662f7ec08b0efade2690fc53a469b7c7097d6553ab5 |
doom.nats-v4.30.1-mc26.3.zip |
d0ab2f0687d669cdc75d6e77713ee0fbc9b39edf03414238f01aaa734a27a4d9 |
doom.log-multi.zip |
a65873bf49bb1b135b67fe533a883cf8b0fafeca0289be9455eaf32a2c15bd71 |
doom.nats-selftest.zip |
4ab6836a8dfd19372b4a2d6f7f716f73b76489bb85a504728fe27f0fea42f1bb |
Windows 上校验:
Get-FileHash <zip> -Algorithm SHA256安装、改规则、常见问题都写在仓库的 README 和 docs/ 里。
doom.nats v4.30.0 (Minecraft 1.21.5 - 26.3)
doom.nats v4.30.0
这一版加了数量档位。不改规则、不改物种,只调"最多刷几只"。
调刷怪数量
跑这五条之一,聊天栏会提示当前是哪一档,/reload 之后还保留。
| 命令 | 效果 |
|---|---|
/function doom.nats:scale/sparse |
上限减半 |
/function doom.nats:scale/normal |
回到原版 |
/function doom.nats:scale/dense |
一倍半 |
/function doom.nats:scale/horde |
两倍半,同时加快刷怪节奏 |
/function doom.nats:scale/extreme |
四倍 |
想自己填数字:
/data modify storage doom.nats:config qty set value 150
/function doom.nats:cfg/apply
qty 是百分比,100 是原样,范围 1 到 1000。它只改容量上限,也就是"最多几只"。
想改"刷多快"用 density、batch、period。
调小档位后,场上已有的怪不会立刻消失,会按消失层的节奏慢慢减到新上限。
其它改动
补齐了容量计数。v4.28 做过一次性能改造,把容器计数从每秒 21 次降到 3 次,实现上拆成了 5 个文件。
上一版的 ports/ 用了一份缺这 5 个文件的生成器快照,和 dist/ 里的包对不上,这一版补齐。
mcdoc 补了 qty 的类型声明。上一版加这个字段时漏了它。实验性变体的包里也第一次带上这份文件。
规则层文档修正:weight 的命中率大约是 weight / 1000000,不是"和香草条目同池竞争"。
想让自建条目刷出来要填十万量级,填 40 这种小数字等于不刷。示例已同步改过。
下载哪个
| MC 版本 | 包 |
|---|---|
| 1.21.5 | doom.nats-v4.30.0-mc1.21.5.zip |
| 1.21.6 / 1.21.7 / 1.21.8 | doom.nats-v4.30.0-mc1.21.6-1.21.8.zip |
| 1.21.9 / 1.21.10 | doom.nats-v4.30.0-mc1.21.9-1.21.10.zip |
| 1.21.11 到 26.2 | doom.nats-v4.30.0-mc1.21.11-26.2.zip |
| 26.3 | doom.nats-v4.30.0-mc26.3.zip |
| 1.21.6(基线) | doom.nats-v4.30.0.zip |
多份包只能装一份,它们共用同一个命名空间。
这两个建议一起装,不分版本:doom.log-multi.zip(日志通道)和 doom.nats-selftest.zip(自断言套件)。
实验性变体是 doom.nats-v4x-experimental-v4.30.0.zip,多出 near、on_spawn 和几个预设。
装它必须在创建世界时开启对应实验性玩法,否则包会被拒绝加载。
自定义外观(AJ 桥接)未随本版发布,源码在 src/tools/gen_exp_aj.mjs。
真机验收
12 个版本全部实测过,加载错误都是 0,自检都是 14/14。
| MC 版本 | 加载错误 | 自检 |
|---|---|---|
| 1.21.5 | 0 | 14/14 |
| 1.21.6 | 0 | 14/14 |
| 1.21.7 | 0 | 14/14 |
| 1.21.8 | 0 | 14/14 |
| 1.21.9 | 0 | 14/14 |
| 1.21.10 | 0 | 14/14 |
| 1.21.11 | 0 | 14/14 |
| 26.1 | 0 | 14/14 |
| 26.1.1 | 0 | 14/14 |
| 26.1.2 | 0 | 14/14 |
| 26.2 | 0 | 14/14 |
| 26.3 | 0 | 14/14 |
判定口径是 pass/fail 加 total 等于 14,再加 8 类加载错误全 0。三者缺一不可。
校验值
| 文件 | sha256 |
|---|---|
doom.nats-v4.30.0.zip |
d610d4849582f48e949c1bf38bab5ecb2d86f6895822052e6791dd444c433656 |
doom.nats-v4x-experimental-v4.30.0.zip |
c3a50ce46742340d7b4a04889ade8888ff7486d63885d571c707ef86d990f9ec |
doom.nats-v4.30.0-mc1.21.5.zip |
58d78f8a46acfc0b5234cd194288e57d50600db89259da9340a1070057bfe046 |
doom.nats-v4.30.0-mc1.21.6-1.21.8.zip |
71e099b46557b35d64a1f433938c19bfa9ce6d27b3b4b568a5e82b74a2f54ed5 |
doom.nats-v4.30.0-mc1.21.9-1.21.10.zip |
1e013e18801a4ed57f7d94653cc8f73fbd608e95efa12b4970e0b323724c5ef0 |
doom.nats-v4.30.0-mc1.21.11-26.2.zip |
23f507655df516f11bbe3662f7ec08b0efade2690fc53a469b7c7097d6553ab5 |
doom.nats-v4.30.0-mc26.3.zip |
67302af824553bc2ace9642f501a53cf90c1940140d0ac0cd9c577a3e5daeb3c |
doom.log-multi.zip |
a65873bf49bb1b135b67fe533a883cf8b0fafeca0289be9455eaf32a2c15bd71 |
doom.nats-selftest.zip |
4ab6836a8dfd19372b4a2d6f7f716f73b76489bb85a504728fe27f0fea42f1bb |
Windows 上校验:
Get-FileHash <zip> -Algorithm SHA256安装、改规则、常见问题都写在仓库的 README 和 docs/ 里。
doom.nats v4.29 (Minecraft 1.21.5 – 26.3)
⚠️ 已被 v4.30.0 取代 —— v4.30.0 新增数量档位(/function doom.nats:scale/*)并补齐容量计数。
除非你明确要用 v4.29,否则请下 v4.30.0。
📦 doom.nats - v4.29
🎯 多版本支持更新!
本版本把 doom.nats 从单版本扩展到 Minecraft 1.21.5 – 26.3。
doom.nats 现已支持 Minecraft 1.21.5 – 26.3(共 12 个版本)。
⚠️ 勘误:已下架一个区间标注错误的资产本 Release 原先挂着一枚
doom.nats-v4.29-mc1.21.11-26.3.zip,已下架(发布后数小时内,曾被下载 1 次)。
它标错了适用区间:在 1.21.11 / 26.1 / 26.1.1 / 26.1.2 / 26.2 上会产生 732 条加载错误
(Failed to load function244 ·Whilst parsing488),实际仅 26.3 可用。
根因:该变体内 68 个 predicate 用了新式{"type":"minecraft:location_check",…},
而 1.21.11–26.2 只接受旧式{"condition":…}—— 它把两个不同的破坏边界
(gamerule 改名 = 1.21.11 · predicate schema = 26.3)当成了同一个。
如果你下过那枚包,请按下方映射表改用新资产;下载过的旧文件请删除。
- ✨ 新增多版本变体(按版本边界拆成 5 份,区间各自如实)
- 🐛 修复 原版 ID 变动(双向核对):1.21.9 起
chain→iron_chain;
1.21.6 起新增happy_ghast(旧包把它当不存在 ⇒ 在 1.21.6+ 上是错的) - 🐛 修复 gamerule 改名(1.21.11 起,snake_case):
doMobSpawning→spawn_mobs、
maxCommandChainLength→max_command_sequence_length
—— 旧名字会让doom.nats:mode/survival、doom.nats:mode/off两个函数加载失败 - 🐛 修复 注册表 JSON schema(26.3):predicate 的
condition→type、requirements数组 → 单体、
light内层拍平、number_provider拆成context_int_provider/context_float_provider(涉及包内 68 个 predicate) - 🐛 修复
pack.mcmeta新规则(1.21.9 起):min_format/max_format必需,
两个变体曾「自称区间 ⊋ 实际能力」,已按实测边界收紧 - 🐛 修复
time query daytime→day等相关命令
📊 支持的版本与对应包
| MC 版本 | data pack version | 用哪个包 |
|---|---|---|
| 1.21.5 | 71 | doom.nats-v4.29-mc1.21.5.zip |
| 1.21.6 | 80 | doom.nats-v4.29-mc1.21.6-1.21.8.zip |
| 1.21.7 / 1.21.8 | 81 | doom.nats-v4.29-mc1.21.6-1.21.8.zip |
| 1.21.9 / 1.21.10 | 88.0 | doom.nats-v4.29-mc1.21.9-1.21.10.zip |
| 1.21.11 – 26.2 | 94.1 – 107.0 | doom.nats-v4.29-mc1.21.11-26.2.zip ★ 新 |
| 26.3 | 121.0 | doom.nats-v4.29-mc26.3.zip ★ 新 |
⚠️ 别混装:多份包同一命名空间,datapacks/里只放一份。
全区间通用(所有版本都要装):
doom.log-multi.zip——doom.nats的硬依赖(日志通道),全区间通用doom.nats-selftest.zip—— 包内自断言套件,用于验收
实验性能力(near / on_spawn / 预设 / 自定义外观):
另下 doom.nats-v4x-experimental-v4.29.zip,需要世界开启对应实验性玩法,否则装不上。
✅ 真机验收(全部实测)
| MC 版本 | 结果 |
|---|---|
| 1.21.5 | ✅ 14/14 · 0 加载错误 |
| 1.21.6 | ✅ 14/14 · 0 加载错误 |
| 1.21.7 | ✅ 14/14 · 0 加载错误 |
| 1.21.8 | ✅ 14/14 · 0 加载错误 |
| 1.21.9 | ✅ 14/14 · 0 加载错误 |
| 1.21.10 | ✅ 14/14 · 0 加载错误 |
| 1.21.11 | ✅ 14/14 · 0 加载错误 ★ |
| 26.1 | ✅ 14/14 · 0 加载错误 ★ |
| 26.1.1 | ✅ 14/14 · 0 加载错误 ★ |
| 26.1.2 | ✅ 14/14 · 0 加载错误 ★ |
| 26.2 | ✅ 14/14 · 0 加载错误 ★ |
| 26.3 | ✅ 14/14 · 0 加载错误 |
★ 标星 5 版 = 本次新变体
-mc1.21.11-26.2的实测(修复前它们在旧资产下是 732 条错误 / 13-13)。
判定口径:pass/fail+total== 预期(14) + 8 类加载错误全 0,三者缺一不可。
定界反证:26.3 变体装到 1.21.10 上确实失败(742 错误 / 13-13)⇒ 证明两个边界既无重叠也无缺口。
📦 资产
| 文件 | 适用版本 | sha256 |
|---|---|---|
doom.nats-v4.29.zip |
主用(1.21.6) | 883ff3eb2761079f67f14b7fc33bdf378564bb8e52149257e85c9c72d598bc38 |
doom.nats-v4x-experimental-v4.29.zip |
实验性 | 29ec530c2dfdeed7c79c6719ba60bd2f2081f4c16fe2462f49802b6428096af6 |
doom.nats-v4.29-mc1.21.5.zip |
1.21.5 | 158628810082f9d97c3afd29ddec8ae2f87f8519a342368bfa3bb8b1303bbb60 |
doom.nats-v4.29-mc1.21.6-1.21.8.zip |
1.21.6 – 1.21.8 | 7d90b832a6bbd8aa2fbddb6bf04faeb747acc3c33625a5ba4d67e6df14eff038 |
doom.nats-v4.29-mc1.21.9-1.21.10.zip |
1.21.9 – 1.21.10 | 511410de0c45bf9d6496ab8f60a4bff2907fe06d17f60b35a0c12c5ce6f896bd |
doom.nats-v4.29-mc1.21.11-26.2.zip |
1.21.11 – 26.2 | 0e4f03b4ededc93ad8797e72c3806c1cace1b4309a9476c0dc4ca1166b00bc2e |
doom.nats-v4.29-mc26.3.zip |
仅 26.3 | 9fea4c81e1236fe2c9c939a7571976da7788702750949838f7abfbb5b61e1b44 |
doom.log-multi.zip |
全区间(硬依赖) | a65873bf49bb1b135b67fe533a883cf8b0fafeca0289be9455eaf32a2c15bd71 |
doom.nats-selftest.zip |
全区间(验收套件) | 4ab6836a8dfd19372b4a2d6f7f716f73b76489bb85a504728fe27f0fea42f1bb |
校验:
sha256sum -c SHA256SUMS.txt(Windows:Get-FileHash <zip> -Algorithm SHA256)。
Full Changelog: v4.25...v4.29
doom.nats v4.25 ·
⚠️ 已被 v4.30.0 取代 —— 请下 v4.30.0。
📦 doom.nats - v4.25
Minecraft 1.21.6 的稳定版。超出原版的实验性能力(
near/on_spawn/ 预设包)放在v4x变体里,
装它需要在创建世界时开启对应实验性玩法。
这一版有什么
- 正式版:v4.25 由预发布转为正式版,并设为仓库的 Latest Release。
- 源码可见:生成器
src/tools/、作者规则层src/rules/、生成输入src/_work/generated/随仓库发布。
想自己改包照src/README.md的三步走:跑生成器、check_static、装包打包。 - 产物未改动:
dist/两个 zip 与各自 sha256 与上一提交逐字节一致,本版只改发布口径与仓库形态。
关于自定义外观(AJ 桥接)
源码在 src/tools/gen_exp_aj.mjs,但未随本版成品发布。本仓 src/rules/rigs.json 是 {},
成品 zip 里 exp/aj 条目为 0。要用就自备非空 rules/rigs.json(样例在 src/rules/examples/aj/rigs.json),
再用 DOOM_EXP=1 重跑生成器。
📦 资产
| 文件 | 说明 |
|---|---|
doom.nats-v4.25.zip |
默认变体,面向 Minecraft 1.21.6 |
doom.nats-v4x-experimental-v4.25.zip |
实验性变体,需要开对应实验性玩法 |
校验:
sha256sum -c SHA256SUMS.txt。
Full Changelog: v4.22-beta...v4.25
doom.nats v4.22 Beta
⚠️ 已被 v4.30.0 取代 —— 请下 v4.30.0。
📦 doom.nats - v4.22 Beta
预发布版本,面向 Minecraft 1.21.6。
这一版有什么
- 自然生成复刻的第一个公开测试版。
- 用纯数据包复刻原版的自然刷怪:容量、区块计数、光照与逐实体规则、结构覆盖、消失层。
⚠️ 已知限制
- 这是测试版,功能与数值可能还会变。
- 建议先备份存档再装。
⚠️ 后续版本已取代本版,详见 Releases。
Full Changelog: https://github.com/DoomDecapitator/doom.nats/commits/v4.22-beta