Template:BlockTileEntity
刷怪箱(Monster Spawner)是一种在地牢、废弃矿井、要塞和下界要塞中能够发现的,透明、深蓝色牢笼结构的方块。在笼子内有不提供任何亮度的火焰,和一个它会生成的不断旋转的缩小版生物。它旋转的速度会越来越快,直到一个生物被生成。刷怪箱可以生成任何一种生物。但如果不使用物品栏编辑器或地图编辑器,刷怪箱只能生成僵尸、骷髅、蜘蛛、洞穴蜘蛛、烈焰人或蠹虫。
刷怪箱方块只能使用/give命令或者/setblock命令在电脑版得到。在携带版中,你可以在创造模式直接从背包内得到刷怪箱。当你放置直接用/give命令得到的刷怪箱的时候他将会生成猪。刷怪箱生成的生物可以由/setblock命令决定(比如生成牛:/setblock <位置> mob_spawner 0 replace {EntityId:"Cow"})。
刷怪箱破坏的时候会掉落15-43的经验。也就说这大约需要6个刷怪箱达到10级,而一组的刷怪箱可以把你的等级从0提升到40
玩家已经设计了很多种陷阱杀死刷怪箱生成的生物,如利用高处坠亡、溺死、岩浆灼烧、仙人掌刺伤或者以上组合起来的陷阱。这可以使得玩家以非常小的代价获得经验并获得该生物的掉落物。(参考:刷怪塔)
刷怪箱有一个很奇怪的特性,它作为装饰性方块但是却不像其他的装饰性方块,它的上面可以放置火把和红石,也可以传导红石电路,可以窒息生物等。
出现
1.2.5 中一个骷髅刷怪箱。
刷怪箱可能会在以下地点出现,以以下几率随机出现一种:
- 地牢
- 生成僵尸(50%几率),骷髅(25%几率)或者蜘蛛(25%几率),在蜘蛛刷怪箱中生成蜘蛛骑士(1%几率)。每个地牢仅有一个刷怪箱。
- 废弃矿井
- 生成洞穴蜘蛛。一般位于水平的隧道中,并且被大量的蜘蛛网所包围。
- 要塞
- 生成蠹虫,位于末地传送门框架所在的房间。每个要塞仅有一个。
- 下界要塞
- 生成烈焰人。位于有楼梯引领上去的阳台上。
自然生成的刷怪箱不会生成被动性生物,以及爬行者、末影人。当然,如果使用地图编辑器或Mod修改刷怪箱,它就会生成几乎全部生物(除了巨人之外)。
在生存模式中没有任何手段能够把刷怪箱放在你的物品栏中,除非使用Mod或物品栏修改器,或使用“/give”指令。刷怪箱不会在创造模式中的物品选择栏中出现,但可以通过“选择方块”功能获得。如果刷怪箱通过这种方式放置,或者一个刷怪箱丢失了方块实体值,它就会生成猪。在之前可以使用 /give [用户名] 52:<实体数字ID> [数量] 0 指令给予生成特定生物的刷怪箱,之后请使用/give [用户名] mob_spawner <数量> 0 {BlockEntityTag:{EntityId:"<实体字母ID>"}}
生成规律
刷怪箱会在其周围生成生物,但也要符合生物本身生成的要求。不同生物的要求不同。例如,主世界中的攻击性生物只能在黑暗中(亮度为7或以下),而家畜则必须在草上生成,亮度要求9或以上。不过,刷怪箱可以将生物生成在空中,这样会忽略掉生物对于地面的生成要求。
玩家距离刷怪箱16个方块内时,刷怪箱才会工作。当刷怪箱工作时,会以刷怪箱方块八个端点中x和z坐标最小的一点为中心的 8 × 3 × 8 (8方格长宽,3方格高,8方格深)的有效区域生成生物。生物可以在此区域符合生物生成要求的任意一处生成,即使刷怪箱周围不符合要求。若此区域全部符合生物生成的要求,则生物生成点不呈线性,且越靠近刷怪箱处生成几率越大。
刷怪箱会尝试在有效区域内生成共4个生物,每生成一次后会等待200-799刻(10-39.95秒,随机)再进行下一次生成。在等待时,刷怪箱笼子里的生物会越转越快。除了对地面的生成要求,生物的其它生成要求也必须要满足(如不能生成在固体方块中、正确的亮度范围),因此一个刷怪箱常常不能生成出4个生物。如果刷怪箱在有效区域内找不到任何符合要求的位置生成生物,则每一刻都会尝试一次。当刷怪箱成功生成至少一个生物后才会进入下一个生成周期。如果在生成阶段,刷怪箱周围17 × 9 × 17的空间存在至少6个生物,则刷怪箱内火焰会升腾(表示已经“生成”了新的生物),但实际上生成过程被跳过,进入下一个周期。不过,如果这个空间外的生物数量比这个空间内(就算超过了6个)更多,则刷怪箱也会继续无限地生成生物。
需要注意的是,生物生成点x、y、z坐标都是整数,不一定会与刷怪箱对齐。生物生成时,脚的高度会与刷怪箱在同一层,或者比刷怪箱高一层或低一层。但水平上可以在8 × 8平面中的任意一处。由于生物本身占有高度,因此在刷怪箱有效区域比8 × 3 × 8还要大一些。
刷怪箱的方块实体值可以修改为其它实体如矿车或船,做成装饰方块。但这样的刷怪箱在Minecraft 1.2.5以及之前的版本尝试生成时,游戏会崩溃。1.3.1已经无此问题。
在和平难度下,刷怪箱也会出现,但生物在生成后会立即消失(僵尸猪人、岩浆怪和恶魂根本不会生成)。这样在修筑刷怪塔的时候不会被它们烦扰。但生物存在的那一瞬间也足以推开玩家,或发出声音;对于骷髅,甚至会射出箭。
下面的表将会展示其本身一些更复杂的特性:
| 生物形态 | 需求空间 | 在8×8×4的空间内的生成比率(8×8×3才是刷怪箱生成实体的正确空间) | 垂直 对齐 | ||||
|---|---|---|---|---|---|---|---|
| 猪 | 8.9 × 8.9 × 2.9 | 2.531252% |
| ||||
| 洞穴蜘蛛 | 8.7 × 8.7 × 2.5 | 1.531252% |
| ||||
| 蠹虫 | 8.3 × 8.3 × 2.7 | 0.28125% |
| ||||
| 僵尸 骷髅 烈焰人 |
8.6 x 8.6 x 3.8 | 1.125% |
| ||||
| 蜘蛛 | 9.4 × 9.4 × 2.9 | 6.125% |
|
详细的生成算法
这份伪代码基于 Minecraft 1.4.2 反编译出的源文件:
<pre>
every spawn cycle (every randInt(200,799) ticks when a player is within
17 blocks of the spawner),
loop 4 times {
if there are 6 or more of the mob type in the 17x9x17 area around the spawner,
skip this spawn cycle
calculate spawnerX = X coordinate of center of spawner - 0.5
calculate spawnerY = Y coordinate of center of spawner - 0.5
calculate spawnerZ = Z coordinate of center of spawner - 0.5
calculate x coordinate of mob = spawnerX + (randDouble() - randDouble()) * 4,
randDouble being a random number between 0 and 1
calculate y coordinate of mob = spawnerY + a random integer between -1 and 1
calculate z coordinate of mob = spawnerZ + (randDouble() - randDouble()) * 4,
randDouble being a random number between 0 and 1
if all of the conditions specific to the mob type are met, spawn the mob {
chicken, cow, horse, mooshroom, pig, sheep, villager, wolf:
block below spawning block is grass
spawning block has a light level of 9 or higher
ocelot:
pass a 2/3 random test
block below spawning block is grass or leaves
on layer 63 or higher
creeper, enderman, skeleton, spider, cave spider, zombie:
light level 7 or less
blaze:
light level 11 or less
silverfish:
light level 11 or less, or on Stone blocks
no players within 5 blocks
slime:
difficulty is not set to peaceful or slime size is small
either:
spawn block y coordinate is less than 40
the chunk containing the spawn block is a slime chunk (1 in 10 chance)
pass a 1 in 10 random test
or:
swamp biome, layer 51 through 69, light level 7 or less
ghast:
pass a 1 in 20 random test
squid:
must not collide with any other entities
must be in layer 46-62
giant:
light level 7 or less
light level 8 or more
(since these conditions can't be true simultaneously, giant spawners don't work)
all except squid and slimes:
must not collide with any blocks or other entities
must not collide with water or lava
}
}
if all 4 mobs failed to spawn, repeat on the next tick
大意(注:暂时的翻译结果来自百度翻译,差距可能很大请多包涵,后期会给出详细结果):
每个产卵周期(每randint(200799)当一个球员在蜱
17块鱼),
循环4次{
如果有6个或更多的在产卵的17x9x17地区暴徒式,
跳过这个产卵周期
计算spawnerx = x坐标中心产卵0.5
计算spawnery = y坐标中心产卵0.5
计算spawnerz = Z坐标中心产卵0.5
计算的暴徒= spawnerx + X坐标(randdouble() - randdouble())* 4,
randdouble是0和1之间的随机数
计算Y暴民= spawnery +一个随机整数之间的1和1坐标
计算的暴徒= spawnerz + z坐标(randdouble() - randdouble())* 4,
randdouble是0和1之间的随机数
如果所有特定的条件的怪物类型的满足,产卵的怪物{
鸡,牛,马,猪,羊,mooshroom,村民,狼:
块下面的产卵块是草
产卵块具有9或更高的光的水平
豹猫:
通过3 / 2随机测试
块下面的产卵块是草或树叶
在63层或更高
爬山虎,末影人,骷髅,蜘蛛,洞穴蜘蛛,僵尸:
光级7级或以下
闪耀:
光级11级或以下
银鱼:
光级11级或以下,或在石块上
没有球员在5个街区
粘液:
难度不设置为和平或粘液的大小是小
要么:
产卵块的坐标小于40
块包含的产卵块是一个粘液块(10个机会1)
通过10个随机测试1
或者:
沼泽生物群落,51到69层,光7或更少
妖鬼:
通过20个随机测试1
鱿鱼:
不得与任何其他实体发生碰撞
必须在层为46-62
巨人:
光级7级或以下
光级8级以上
(因为这些条件不同时,是真正的巨人会不工作)
除了鱿鱼和泥:
不得与任何块或其他实体发生碰撞
不得与水或熔岩相撞
}
}
如果所有4个暴徒未能产卵,在下一个滴答重复
这份伪代码基于 Minecraft 1.7.10 反编译出的源文件:
if (there is a player within the range of activatingRangeFromPlayer)
{
if (spawner delay == -1)
{
reset spawner delay
}
if (spawner delay > 0)
{
decrement spawner delay by 1
cancel this spawn
}
loop for the number of entities we should spawn
{
if (the number of entityTypeName in a 2*spawnRange+1 centered cube > maxNearbyEntities) {
reset spawner delay
exit loop
}
X = Spawner.x + random(spawnRange*2)-spawnRange;
Y = Spawner.y + random(3)-1;
Z = Spawner.z + random(spawnRange*2)-spawnRange;
if (entity can spawn at (X,Y,Z))
{
Spawn entityTypeName at (X,Y,Z)
Play Sound Effect
Spawn Particles
}
}
if (at least one entity was spawned)
{
reset spawner delay
}
}
Default values:
activatingRangeFromPlayer = 16
spawner delay = 20
maxNearbyEntities = 6
spawn range = 4
entityTypeName = Pig
Outcomes (default):
A player must be within a 16 block centered sphere
There must not be more than 6 pigs within a 9x9x9 centered cube
The pig must be able to spawn at the chosen location (must not be inside a block, meet lighting conditions etc.)
If all mobs fail to spawn, it will try again on the very next tick.
大意:(注:暂时的翻译结果来自百度翻译,差距可能很大请多包涵,后期会给出详细结果)
如果(有一个球员在activatingrangefromplayer范围)
{
如果(产卵延迟= = 1)
{
产卵延迟复位
}
如果(产卵延迟> 0)
{
减量产卵延迟1
取消这一产卵
}
循环的实体,我们应该产卵
{
如果(在2×spawnrange + 1 entitytypename数心立方>maxnearbyentities){
产卵延迟复位
出口回路
}
x = x +随机(产卵。spawnrange×2)- spawnrange;
Y =产卵。Y +随机(3)- 1;
Z =产卵。Z +随机(spawnrange×2)- spawnrange;
如果(实体可以在(x,))
{
产卵entitytypename(x,y,z在)
播放声音效果
产卵粒子
}
}
如果(至少有一个实体被产生)
{
产卵延迟复位
}
}
默认值:
activatingrangefromplayer = 16
产卵时间= 20
maxnearbyentities = 6
产卵范围= 4
entitytypename =猪
结果(默认):
一个玩家必须是在16个块为中心的领域
不能有超过6头猪在9x9x9心立方
猪必须能够在选定的地点产卵(不得在一个街区内,满足照明条件等)
如果所有的怪物不能产卵,它会在下一个滴答再试。
你知道吗
- 自1.3.1之后,采集刷怪箱可以像采矿一样得到经验球。
- 不使用Mod的情况下直接放置刷怪箱是无法选择要生成的生物的(只会生成猪),因为缺失了方块实体值。
- 刷怪箱能够在附近的洞穴里生成怪物,只要是在它8×8×3的范围内,即使是在刷怪箱露天的情况下。
- 刷怪箱内的生物模型也像其它生物一样有着它自己的ID号码,但它只能在一些特定的角度看到,且自 Beta1.8 版本以后就不再能看到了。
- 因为刷怪箱拥有方块实体值,所以它不能被活塞所推动。
- 刷怪箱在接近地表的地方出现而被沙子掩埋是完全可能的,它生成的怪物会在沙石下的缝隙中生成。
- 和其它的透明方块不同,把火把放在刷怪箱上是可以的。
- 两个刷怪箱天然地生成在一起是完全可能的。
- 自 1.2.5 后,刷怪箱可以在创造模式中通过“选择方块”按键得到。而通过这种方式放置的刷怪箱只会在附近有草的情况下生成猪。
- 仅仅在刷怪箱上插火把有时并不能完全“封印”刷怪箱。在周围的墙上再多加几支火把更安全。
- 在快照14w28b里,玩家手持刷怪蛋右击刷怪箱,可改变其刷出生物类型。
- 生物生成
- 当玩家在一个刷怪箱没有空间生成生物的地方采矿时,生物有时会生成在你刚刚采矿而生成的空间里。玩家在没有使刷怪箱失效的情况下采集苔石时因此要格外小心。据推测,这种情况会发生,是因为刷怪箱在电光石火间,得到了一个在刚刚的方块所占用空间刷新的机会。
- 一个刷怪箱会一次生成1个,2个,3个甚至4个生物。[1]
- 如果游戏难度是“和平”,则刷怪箱会生成生物,但生物会立即被删除。生物在被删除前偶尔会发出声音。
- 如果刷怪箱的附近有较多目标生物(大概是7)时,刷怪箱会停止工作。因此,怪物磨床需要立即杀死生物或者是让生物远离刷怪箱(比如使用水)
刷怪箱内的缩小化生物
- 当玩家不在判定范围内时,刷怪箱内的生物会停止旋转,刷怪箱也会停止火焰颗粒效果。
- 当刷怪箱将要生成生物时,刷怪箱内的缩小生物会旋转得更快。它所能旋转的最小和最大速度都已被设定。
- 修改刷怪箱
- 如果一个刷怪箱被修改,用来生成恶魂、巨人、鱿鱼、铁傀儡、村民、末影人或末影龙,生物在刷怪箱内的模型将会缩小。但是它们不能很好地相适应于笼子,因为它们的比例系数和其它生物一样。
- 自12w32a之后,刷怪箱可以被修改为穿戴着特定盔甲或武器的僵尸、骷髅与僵尸猪人。
历史
| inf | |||||
|---|---|---|---|---|---|
| 秘密周五更新2 | 刷怪箱加入。可被采集,重新放置时生成猪。 | ||||
| 2010年6月27日 | 刷怪箱拥有独立的ID,以减少游戏崩溃。 | ||||
| b | |||||
| b | 方块名称由“生物生成器”改成“刷怪箱”。 | ||||
| 1.2 | 刷怪箱内的缩小版生物重新出现,而在前些版本中一度消失。 | ||||
| r | |||||
| 1.0.0 | 1.9pre1 | 刷怪箱的材质被换成了深色。 | |||
| 1.9pre4 | 用一把附魔了精准采集的工具可以取得刷怪箱。当它被放置的时候,它会生成猪。 | ||||
| 1.9pre4 | “精准采集”对刷怪箱不再有效。 | ||||
| 1.9pre5 | 鱿鱼刷怪箱只在一个狭窄的高度(46-62)中有效。 | ||||
| 刷怪箱更加容易被毁坏。 | |||||
| 1.2.1 | 12w06a | 多人游戏中的刷怪箱显示了它所生成的生物。在之前它一直显示的是一只猪。 | |||
| 1.3.1 | 12w22a | 刷怪箱被破坏后会掉落经验球。 | |||
| 12w26a | 刷怪箱支持生成拥有额外数据的生物类型,如高压爬行者、持有特定方块的末影人、先前并未使用的绿色长袍村民,和其他特定职业的村民。 | ||||
| 1.8 | 手持刷怪蛋点击刷怪箱会使得刷怪箱内的生物变化。 | ||||
| pocketa | |||||
| 0.9.0 | build 1 | 添加刷怪箱。 | |||
| build 2 | 对创造模式任务栏种添加刷怪箱,并且可以用刷怪蛋改变刷怪箱的类型。 | ||||
| 原主机版 | |||||
| TU1 | 添加刷怪箱。 | ||||
画廊
- 2011-11-27 12.33.58.png
两个相连的地牢和两个刷怪箱。
- 2011-03-15 14.05.55.png
一个巨人刷怪箱。
- 2011-03-15 14.06.55.png
一个恶魂刷怪箱。
被修改为生成穿着钻石盔甲的僵尸的刷怪箱
