Skip to content
Doom_Decapitator edited this page Sep 29, 2026 · 1 revision

FAQ

装了以后,原版还会自己刷怪吗?

不会。装载时会自动把 gamerule doMobSpawning 设成 false,由本包接管(否则会"双份刷怪")。

只关自然生成,不影响刷怪笼、结构生成、繁殖、指令召唤、刷怪蛋。想和原版共存:

/function doom.nats:mode/manual

需要开实验性玩法吗?

默认变体不需要(doom.nats-v4.25.zip)。 只有实验性变体需要(doom.nats-v4x-experimental.zip),而且必须在创建世界时开,否则包被拒绝加载。见 实验性变体-v4x。

单人游戏里站着不动,怎么不刷怪?

三个可能,按概率排序:

  1. 开着暂停菜单 / 窗口失焦——单人游戏会停 tick,刷怪也就不动了。关掉菜单、让窗口保持焦点。
  2. 旁边就是玩家——24 格球内不刷(原版语义,正常行为)。
  3. 位置不对——白天地表太亮、容量已满、下方方块不在"能站"名单里。跑 /function doom.nats:debug/reject_report 看归因直方图。

归因直方图怎么读?

[nats.reject] rej: 0=<抽不到区块> 1=<24格有人> 2=<出128格> 3=<光照档> 4=<落位方块> 5=<全局容量> 6=<本地容量> 7=<spawn cost> spawned=<成功数>
  • 4 最大 ⇒ 落位方块不认,扩充 #doom.nats:standable / #doom.nats:spawnable_at(自定义地图最常见)
  • 5/6 最大 ⇒ 容量满了,调 cap 或节拍
  • 3 最大 ⇒ 光照档不够,调 light 或 $eff.light
  • 0 最大 ⇒ 周围 17×17 区块没加载够

直方图先打数值再清零,所以每次调用都是一段独立测量窗口。

装了以后动物怎么不刷?

v4.14 起动物会刷了(此前光照档互相矛盾,永不刷出)。若还是看不到羊/牛/猪/鸡:

  • 动物要求够亮(≥ 9):白天露天,或夜里在光源附近;
  • 像 snowy_beach 这种原版本来就没有 creature 列表的群系,原版也不刷(一致);
  • 被动生物进候选有节拍门(creatureGate,默认每 400 tick 一次),需要耐心等。

怪怎么刚刷出来就没了?

原版自己的消失逻辑一直在管(128 格硬消失 + 概率消失),本包生成的就是普通生物。想留:

/tag @e[type=zombie,limit=1] add doom.nats.persistent     # 只免疫本包的清理与消失层

想让原版也不消失,用 PersistenceRequired:1b,或者把配置里的 persist 设成 1(连新生成的都带上)。

世界出生点 24 格内怎么还刷怪?

这项默认关闭:数据包读不到世界的出生点坐标。需要你声明:

data merge storage doom.nats:config {spawn24:1, spawnX:0, spawnY:64, spawnZ:0}
function doom.nats:cfg/apply

三个坐标必须都给,缺一个就自动回到关闭。不生效时失败归因里会出现 reason=10。

刷怪的高度带很奇怪 / 想固定高度

数据包读不到 heightmap,所以默认策略是"跟随玩家 ± jitter"。自定义地图请显式声明:

data merge storage doom.nats:config {band:{mode:1, yMin:40, yMax:120}}
function doom.nats:cfg/apply

band.mode:0 自动找地面 / 1 固定带 / 2 跟随玩家 ± jitter / 3 均匀随机带(最接近原版)。

会不会掉帧?

实测(本机,预算 50 mspt):稳态怪物 71.7 只、mspt 均值 5.29(峰值 5.70)。

吞吐的真正瓶颈不是性能,是原版 maxCommandChainLength(默认 65536 ≈ 10 次尝试/tick)。想更高密度:先抬这个 gamerule,再抬 batch。

建议:mspt 想守在 30 ms 以内 ⇒ $eff.batch 不超过 200。

多人服务器上表现如何?

  • 容量计数、每玩家上限都按玩家各自算,多维度独立计数。
  • 区块并集在单人时精确,多人是方形近似(欧氏距离在数据包里表达不了)。
  • 人越多,总容量越大、刷怪越活跃,这是设计如此。

用了以后能干净卸掉吗?

能:

/function doom.nats:mode/off     # 静默清场(无掉落、无经验)+ 把自然生成还给原版

然后删掉 datapacks/doom.nats,/reload。已经刷出来的生物会被 mode/off 一并清掉;如果你之前只删文件夹,它们会作为普通生物留在世界里。

报错 Failed to load function 怎么办?

通常三件事:① 包没解压对(pack.mcmeta 必须在 doom.nats/ 这一层);② 一次装了两个变体(默认 + 实验性),删掉一个;③ 实验性变体装进了没开实验性玩法的世界。看完 logs/latest.log 的完整报错再动手。

为什么发光鱿鱼能刷在草地上?

v4.25 顺带"修"了一个没人报过、也没人觉得是 bug 的 bug:原版发光鱿鱼不能刷在草地上。 运行时刻能改它的落位面与光照(见 示例库 的落位面一节);但原版还有一道深度门(y ≤ 海平面-33)属于规则级开关,运行时刻去不掉——想在陆地上真刷出来,要在构建期把 entity-rules.json 的 "ySea": null 写进去再重新生成。 原版当然不是 bug——只是这些"不允许"现在都是你能改的规则。😄

我能改什么、不能改什么?

Clone this wiki locally