(标题图源:[email protected])
今天给大家带来“自然”美观的刷铁村教程。
本教程分为两部分:
1. 村庄机制
2. 建造村庄
3. 稳定村庄
**注意:**
– 本刷铁机没有采用黑科技
– 这不是一个高效的刷铁村。需要铁块砌墙请右转Iron Bakery, Iron Titan等堆叠村庄
– 建造时间偏长(约两小时)
– 其实重点不是刷铁,而是村庄机制讲解233
– 本教程当中涉及村庄机制的部分全部可以从英文MinecraftWiki或源码(MCP 9.18)得到查证。
## 村庄机制
**首先我们需要理解村庄机制。**
### 1.有效门判定
一个有效的门需要满足两个条件。
– 门前后2×5的范围内能看到天空的方块数不相等。
关于这个条件,很常见的一种错误说法是“门前后方块数量不想等”,但事实上如果”能看见天空的方块数”不想等,即使门前后方块数量相等,这扇门依然可以成为有效门。如图
*门前后方块数量相等,但这是一个有效门,因为门左侧有10个能看到天空的方块,而右侧只有8个。*
门前后方块数量相等,但这是一个有效门,因为门左侧有5个能看到天空的方块,而右侧只有3个。
需要注意的是,门正放反放都是一样的!
– 在以门为中心,周围水平方向上16\*16 \*5,向上3格,向下5格的范围内有村民。
而由于东南定则的存在,门西边和北边15格内有村民才能构成有效门。(如图)
上图:距门北侧16格的村民无法激活门
下图:距门西侧16格的村民无法激活门
另一张图引用MinecraftWiki Village Mechanics条目([源地址链接](http://minecraft.gamepedia.com/File:Villagefig17-1.png)
高度超出此范围的门都无效。
### 2.村庄参数计算
相信村庄堆叠教程让很多人对村庄机制产生了很复杂的认识。。然而村庄的机制没那么复杂。。。
– 村庄中心:
所有门下半部分的坐标的X值取平均值再向下取整即为村庄中心的X坐标。村庄中心的Y坐标和Z坐标同理。(注:MinecraftWiki上说并不清楚上述计算中是向下取整、向上取整或四舍五入,而我通过查看源码(Server 1.8.8)认为该计算是向下取整的(Java的int cast为向下取整)。)
– 村庄半径计算:
离村庄中心最远的门到村庄中心的距离即为村庄半径。如果该距离小于32,则村庄半径为32。虽然代码并未限制村庄的最大半径,不过如果你用的是craftbukkit/spigot等第三方服务端,半径过大的村庄可能会在玩家退出/服务器关闭后解体……
– 铁傀儡刷怪区域
村庄中心X,Z轴 ±8、Y轴±3范围内是刷铁傀儡的区域。由于村庄中心是整数(即位于四个方块的公共顶点处)所以挖的时候不用管东南定则233
3.村民数量判定
这个没什么好说的
– 如果你希望你村庄中的村民繁殖至刷铁傀儡所需的数量,那么你至少需要放置29个门(
– ceil(10/0.35)) = 29
如果你希望在这个村庄中建造繁殖中心,那么你需要至少(ceil(11/0.35)) = 32个门。(11个村民配额中的10个用于刷铁傀儡,剩下的1个留空好让村民繁殖)
– 只有脚距离村庄中心下方4格、上方3格内的村民才会被算进村庄人口数。这个性质大家都很熟悉,我就不多说了。
4.僵尸围城(1.8以下忽略此条)
对于村民数量>=20、门数量>=10、一秒内没有新添门、有玩家在距村庄半径+1的范围内的村庄,僵尸围城事件可能发生。
僵尸围城事件触发时,minecraft会随机在半径为0.9 \* 村庄半径、高度为村庄中心高度的圆上取点。每一刻都会进行10次取点,如果取点成功(很抱歉没有搞懂取点成功与否的条件是什么……) Minecraft便会以此点为中心,在x,z ± 8,y ± 3的范围内生成僵尸(跟铁傀儡类似,但僵尸只会生成在位于村庄内的方块上),。这种生成的危险在于它**无视光照条件**。
~~MinecraftWiki上还写着僵尸可以在非空气的透明方块中生成,不过查看源码后发现僵尸的生成检查与普通生成过程的检查无异。。。此处存疑,欢迎源码触指正T_T~~
## 村庄建造
**接下来就是利用村庄机制建造这个刷铁村了**
首先我们按照我们的想法建好我们的村庄~
楼主是建筑苦手,大多数建筑就照搬原版村庄的建筑了→_→ 为了省建材我还给房子多加了几扇门。。。别打我
建造时要注意有效门的判定,如果两间小房子靠得很近,门不一定会是有效门。
我一共在**地面上**造了28个有效门。还有四个门稍后会造到地下。
接下来就是计算的时间:记录下所有门的坐标并计算村庄中心……如果服务器里装有VillageInfo、VillageMarker或类似的插件,这项工作会轻松许多。
P.S. 1.8的VillageMarker客户端Mod、Bukkit服务端插件都有一点问题,最好不要用……
把铁傀儡生成区域藏在地下的关键就在此:地下的4扇门!
以我的村庄为例,现在地面上有25个门的y坐标是65,3个是64,可算得村庄中心y坐标为64。(实测如此,另一方面证明中心计算是向下取整的)
铁傀儡生成区顶端比村庄中心高3格,还要预留一格地面(y = 63)的方块,所以要把村庄中心y坐标向下移动至少5格。
那么,65 \* 25 + 64 \* 3 + 4 \* y = 59 * 32
很容易就能解出y = 17.75。代入 floor((65\*25 + 64\*3 + 4\*y)/32) = 59,知 y = 18。
所以在y=18处放4扇门和一些村民并保证门前方块能看到天空就好了。
比如像这样在门前挖一个直通地表的洞。
如果你希望这一切看起来更自然一些,那么你还可以把地下伪装成一个人工矿井。
放门的时候请务必注意新添门对于村庄中心的影响。如果这四扇门不幸位于刷铁傀儡区域的正下方,由于水遮挡天光的特性,这四扇门会失效。
重新计算添加过门后的村庄中心,然后根据中心开始挖出铁傀儡的生成区域吧!以中心y=59为例
向下挖掉y=56的方块 向上挖掉y=62的方块,做成两层的刷铁傀儡区。
最后,随便找个房子的地下室,关进10只村民(确保在村庄中心上3格下4格内)。如果你把交易中心建在这个位置那就显得更自♂然了!
大功告成~再造一个无限繁殖中心,你就可以等着收铁和愉快地交易了233
## 稳定村庄
如果你不好好保护你的村庄,村庄便不会为你服务。
村民是一群相当智障的生物,还有僵尸这个相对高智商的天敌:
– 村民喜欢到处乱跑,有时候晚上还会一起挤进同一间小屋,导致其他门失去判定,进而使铁傀儡生成区域移位。
– 即使没有看见村民,僵尸依然会冲进村庄并尝试攻击村民
– 困难模式下的僵尸会破坏门,而你无法通过侧放门的方法防止门被破坏(那样村民不会进屋,门判定也会失效)。
– 不定期发生的僵尸围城可以把一个村庄彻底从硬盘中抹去。
相比起建造村庄,稳定一个村庄麻烦得多……
针对问题1:
你也许需要给关着控制人口的那10只村民的房屋上个锁,比如加上铁门防止外来村民进入。
在每间房子里关一只村民也许能解决门失去判定的问题,然而那样看起来不是很“自然”不是吗233
我的做法是在规划村庄时依照有效门判定,把功能性建筑均匀分布在了村庄各处:农场,交易中心,图书馆,Love Hotel 每处功能建筑放一只“值班”的村民,这样看起来即不突兀,又能保证所有门都被激活。当然相信各位读者绝对能想出比我这种更好的方法来!
针对问题2,3,4:
– 首先你得把村庄围起来以防止外来僵尸闯入
– 其次你得保证村庄各处亮度不低于8,以防常规刷怪刷出僵尸。
有条件的话可以使用Mod检查光照是否满足要求。
– 虽然通常没有必要建造人口容量超过20村民的村庄,但是以防万一还是讲一下如何防范僵尸围城:
Minecraft会在选定点x,z ± 8,y ± 3的范围内生成僵尸,也就是说只要该范围内没有可刷怪的点,那么僵尸围城就不会发生。
做法很简单:在区域内铺上两层下半砖或者上层下半砖下层水就行了。显然这项措施依赖于门判定失效的解决。
你家村民的生活条件真好……(这只是表象对吧!地底下还关着许多一辈子都见不到阳光的村民对吧!)(虚伪民主下的黑暗真相·误)
地下都是犯了投机倒把罪关进去的 你有意见嘛#(滑稽)