我的世界超高效刷怪装置设计图文教程

我的世界超高效刷怪装置设计图文教程
我的世界游戏可以让每一个玩家在三维空间中自由地创造和破坏不同种类的方块。爱好者们制作了各种各样的游戏mod也是本游戏的一大亮点。有些童鞋对如何高效率的刷怪装置设计还不是很了解,下面请看详细的图文教程吧! 刷怪循环过程:一个刷怪循环进行的过程比较复杂,在这里只讨论怪物的刷怪情况: 判断怪物数量是否达到怪物总数封顶,如果达到封顶则取消本次循环 选择一种刷出的怪物,进行一组怪物的刷怪尝试 从主角为中心的15×15个chunk(一个chunk是16x16x256大小)中随机选取一个可用的位置,作为这组怪物的刷怪中心 一个可用位置的判断是:这个位置必须是非实体方块和非液体方块;下方必须是实体方块;上方必须是非实体方块;怪物不会被其他方块窒息;主角空间距离24格之外 如果位置符合,这一组进行12次刷怪尝试,最多刷出4只怪物 每次刷怪尝试,从41x41x1的空间内选择一个可用的位置 然后进行亮度判断,根据亮度不同会随机选择是否否决本次刷怪,亮度从0到7否决率增加,7以上否决率100%;如果收到天顶亮光(阳光或者是月光),否决率再增加50% 史莱姆和小黑增加90%的否决率 如果一切都符合并且未被否决,那么在这个位置刷出一个怪物 此外,附加上lc的影响,在 从主角为中心的15×15个chunk(一个chunk是16x16x256大小)中随机选取一个可用的位置 这句话的过程,是先选中一个chunk,然后在这个chunk所有y小于等于lc的位置选取一个方块。 接下来以【效率】为唯一目标,考虑刷怪装置的设计思路。 首先是怪物的处死方式: 处死怪物的方式以烧死、摔死为效率高的方法。 淹死、窒息等方法不能获得如此快的速度。 补充说明一下:摔残然后由玩家空手补刀的方式也不在考虑范围内,因为玩家手杀的速度将成为最大的瓶颈。如果追求经验的话,现有的很多刷怪塔都已经可以满足经验的快速获取了。更高的速度也没有什么用,因此只追求大量物品的获得。 摔死:摔死几乎是最快的杀怪方式了,因为只要控制高度大于等于30格,基本可以确保瞬杀怪物。但是1.7.4出的僵尸鸡骑士,导致了摔死无法有效处理僵尸鸡。 烧死:烧死其实相当难做,因为当怪物落到了岩浆里,怪物会尝试在岩浆中游泳,最终烧死之后物品也被烧掉了,但是可以有效处理掉僵尸鸡。 因此,可以考虑两者结合,由于岩浆并不像水一样可以重置速度,因此可以考虑用怪物从高空落下的过程中穿过一层岩浆,最后落在地上,这样可以及时处理掉鸡骑士的问题。 然后说收集怪: 收集怪,就是把刷出的怪物送到处死装置的过程。 其中效率最高的当属活塞推动地板的方式。 由于活塞推动过程中产生的技术性方块无法对怪物产生支持作用。怪物会穿过技术性方块落下去,因此使用活塞推动地板可以迅速的将怪物丢下去摔死。 重点是如何触发地板推动: 有一种思路是使用时钟电路,每过一段时间推动一次地板,将刷出的怪物推出。 但是这样的思路有个最大的问题是卡顿,因为一个活塞推动将导致推出的12个方块全部更新,计算量非常巨大,而高效率的刷怪装置必然有大量的活塞地板,一个时钟信号过来时候,大量的更新造成的卡顿是非常恐怖的。 此外,不能及时清除怪物也是一个问题,因为怪物刷出后必须等待到时钟信号过来时,才会掉下去。 还有一种思路是用拌线检测。拌线的好处是可以检测一排怪物,我们可以用一排拌线,链接上两侧的拌线钩,触发两边活塞来回推动,使得怪物迅速落下被处理掉。 这样的好处是清理怪物更及时,并且造成的卡顿没有那么严重,因为刷怪上限大约是80,最多同时存在80+个怪物,也就是最多只有80+个处理怪物的拌线被触发。随之产生的更新量要比整体推动小很多。 拌线的放置有一些讲究,如果放在第二层,则无法检测小僵尸、蜘蛛等怪物,而如果放置在第一层,则为了能连接到拌线钩上且不导致对活塞产生BUD充能。装置要拓宽一些。并且将非刷怪面积的高度进行控制。不过还是可能导致一些怪物在扩宽部分生成。 接着是来回推动地板的时钟信号的产生。漏斗时钟是一种非常好的时钟装置,也便于控制。但问题是漏斗上方如果不是容器的话,每个tick游戏要检测漏斗上方是否有物品,这是一个计算量比较大的过程,因为实体列表是单独维护的,无法在O(1)时间完成计算。如果以漏斗时钟作为刷怪单元的话,整体的卡顿也是非常恐怖的。 因此推荐采用纯红石的时钟,但是纯红石的时钟需要考虑的问题是横向堆叠能互补干扰,因此需要设计两种放在一起不会干扰的结构,然后横向重复扩展。 以上这些可以作为基本刷怪单元: 一个围起来密闭的暗室,下面一排半砖,中间是拌线,两侧是时钟电路和活塞,下面是摔死部分,中间有岩浆。怪物一生成,立刻启动时钟电路来回推地板,怪物落下被烧死+摔死。 以上的这些,想必做过高效女巫塔的都知道如何做。也不是特别新的东西 接下来是【重点】部分:刷怪单元的分布 首先有一点大家都知道,怪物距离玩家超过180格将立刻删除。因此,整个刷怪的基本单元都必须排布在以玩家为中心的半径128的球体内。 但是我们没有必要将整个从0~255的世界高度范围内填充一个半径128的球来达到效率最大化,因为有lc的影响。 我们要做的是提高这个球体在lc下面部分所占的比例。