【MCJE 1.14+/熟肉】基于折跃门的末地石农场630k/h效率说明文件[smokey95dog]

原作者:Smokey95dog(不和谐:Smokey95dog#0862)

32763;3579373653065665666666666666666666656666566666666666666666666666666666666

以下农场视频的1.13版:https://youtu.be/Jg0jIwOlNeI -嗯。

有能力请支持原作者!!!

本文档凭借1.14版本的存档简明的介绍了基于折跃门的末地石农场在1.13到1.14的改动。我【译者注:本文非中括号内的第一人称均指原作者Smokey95dog。】将来会在我的油管频道发布一个视频,但我还是为那些不想等的人做了这个文档。请记住,该存档完成度不高,需要你自己添加一些红石电路来将折跃门迁移到农场里,不过你也应该可以使用1.13版本的存档作为参考。这也归功于Earthcomputer和Rubikexplosion的代码发掘。

1.14版本存档效率:

 – 约63万(630k)末地石/小时(由于使用了新的小岛,效率更高了且可以安全的处理所有末地石了)

 – 54游戏刻/末地小岛。由于下述的#3 1.14改动,故较1.13版本慢了1gt。

 – 活塞消耗效率:未测,但很确定的是,由于某些原因,会比1.13多损失一些。

1.14版本中的变化(仅在1.14.4版本中确认过):

            1. 以 (0,0) 为圆心半径r=768的圆【译者注:本文以下提到的任何未注明圆心的圆的圆心均为末地原点 (0,0)。 】上的一串末地岛改变了(实际上所有末地岛都变了,但是我们只在意这个半径768的圆上的)。确认小岛大小的算法并未变化,变化了的就只有这些岛的位置。这意味着我们当前在1.13版本下用到的最优小岛不复存在了,所以折跃门循环【译者注:指末地石农场的核心部件,即循环生成折跃门及末地岛处理装置。】就得转移到新的小岛上。

            2. 在768半径圆上“占据”区块以获得出口折跃门和小岛的方法改变了。在1.13版本以下,你可以把飞行器开到原点指向入口折跃门的向量【译者注:作者在本文的后面将其简称为入口折跃门向量。】上距离末地原点768~1024之间的第一个子区块上方,该区块就会被认为是被永久“占据”了的。现在,区块是否被占用的状态可以被随意改变了,所以你必须在每个区块的第一个子区块上方放置常驻的方块(以保持占据这些区块)。这意味着你只需要简单地打掉末地石农场所处向量上区块内的方块就可以熊掉弄坏一个末地石农场。

            3. 折跃门确认其是否可生成在某一方块上或者传送实体到该方块上的判定改变了。在1.13及更低的版本中,折跃门用isBlockNormalCube函数来判定。现在,isBlockNormalCube函数不存在了,现在该判定改用了isFullCube函数(来自yarn的映射)。一个完整方块可以被直接认定为完整的1*1碰撞箱。这个新的判定改动不大,但是Mojang在1.14改变了一些方块的属性:

·         玻璃是完整方块,这也就意味着你再也不能在折跃门搜寻完整方块区域内用玻璃垫脚了。

·         收回的活塞是完整方块。这意味着当折跃门执行方块搜寻时,折跃门循环内的任何活塞都得是伸出、正在伸出、正在收回的或者是处于正在被其他活塞移动的B36状态。

·         灵魂沙不是完整方块了。然而,你仍然可以对它红石充能。这意味着灵魂沙是游戏中仅有的折跃门无法生成在其上方的,且仍然可被用于传输红石能量或者通过半连接特性激活特定方块。在1.13以上版本再无这样的方块了,所以如若有人欲将折跃门循环在1.14及以上整体重新设计,灵魂沙将会是个无价的方块。

4. 一个会导致折跃门迁移变得无聊乏味,并且导致最优末地岛的标准改变了的bug在1.14版本被引入了。

在1.13及以下,若你占据了入口折跃门向量上1024至768的区块,折跃门就会在向量与半径768圆相交的点上搜寻末地石来决定是否应该生成一个末地小岛。若它查找到这个区块中有一个有效末地石(处于y=30以上且有两个不满足isBlockNormalCube函数的方块在它上方),它接下来就会进行isBlockNormalCube搜寻以将出口折跃门放置在距末地石各方向16格的位置并不生成末地小岛。若未找到有效末地石,它就会它就会执行搜寻来将出口折跃门放置在距离它生成的末地岛中心16格的位置。(小岛中心会是入口折跃门向量与768+0.5 m半径圆相交的X和Z轴坐标,Y=75的位置)

现在,在1.14中,若折跃门未找到有效末地石,它仍然执行在末地石各方向16格内生成的末地岛中心放置折跃门的搜寻。然而,若它找到了有效末地石,它会从该区块最大坐标开始执行搜寻,而非放置出口折跃门在距该末地石各方向16格的位置上。这意味着两件事情:

·         你无法在同y轴坐标,不破当前折跃门基岩的情况下迁移折跃门,并且你不能再单次迁移超过16格了。现在,最简单的迁移方法是用台阶形状迁移并且只在迁移到距世界高度限制很近需要再向下迁移时破掉当前折跃门基岩。

·         在某些小岛位置上,岛中心与折跃门搜索有效末地石的区块最大坐标相邻时,你可以安全的处理整个岛而不再需要考虑区块内由于TNT爆炸随机性剩下的有效末地石搞坏农场。这些岛在1.14的岛中占据了优势,并且因此它们比那些有更多末地石但是你只能处理掉3/4的更优。

1.15版本中的变化(仅在1.15.2版本中确认过)

            1. 什么都没有改变。1.14版本的存档可以在无修改的情况下工作。有件事得提一下,那就是1.15版本中的末地石砖及其制品有了和末地石相同的爆炸抗性。所以你可以根据你自己的意愿把爆炸室顶的末地石改成末地石砖。

1.16版本中的变化(仅在1.16.2版本中确认过)

            1.  除了红石粉的改动以外什么都没有改变。1.14版本的存档可以在对红石电路进行微小调整之后正常工作。如果你对1.16的实装很较真的话,请联系我,我来告诉你这些改动。

资源下载: