写着写着突然就不知道到底为什么要写这篇文章了,就酱吧。
在本文中:模拟距离(1.18+)= 视距(1.17-)
Paper 的 no-tick-view distance 基本等于 1.18 的模拟距离。
你有没有想过各种怪物农场中的 128 格最佳挂机点是从哪来的?
好吧,Wiki 中几乎所有数据都是按模拟视距 10 来的,但在服务器中模拟距离往往并不是 10。
而 Spigot/Paper 系服务端甚至允许你改变这些值。
默认(纯原版)情况下,这些值是:
这些值会导致:
那刷怪上限呢?
满足此公式:
为什么是 289?
因为 17x17=289,生物会自然生成在以玩家为中心 15×15 区块的区块内,为了计算上限,生成区域在每个方向上拓展一个区块即 17x17 区块。
默认(纯原版)情况下,这些常数是:
即单人游戏怪物上限为 70,多人游戏上限则取决于区块是否重叠。
Paper 服务端提供了 2 个指令来查看当前的生物数量
参考/更多:
在本文中:模拟距离(1.18+)= 视距(1.17-)
Paper 的 no-tick-view distance 基本等于 1.18 的模拟距离。
你有没有想过各种怪物农场中的 128 格最佳挂机点是从哪来的?
- Minecraft Wiki 中说到“和最近的玩家的直线距离大于 128 格的怪物(以及一些其他的)将会被立即清除”这叫做“硬消失距离”和模拟距离无关。
- 为什么是 128?因为原版默认模拟距离为 10,这样第 9 个就是边界区块,而第 8 个区块的尽头就是 128 格。
- 怪物硬消失距离依然是 128,即使你看不到。(仅本地原版单人游戏测试)
- 但即便如此,也不代表你能做一个 128 格的农场,因为模拟距离外的一切都不会激活。
- 因此如果模拟距离小于 10,你的农场不应该超过
(模拟距离-1)x16
个方块。
好吧,Wiki 中几乎所有数据都是按模拟视距 10 来的,但在服务器中模拟距离往往并不是 10。
而 Spigot/Paper 系服务端甚至允许你改变这些值。
默认(纯原版)情况下,这些值是:
- 模拟距离:10(区块)[simulation-distance/server.properties]
- 怪物生成范围:8(区块)[mob-spawn-range/spigot.yml]
- 软消失距离:32(方块)[despawn-ranges/paper.yml]
- 硬消失距离:128(方块)[despawn-ranges/paper.yml]
- 实体激活距离:32(方块)[entity-activation-range/spigot.yml]
这些值会导致:
- 怪物生成检查范围是半径为 128 方块,高为当前世界最高方块到最低方块的圆柱体(1.17 及以下为 256、1.18 及以上为 384)。
- 怪物实际生成区为玩家周围的半径 24 到 128 方块之间的球体。
- 玩家周围的半径 24 方块的球体内不会有怪物生成。
- 玩家周围的半径 32 方块的球体中的任何实体将按正常速率激活(tick)。(实体激活距离)
- 玩家周围的半径 32 至 128 方块的空心球体中的任何实体以较低的速率激活(tick)。(实体激活距离到硬消失距离)
- 玩家直线距离 128 方块外的实体会立即消失。(硬消失距离)
- 模拟距离:最低不超过 5。
- 怪物生成范围:最低不应低于 3,最高不应超过
模拟距离-1
。 - 软消失距离:我不知道。
- 硬消失距离:
(模拟距离-1)X16
,且应该等于怪物生成范围。 - 实体激活距离:最好不要改。
那刷怪上限呢?
满足此公式:
生物上限 = 生物类型所对应的常数 × 符合生成生物条件的区块数量 ÷ 289
为什么是 289?
因为 17x17=289,生物会自然生成在以玩家为中心 15×15 区块的区块内,为了计算上限,生成区域在每个方向上拓展一个区块即 17x17 区块。
默认(纯原版)情况下,这些常数是:
- 怪物:70
- 动物:10
- 环境类(蝙蝠):15
- 美西螈:5
- 地下水生动物:5
- 水生动物(鱿鱼和海豚):5
- 水生环境类(鱼):20
- 其他:-1
即单人游戏怪物上限为 70,多人游戏上限则取决于区块是否重叠。
Paper 服务端提供了 2 个指令来查看当前的生物数量
/paper mobcaps
(未开启 per-player-mob-spawn)/paper playermobcaps
(开启 per-player-mob-spawn)
参考/更多:
最后编辑: