Repository navigation
FAQ
不会。装载时会自动把 gamerule doMobSpawning 设成 false,由本包接管(否则会"双份刷怪")。
只关自然生成,不影响刷怪笼、结构生成、繁殖、指令召唤、刷怪蛋。想和原版共存:
/function doom.nats:mode/manual
默认变体不需要(doom.nats-v4.25.zip)。
只有实验性变体需要(doom.nats-v4x-experimental.zip),而且必须在创建世界时开,否则包被拒绝加载。见 实验性变体-v4x。
三个可能,按概率排序:
- 开着暂停菜单 / 窗口失焦——单人游戏会停 tick,刷怪也就不动了。关掉菜单、让窗口保持焦点。
- 旁边就是玩家——24 格球内不刷(原版语义,正常行为)。
-
位置不对——白天地表太亮、容量已满、下方方块不在"能站"名单里。跑
/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(连新生成的都带上)。
这项默认关闭:数据包读不到世界的出生点坐标。需要你声明:
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 一并清掉;如果你之前只删文件夹,它们会作为普通生物留在世界里。
通常三件事:① 包没解压对(pack.mcmeta 必须在 doom.nats/ 这一层);② 一次装了两个变体(默认 + 实验性),删掉一个;③ 实验性变体装进了没开实验性玩法的世界。看完 logs/latest.log 的完整报错再动手。
v4.25 顺带"修"了一个没人报过、也没人觉得是 bug 的 bug:原版发光鱿鱼不能刷在草地上。 运行时刻能改它的落位面与光照(见 示例库 的落位面一节);但原版还有一道深度门(y ≤ 海平面-33)属于规则级开关,运行时刻去不掉——想在陆地上真刷出来,要在构建期把 entity-rules.json 的 "ySea": null 写进去再重新生成。 原版当然不是 bug——只是这些"不允许"现在都是你能改的规则。😄