特性设定-生成机制
基础生成
在没有任何外力的前提下,世界有一个基础的生物生成。
在每个80×256×80的区域内(由世界区段网格决定),每14400gt(12分钟)会有一次攻击性生物的生成、每28800gt(24分钟)会有一次其他生物的生成,用的是成群生成的机制。
由基础生成出的攻击性生物大多很不稳定,在周围没有玩家类实体或引起它们注意的生物时,它们会随机消失,平均存在时间只有48分钟左右;而被动生物、环境生物、水生生物一般都不会随机消失。
玩家生成
当玩家类实体存在于世界上时,以玩家类实体为中心的750×750区块(12×12km)、向上向下各延伸6.4km的方形范围被视为一个特殊的生成区域。
在以玩家类实体为中心、半径为6.4km的欧几里得球体内,玩家生成会覆盖掉世界的基础生成。
例如与玩家类实体直线距离不足1200m的区域无法自然生成新的生物;距离1.2km-1.6km范围内怪物最为活跃,会积极游走;距玩离1.6km-6.4km范围内怪物不再活跃,且会随机消失(消失几率与基础生成的攻击性物不同);而6.4km以外一般不会受到玩家生成的影响,只会有世界基础生成,但被动生物的生成周期会大幅缩短。
玩家生成影响的攻击性生物有一个每gt执行一次的生成周期,其他生物有一个每7200gt(6分钟)执行一次的生成尝试,对比之下基础生成的攻击性生物生成周期长达14400gt、其他生物生成周期长达28800gt。
生物上限
生物的生成是有上限的,该上限以1.2×12.8×1.2km为单位检查(位置划分取决于世界区段网格),这一区域区域内每个生物类型的上限如下:
怪物=4200
动物=600
环境类(蝙蝠等)=900
水生动物(鱿鱼和海豚)=300
水生环境类(鱼)=1200
其他=-1
〖可以认为生物密度是原版的1/16-1/32〗
成群生成
通常来说,生物的成群生成以5×5区块底面、高16个区段为一个单元(即80×256×80)进行生成尝试。
每个生成周期内,在上述的区域中,生成规则会随机选取一组X坐标和Z坐标,选中坐标后,在该坐标对应区块中,随机选择16个区段中的1个,将前述坐标在该区段中对应的16格高度划分为4段(每段四个方块),随机选择其中1段作为生成中心。
如果生成中心的这4个方块有超过2个是普通方块(“普通方块”需要满足的条件有:a.方块的材料是遮光的 b.是完整方块 c.不能提供能量),则该周期此生成区域内的进一步生成会被中止。
当生成中心有2个及以上条件允许的非普通方块时,生成中心Y轴最低的方块那个会被选中为初始生成点。
当初始生成点确认之后,生成规则会围绕初始点进行三组生成尝试(三次“成群刷出”)。每组生成包含一到多次生成尝试(通常为4)。每组中生成尝试的数量与生物种类有关,通常在“群最小数量”到“群最大数量”之间随机选取。
生成尝试将会进行的次数:
・8 狼,鳕鱼和热带鱼
・6 马和驴
・1 恶魂
・4 其他生物
随后开始生成游走。如果是组中的第一次生成尝试,则从初始生成点开始游走。如果是组中的第2~n次生成尝试,则从上次刷怪尝试位置开始游走。游走只在X与Z轴上移动,Y轴上则是选取与初始点等高~初始点+3高范围内Y坐标最高的条件允许的方块,与游走无关。
具体的,每次尝试生成时,生成规则会把上一次尝试的位置的X和Z坐标随意移动0-25格。具体格数由两个1-26的随机整数做差得到,所以生成规则会倾向于移动更少的格数。这样,生成的生物会强烈地集中于中心方块附近。大约85%的生物会生成在距离中心方块25格以内,约99%的会在50格以内。
因为4×25=100,所以可刷怪范围是以刷怪初始点为中心的201×201格,而生成的生物身体的下半部分都会处于这个201×4×201的方形区域内。
群组内的所有生物都是同一个种类。这个种类在第一次在区块内尝试时,由初始方块所在的生物群系或者结构(后者优先)随机决定。不同的生物群系中的不同生物有不同的权重,某些结构内有专门的生物生成列表供选择。
生成规则会在每次尝试生成时检查该群生物数量是否已经达到最大群组规模和该位置是否可以生成这种生物。
如果最大群组规模小于生成尝试次数,那么会有一些生成尝试失败,这在实际运行中很常见。如果最大群组规模的大于生成尝试次数,那么就只有进行尝试并且成功的会真正生成。一些生物有最大和最小群组规模,那么生成尝试的次数将会在两者之间。
生成条件
只有在下列所有条件满足时,每次独立的生成尝试才能成功:
・半径为1200m的欧几里得球体范围内不能有玩家类实体;
・所在检查区域内生物数量必须小于该种生物上限(也就是对应的生物上限未满);
・要生成的生物的碰撞箱必须不能被其他碰撞箱阻挡,生物无法在生成时与其他物体相互碰撞;
・生物的碰撞箱不能被方块截断;
・对于非水生生物,生成方块和上方不能为铁轨、动力铁轨、探测铁轨、激活铁轨和红石组件,也不能为凋零玫瑰(除了凋灵骷髅)或甜浆果丛(除了狐狸)。
此外,敌对生物、被动生物、水生生物、环境生物都有各自的可生成方块等生成必须条件。
生成成功率
普通攻击性生物(不包括史莱姆这些特例)的每次生成尝试的成功率取决于光照损失。
・天空光照损失-天空光照需要满足如下条件才能继续生成:(天空光照)<=(随机0-31),所以天空光照为A时,通过这个条件的成功率为(32-A)/32;
・普通光照损失-会选取天空光照和方块光照中较高的一个。如果当前天气为雷雨,则将这个亮度再减去10。然后判断如下条件:(亮度)=(0)【普通的攻击性生物必须在“完全黑暗”的地方才能刷出】,如果通过,生成尝试的成功率即为通过天空光照损失的成功率;如果不通过,则生成尝试成功率降至0。