转自https://youtu.be/vMSiholH_lc 有能力请支持原作者
作者:gnembon 发布时间:2019年7月14日 搬运:hiback
视频摘要:由于没有时间做全篇翻译了,这里总结了一份比较详尽的视频内容,可以配合观看。
目前有两种刷铁的方法,一种是通过村民的流言机制,一种是通过惊吓村民。前者时间有限,产出小,所以目前的设计都使用惊吓村民的机制。
村民会追踪距离自己16格以内的所有实体,每20gt(1s)更新一次附近的实体列表。这个更新没有规律性,就是说两个村民的更新时刻可能不同。而且其内部时钟会在其被加载或生成时随机选取。
铁傀儡使用这个列表来检测是否有铁傀儡,不过它只会每200gt(10s)检测一次。村民需要在600gt(30s)之内没有看到过任何铁傀儡,才能生成新的铁傀儡。
这些数据不能使用指令可视化,所以gnembon使用了MOD来可视化。村民头上有四个数据(视频2:37处),第1、2个标记代表其是否满足睡觉和工作的条件,第三个标记代表其是否在恐慌状态下,第四个数字代表其内部的铁傀儡时钟,也就是看到一次铁傀儡就将倒计时变为600gt,只有数字低于0才能生成铁傀儡。
刷铁条件:
睡觉需要满足:村民在过去的一个游戏日内睡过觉
工作需要满足:村民在过去的一天半中工作过
村民恐慌需要满足:1.怪物足够近 2.视线上可以相互看到
铁傀儡条件满足:村民在周围16格内600gt内没看过铁傀儡
同伴条件满足:在村民周围10格内有另外两个满足睡觉和工作条件的村民(不需要也满足恐慌条件)。
一旦铁傀儡生成,生成铁傀儡的村民的周围10格内所有村民也会看到铁傀儡,并将自己的时钟重置为600gt。
刷铁范围:村民上下6格,负方向8格,正方向7格。
多数情况下,可以刷铁傀儡的方块需要能遮光,并且有实心的上表面,不过也有特例,比如铁活板门不遮光,不过可以刷铁傀儡。
同时方块上方一格需要有水/空气,上方两格没有实体方块/红石/铁轨。
除此之外,铁傀儡只会检查实体碰撞,不会检查方块碰撞,所以铁块上面隔一格放路径也可以刷。(视频7:25)
特殊的一点:如果玻璃在村民可刷铁傀儡区域的最上边一层,那就也可以刷铁傀儡。除此之外正常情况可以使用玻璃、线、红石、铁轨等方块防刷铁傀儡。
1.14中,刷铁傀儡时,游戏会在平面上16*16范围内随机选取10个位置,并取其位置最高的满足条件的方块刷。(视频9:00)所以在5*5的刷铁傀儡平台下,1个村民恐慌的刷出率是64%,3个恐慌则为95%。
刷铁傀儡的尝试是每100gt(5s)进行一次,不过这个时钟不是随机的,是与世界时钟同步的。
村民存储方式有很多种,由于新版本对于寻路等机制的不断更改,不同的设计可以在同的版本使用。
有时可能会遇到村民无法识别自己的床或者工作站的情况,是因为村民的POI系统出了问题,只需重新放置即可。
持续惊吓村民村民的话,会导致游戏卡顿比较严重,而且基于以上原理,我们知道刷出铁傀儡一段时间后村民本来就不能刷新的铁傀儡,所以gnembon给出了最终的设计(19:57)。
在最终的设计中,僵尸在矿车中循环,通过红石电路/水流的方式可以让其停留足够的时间,让村民有机会刷铁傀儡。每组村民有36格刷铁傀儡平台,结合3个惊慌状态的村民,刷出率为99%
两组村民之间间隔20格,所以一侧的村民看不到另一侧刷出的铁傀儡。僵尸一次循环需要730gt(36.5s),几乎是一个刷铁傀儡周期的极限时间了。铁傀儡下落的距离足够,超出16格的检测范围,用岩浆处死。
这个农场用了30个村民以及一个矿车里的僵尸,效率为4600铁锭/h,而理论极限为4800,所以损失很小。并且由于不是一直恐吓,装置的卡顿控制(mspt)也非常的好。
如果用僵尸而不是尸壳的话需要注意挡光,村民也可以在上方3格左右加平台防闪电,注意不要刚好在6格高的位置放玻璃导致刷铁傀儡就行。
===============
原简介翻译:今天是有趣的农场第28集,我们介绍了1.14.4的刷铁傀儡原理以及如何建造简单、廉价、不卡的刷铁厂。能够产出4600/h的铁锭,并且在i7700k服务器上能运行在1.4mspt。
存档(两个世界的压缩包,包含展示范围用的那个,不过需要安装scarpet才能用):https://pan.baidu.com/s/1iiOVgOnXe6QuqP8b_kL3zA 提取码: u77q
包含Scarpet API的1.13.2 / 1.14.4-pre5(fabric)版本Carpet Mod:
github.com/gnembon/fabric-carpet
github.com/gnembon/carpetmod
github.com/gnembon/scarpet