本站文本内容除另有声明外,均在知识共享 署名-非商业性使用-相同方式共享 3.0 协议下提供。(详情… 本站文本内容除另有声明外,均在知识共享 署名-非商业性使用-相同方式共享 3.0 协议下提供。(详情…中文Minecraft Wiki是完全公开的。欢迎持续参与翻译工作中文Minecraft Wiki是完全公开的。欢迎持续参与翻译工作Minecraft中文Wiki微博正在更新!或许有兴趣去看看Minecraft中文Wiki微博正在更新!或许有兴趣去看看翻译或创建页面之前,不妨看看译名标准化Wiki条例页面。翻译或创建页面之前,不妨看看译名标准化Wiki条例页面。想与其他用户进行编辑上的沟通?社区专页正是为此创建的。想与其他用户进行编辑上的沟通?社区专页正是为此创建的。需要管理员的协助?在管理员告示板留言也许可以帮到您。需要管理员的协助?在管理员告示板留言也许可以帮到您。

教程/村庄机制

来自Minecraft Wiki
跳转至: 导航搜索
另见:村庄村民

如果你想要用铁傀儡盖一个刷铁厂,又或许你在村子里想要里有更多的村民来交易,那么你来对地方了。

术语[编辑 | 编辑源代码]

村庄有着下列数据:村庄中心、村庄半径、房屋数、人口(村民数)、最大人口(可容纳的最多村民数,以门的数量为基准)、铁傀儡数量、铁傀儡最大数量(以人口为准)。

一个村庄需要两个要素。它们是房屋(至少一个)和村民(至少有一个)。“房屋”可以被简单地定义为一个有着“内部”和“外部”的木门(详见下一节)。村庄将试图维持其人口在“房屋”(门)数量的35%以上(详情见下文)。村庄中心是村庄的几何中心点,即所有门的“平均坐标”。村庄的半径是32格或从中心点到最远的门的距离,取其最大值。这意味着半径总是大于等于32,如果有距中心点超过32格的门,那么半径就是中心点到最远的门的距离。经过测试,中心点是向零取整后的整数,但半径尚不清楚具体是向上取整、向下取整还是四舍五入取整。

对称的村庄很容易计算出其中心点,但对于更复杂的村庄,如自然生成的村庄,最好给自己多留几格空间。然后尝试从距离您最近的门开始计算自己与村庄的距离。

房屋[编辑 | 编辑源代码]

如果一扇木门同时拥有“里面”和“外面”,那么就形成了一间房屋。所谓“里面”指的是一扇木门面向的两侧各五格(成一条水平直线)范围内,地面被屋顶遮挡的方块数较多一侧。当一个不透明的方块(可以在任何高度)遮挡住了垂直照射下的阳光,以至于阳光不能到达其下方的“地面方块”时,这个不透明的方块被称为屋顶。

另一个放置屋顶的方法是:被称为“外面”的空间内可以垂直向上看到天空的风景,因此在“外面”的空间亮度值是15;而被称为“里面”的空间不能够垂直向上看到天空的风景(总之,垂直向上看是看不见天空的),因此“里面”的空间亮度值要低于15。那么,“里面”指的是这扇木门的两侧(同样成一条直线)中拥有更多的“内部空间”的一侧(反过来说,“外面”比“里面”拥有更多的“外部空间”)。

一扇门如果没有屋顶或者是两边被遮挡的方块数相同时,不能称之为房屋。

例如 - 这扇门被放置在一个木板上。此时游戏会检测这些区域(在图中用浅蓝色羊毛表示)是否有被“屋顶方块” 遮挡。

Villagefig1.png

最简单的房屋像这样:一扇木门以及一个被放置在旁边地面上的泥土方块。

Villagefig2.png

这真的是房屋吗?但对游戏来说,这确实合乎标准。这个泥土方块遮挡住了垂直射下的阳光,阳光没有到达其下方的方块(在图中用红色羊毛表示),因此这个方块被看作是一个“屋顶方块”。图片中的右侧有一个“内部空间”,其被一个屋顶方块所覆盖(在图中为红色羊毛),而在左边没有任何“内部空间”。既然一比零更大,也即门的一侧比另一侧拥有更多被遮挡的方块,所以将此视作一个房屋。

Villagefig3.png

以下这些同样可以被视作房屋:

Villagefig4.png

Villagefig5.png

Villagefig6.png

Villagefig7.png

你可以把房屋设计成任何样式。除了位于红色羊毛正上方的“屋顶方块”外,其余的方块你可以随意放置,也可以不放置任何额外的方块。

Villagefig8.png

一扇门有两个方块的高度,如果有必要,游戏会对每扇门检测两次。如果首次“屋顶检测”失败,那么游戏会跳过最底部的一层,从更高的一层开始,执行第二次检测。这一次,游戏仅检测更高一层的绿色羊毛部分。

Villagefig9.png

例如 - 对于下面的门来说,首次的“房屋检测”发现:左边有两个方块被屋顶遮挡,而右边同样有两个方块被屋顶遮挡。由于门的两侧有相同的数目被遮挡的方块,游戏不能区分门的“里面”和“外面”,所以这扇门不被视作一个房屋(尽管检测还没有彻底结束):

Villagefig10.png

然后,既然首次检测失败了,那么底部的一层被跳过,我们执行第二次检测,这一次仅需要检测绿色羊毛的上方是否有遮挡。这一次,仅左边的一侧有两个方块被屋顶遮挡,那么第二次房屋检测通过,这扇门仍然被视作一个房屋,“里面”指的是门的左侧,其拥有更多数目的被遮挡方块。

Villagefig11.png

在下面的例子中,这扇门通过了首次检测,其左边有一个被遮挡方块,而右边有两个被遮挡方块。这就形成了一个屋子,右边是“里面”。它同样也能通过第二次检测(这次左边“里面”),但既然第一次已经检测通过了,我们就不需要进行第二次检测了。这扇门已经被视作一间房屋,“里面”位于右边(以第一次为准)。

Villagefig12.png

被遮挡的方块并不是一定要连续,下面的门被视作一间房屋,“里面”位于右侧,在五格范围内,右边有三个方块被遮挡,而左边只有两个。

Villagefig13.png

下面的门的两边各有三个被遮挡的方块,因此不被视作一间房屋。

Villagefig14.png

一间房屋只有在附近有村民时,才有效。附近没有村民,其不会被视作“房屋”,仅仅是一些方块和一扇门。

Villagefig15.png

但只要村民一出现,它就变成了一间房屋(和一个村民)。

Villagefig16.png

村民会识别在两个方向的水平坐标轴16个方块内的房屋,以村民所站在的地面为基准,上至3个方块内、下至5个方块内的有效门,村民都会将其视作一个房屋。

Villagefig17.png

Villagefig17-1.png

边界重合[编辑 | 编辑源代码]

当两个村庄的边界有重叠时,它们会被合并成单个大的村庄。 在一个已经存在的村庄内(半径32格)新生成的房子会被认为是一个独立村庄,并与已经存在的村庄重叠,然后变成该村庄的一部分。这将导致村庄中心点和半径的重新计算,并且有时候会使它再与另一个已经存在的村庄重叠。这种情况下,程序并不能每次都正确的处理。最终有可能发生两个村庄重叠了但是仍然被认为是两个独立村庄的情况。 幸运的是,这种情况的修正方法很简单,只要退出游戏并重新载入,程序便会重新评估所有的位置,这时将会被认为只有一个大的村庄存在,而不是两个小村庄的重叠。

同样,反过来会有这样的情况:如果一个大型村庄的中心的房子都被移除了,剩下的房子虽然可以组成两个独立的,半径范围内不重叠的小村庄,但是游戏仍会认为它们是一个大的村庄直到下一次重启。此时,它会再次执行评估,正确地将它们作为两个单独的村庄识别。

当放置或拆除方块导致一个房子不再是一个房子的时候,游戏无法及时更新判定,并且仍然会把这个门所在的地方算作房子,可以重启来修复这个问题,但是不保证每次都奏效。有时你可能需要拆除和重新放置门本身来让它不再被判定为一个有效的房子。并且,如果你跑足够远使门所在的区块从内存被卸载,再次回来的时候,将会重新评估并正确的识别剩下的房子。

透明方块[编辑 | 编辑源代码]

游戏中有三种透明方块。有完全透明方块,如玻璃块、火把与栅栏。还有“部分透明”方块,如台阶、楼梯和树叶,都被游戏渲染引擎视为透明的,甚至荧石也被当作透明方块,尽管你不能看穿它的任何部分。部分透明方块仍然会阻止光线穿过(至少部分是,就像树叶和水那样),所以他们仍然以某种方式被照明引擎认为是不透明的。由于这些部分透明方块会阻止阳光,所以也会被算作屋顶方块。但完全透明方块仍然不算在内。水和熔岩(包括流动与静止的)部分透明,所以会被算作屋顶方块。树叶、台阶和楼梯也会被算作屋顶方块。

抵消[编辑 | 编辑源代码]

有谣言说,当两个门相距一定距离时会以某种方式抵消,而其中没有一个(有另一种说法说只有一个,这取决于你听到的版本)将被视为“房屋”。这不是真的!它只不过是一种误解、谣言。

左侧的门不被算做门的原因不是因为它们彼此面对,而是因为每一个门两侧有相同数量的屋顶方块。因此,你可以看到,这与门是否面对并没有任何的关系!

下面这张图将说明两个门的屋顶方块检测区域之间的重叠。左边的门检测粉色区域,右边的门检测蓝色区域(实际上门只会检测中间一行,这是做是为了让其更易理解)。紫色区域代表其中两个区域重叠的区域,而这个空间两个门都会检测:

Villagefig18.png

因为这些门内外都具有相同数量的屋顶方块,它们并没有一个“内部”或“外部”,因此不能被被判定为“房屋”。但是如果你在门后添加一个方块(或者将它们移开一格),那么那些屋顶方块就距离较远的门6格了,在其探测范围之外,但这方块仍然在距离较近的门的探测范围内。这样门左右的屋顶方块就不一样了,这才会被判定为“房屋”:

Villagefig21.png

有了这些附加的方块,两个门现在都是有效的“房屋”。

Villagefig22.png

搬运村民[编辑 | 编辑源代码]

1.矿车运输:首选建造一条从村庄到目的地的铁轨,然后把村民推上矿车,并把矿车推到目的地,摧毀矿车(或使用激活鐵軌)。 2.水道技术:从村庄到目的地之间创造一条水道,并且在路上没有出口(比如建造2×2的水道),然后拿两桶水,使用水把村民推远一些,然后使用第二桶水继续,跑回去收集第一桶水,如此往复。需要的资源要少一些。 3.假房屋:留下一栋屋来聚集所有的村民。然后以创建假房子的方式移动村民。当村民发现了新房子,村民就会『跟随』着“房屋”。最简单的办法就是在门后放2个方块,移除掉旧的门。

可以参考下面的视频,从1:20到3:33的内容。

繁殖和最大人口[编辑 | 编辑源代码]

村民可以自主地繁殖,但至少应该有两个可以彼此接触到的成年村民。如果你从别的村子里抓来了一个村民、或者治疗了一个僵尸村民、又或者村子里没有了村民(或仅剩下一个村民),那么你想要找来更多的村民。以下是仅有的几种方式:

  • 从另一个村子里搬运过来
    • 他们可以用矿车来运输或者用一连串假房子引导过来(见影片)
    • 然而如果地形足够平坦,你可以用船将村民运输过来,优势是不需要不停地建造和破坏铁路,但缺陷是路面必须整齐或更低,且速度缓慢(船在路面行驶速度等同潜行,这样的目的可能就是为了运输生物),船甚至不能从0.9高度的耕地和草径行驶到1高度的草方块上,但是运用活塞当起重器能够轻松解决这个问题。
  • 治疗感染的僵尸村民
  • 用作弊命令或者创造模式中的刷怪蛋

得到一对村民后,一个村子的最大人口是村子房屋数目的0.35倍(前文有提到)。更具体的说,他们会一直繁殖直到成年村民数达到最大人口,而此后,尚未长大的幼年村民仍会继续成长至成年。

村子的居民在没有达到最大人口时,他们会不停地进入“恋爱模式”,你可以看到他们的头上冒出的红心(至少你应该开启视频设置中的部分颗粒可见,即使你看不见也没关系,他们仍然会进行繁殖)。这更像农场中动物的繁殖,当两个村民感觉到“浪漫”并且可以看见彼此,他们会缓缓移动之对方面前,然后“亲吻”几秒钟,之后,一个更小的(小孩)村民会在他们旁边诞生。这个新的村民的职业是随机的(你可以从他的服饰和颜色上作出判断),并不一定与父母的职业相同。

因为每个村庄都必须有村民,如果村庄被摧毁或是村民被杀完了,那这个村庄的所有数据,都会被清除掉。这个可能对于设计村庄来说是有用的,如果只有一个村民被限制在门的范围内并维持着这个村庄的存在,一旦村庄的范围移动过远或是村民被杀,那么村庄将不复存在,村民的无限繁殖也会因此停止。

意愿[编辑 | 编辑源代码]

此外,村民只有在“有意愿”的状态下才会进行繁殖。在交配后,他们不会再“有意愿”,所以你必须再次让他们变得“有意愿”。

与村民交易,可能会使村民处于“有意愿”的状态。在第一次完成一个新的交易组合时,村民会变得“有意愿”,或者完成下一次旧的交易组合后,有20%的几率会使他们变得有意愿。然而,你可能需要稍等片刻(而不是马上),他才会去寻找一个伴侣。

当某个村民的存货中有一个方格(类似于玩家的储存箱中的方格)中有3个面包、12个胡萝卜、12个马铃薯或者12个甜菜根时,他们也会变得“有意愿”。任意一个农民村民会向其他村民丢弃收获的作物,允许其他村民捡起地上的食物,以达到变得“有意愿”的要求。

达到意愿的必要条件之一需要有一个或以上的有效的房屋

治愈僵尸村民[编辑 | 编辑源代码]

有两种办法来治愈僵尸村民。第一种办法需要你到下界至少收集一个烈焰棒,用酿造台酿造。然后你需要酿造一个虚弱喷溅药水,然后制作一个金苹果(由金锭制作的那个“普通的”苹果)。当你找到一个僵尸村民后,将虚弱药水喷在它身上,然后使用金苹果右键点击它。僵尸村民会摇晃几分钟,然后就会被一个对应职业的村民代替。

另外对于禁止下界的服务器还有一种办法,在不使用酿造台的情况下对僵尸村民使用虚弱药水。你需要一个女巫和僵尸村民来达到这个目的。女巫有时候会扔出喷溅虚弱药水,你可以利用这点稍下功夫。这种方法就像是利用骷髅射手杀死一个爬行者一样,就根据类似的教程来执行就可以。但是,这个方法同样需要一个金苹果。

最开始找到一个僵尸村民不是那么复杂。大约每20个僵尸中就有一个僵尸村民,所以找到两个僵尸村民并将它们治愈不会非常耗时(大概就40个僵尸左右),然后他们就可以以更……“自然”的方式来生成更多村民了。另外,当一个村民被僵尸攻击时(任何僵尸都可以),会有一定几率(普通模式50%,困难模式100%)转化成僵尸村民,而不是死亡。同样也有更难捕捉的小僵尸村民,但是也可以被治愈。

僵尸村民是人工建造一个村庄的好方法,因为它不像村民那样不会长途追逐玩家。把它们吸引到一个目标位置时就可以治愈它们了。

无限繁殖[编辑 | 编辑源代码]

游戏中有一个漏洞,就是村民可以被诱导繁殖无限次而不受人口上限影响。

村民们需要在围绕村庄中心的一个球体(球体半径=村庄半径)范围内繁殖。但是村庄仅计算围绕村庄中心的一个长方体范围内的村民数量(宽度与长度=村庄半径×2、高度=9[永远都是!])。因此无论球体范围有多大,长方体范围的高度也只有9格高。所以有一些区域仅由球体范围(上方与下方的村庄中心)覆盖,这是显而易见的事情。

你可以利用这个漏洞,在地面上建造6个房屋(只要能让村民数量限制设置为2或更高就行),将2个(或更多)村民移至6格深的坑里。在地面上让1个村民“活着”。那么地下的村民将会无限繁殖,因为村民的数量始终到达不了上限。在 Minecraft 1.8 版本里,你需要通过给它们食物(或一个农场、一个农作物和一个农夫)或与它们交易让村民“有意愿”繁殖。

铁傀儡[编辑 | 编辑源代码]

铁傀儡会在至少拥有10个村民和21个房屋的村庄的中心生成。第21个房屋之后的附加房屋对铁傀儡的生成没有影响,但是你会需要29个房屋,至少在最开始的时候,为了自然生成10个村民(尽管如果你想的话,可以在之后减少到21个房屋)。但是,多余的村民将会生成更多的铁傀儡。对应的增量是每10个村民生成一个铁傀儡。(所以,0-9个村民将不生成铁傀儡,生成因子会被设定为0;10-19个村民会将生成因子设置成1,20-29个村民将会设置成2,以此类推。)这个生成因子只限定了在村庄中同时存在的铁傀儡数量;如果一个铁傀儡被杀或者离开了村庄的范围,会立刻在村中生成一个新的铁傀儡。 铁傀儡的生成区域是在村庄中心点16*16*6的区域中。当所有的条件都满足时(10个村民,21个房屋,铁傀儡的生成因子没达到),然后每个游戏刻(20分之1秒的时间),有7000分之1的概率生成一个铁傀儡。基本上它会在0到6999中随机挑选一个数,如果选到0,然后尝试10次去生成一个铁傀儡。在生成区中随机选择一个点,如果这个点包括一个实体方块,上方有2*2*4的空间(也会在水中生成,这个是下面的连接中制造刷铁厂的关键),然后一个铁傀儡会在那里生成。 无论哪个条件达成,会重复尝试10次或者直到一个傀儡生成。然后再每个游戏时钟继续检查,直到生成了足够多个满足生成因子的铁傀儡。直到铁傀儡消失或者生成因子扩大。这就意味着平均的生成几率(对于刷铁厂来说),如果铁傀儡被杀掉、或者快速的被冲到村庄范围外,生成因子将会永远都达不到,随即生成新的铁傀儡,是大概每小时10个铁傀儡(如果你采集的话,30-50个铁锭)。所以,如果你能达到最大值,你将会获得无限的铁锭,其他的则不会发生。

刷铁厂[编辑 | 编辑源代码]

刷铁厂实际上是人造的村庄(或是几个村庄,只要间隔够远且保持各自独立),在其中铁傀儡会生成,然后它们会被移出,或是集中屠杀,或是使其自动死亡。在旧版本中的Minecraft中,就需要准备一个铁锭的收集点,或是在一个集中的区域里杀掉他们。在正式版1.5之后,你可以自动杀死它们,并用漏斗收集掉落物。

建造一个刷铁厂最有效的方法应该是那些利用两层中空的铁傀儡生成区的方法,并使所有在外面的门和村民,村庄的上方和下方中心或外部的“环”在同一水平面上。这是为了最大化可用空间的铁傀儡生成数量,进而减少失败的刷新尝试,并保持生成率尽可能高。这是很有效的,而且并不是仅仅提高村民数量来提高铁傀儡刷新速率,无论如何,当一个铁傀儡生成并被移走或被杀死之间都会有几秒的间隔。为了进一步提高刷铁厂的输出速度,您可以建造几个独立的“刷铁厂”,把铁傀儡移到中央区域集合。由于铁傀儡免疫摔落和溺水伤害,因此可用的方法是使用熔岩或使其窒息死亡。

僵尸围城[编辑 | 编辑源代码]

在晚上,有一定几率会发生僵尸围城。这时,大量的僵尸在村庄附近生成,攻击村民所到之处,围在一起,撞击那些他们不能进入的门。要发生僵尸围城,这个村庄至少应有10间房屋和20个村民。

攻城的僵尸会忽视掉亮度等级和24格以内的玩家,除此之外,它们表现绝对是正常的(也就是说,它们不会生成在荧石、透明方块和下半台阶方块上面,需要一个2×1×1的最低生成空间等)。它们还会让铁傀儡此时不会在困难难度下生成,在困难难度下它们还会破坏掉门(在其他难度下它们也会尝试破坏门,但不会成功)。但是僵尸不会在距离你128格之外生成,即使是使用了一些命令,所​​以,如果你距离地面很高你会很安全。“你可以让你的房子变成僵尸防御模式”,你只需要挖去一个门前的地板方块就行。这样,门和它所在的地板方块就和墙一样了。这是因为,僵尸只能破坏门的上半部分,并且如果他们跳跃的话,他们将永远无法通过这扇门。

外部链接[编辑 | 编辑源代码]

  • 村庄信息模组 by trunkz - 这个模组为你提供了更多关于村庄的直观的信息。它在你的调试模式(按下F3后的模式)中增加了几行新的信息,如果你的周围有一个村庄,它可以显示那个村庄的大小、当前村民数量和最大村民数量、村庄中门的数量等信息。
  • Imgur画廊 by Derrick - 一个简单的,更加紧凑的村庄设计,并且可以有更多的村民。这种设计可以在11×10的范围内使村民达到35个。