兔子塔的理论基础



  • 摘要:从wiki上整理了兔子的生成机制,揭示了难点所在,为设计兔子机提供指导方向。

    根据中文Minecraft Wiki的结论,关于兔子生成的条件有以下几点:

    生成的方块的下面必须是草方块(或沙子)。
    生成的方块的周围亮度必须是9或者更高。
    只能生成在地表。
    生成在玩家周围1515区块(240240方块)内,距离玩家24格以外。

    所以,生成平台应该是单层或多层沙子或草方块,且玩家距离生成平台24格远。

    关于兔子生成的效率,有以下结论:

    被动生物存在上限,超过上限就不再生成,这个上限与适合生成的区块总数直接成比例
    每20秒进行一次生成,即生成周期为400 gt
    每个周期在每个区块只进行一次成群生成的尝试,每群至多生成4只兔子。

    经测试,在16x16区块中,每20秒能生成最多20只兔子,其中有大约一半是小兔子。可见,兔子的生成是十分分散且低效的。

    关于兔子脚的掉落,有以下结论:

    兔子脚只有在成年兔子被玩家击杀时才会掉落,基础几率为10%。
    这个几率可由抢夺附魔每级提升3%,最高可达19%。

    可见需要玩家右手持有,让兔子被玩家击杀,使得效率最大化。

    综上,兔子塔的生成平台应该建成光照良好的多层草方块,并且要覆盖至少5个区块。玩家周围15x15区块需要是沙漠生物群系。兔子塔使用时应避免加载其他的动物。兔子必须由玩家击杀,且玩家手持抢夺III的剑。效率上限大概在342个兔子脚每小时。(需要考证)
    难点在于兔子的收集。由于兔子的生成非常分散且稀少,需要强大的生物集中装置,在20秒内收集所有的兔子。也可以考虑使用伤害药水、掠夺tnt、弹跳三叉戟等方法,使玩家的攻击分散出去,以减小收集装置的难度。


  • 摸鱼村

    很好,这是一个非常重要的结论


  • TIS成员

    提供一个新思路

    其实是开不了新帖了orz

    看了一下兔子回避狼的AI部分
    发现系统会在兔子连线兔子方向的延长线这个大致方向上随机选取几个方块
    如果都不可行,那么兔子就根本不会跑
    具体随机机制不太清楚
    另外
    兔子回避狼的范围是一个2121的方形
    那么大致思路(假如兔子跑动耗时忽略不计,不考虑收集便利性)就是一大堆狼放在中心的21
    21的刷怪平台
    中间用活板门连接
    示意图:
    2019-07-08_22.49.08.png
    EIH)TT[24@FR]N%1{)HV(R5.png



  • @Lucun_Ji 其实我看到这个作业就想到了这种设计
    然而经我测试过之后放了狼的平台上不刷兔子👍



  • This post is deleted!


  • @Lucun_Ji 我又试了一下 不管是使用未被驯服的狼还是已经被驯服的狼,这样的平台都刷不出兔子
    2019-07-10_16.06.04.png
    具体为什么刷不出我也不知道


  • TIS成员

    因为狼也是生物上限,要用命名牌命名
    接下来的问题是兔子怎么集中收集……


  • TIS成员

    @L_Ac 这种井字形的平台用水流收集太慢了,兔子一格高也没有合适的传送带



  • 我之前有时间的时候试过每个平台底下一个水流平台聚集到中间然后水流冰道快速运兔子
    速度还可以



  • @Lucun_Ji 把20m/s传送带改造一下可以运兔子,也没有发现窒息



  • 利用寻路AI集中兔子

    摘要:根据Lucun_Ji提供的新思路,设计了一种让一群兔子跳进一个洞里的生成平台,方便把兔子灌进传送带。

    基本思路是这样的:由于兔子要逃离狼,所以我们将大部分路线用墙封上,只留几个小口作为兔子的必经之路。将必经之路的地板换成打开的活板门,用来骗兔子跳下去。

    14abd00d-54c7-4a3d-a770-14212522a633-image.png

    如上图,中间是一条狗,周围用两格高的白色玻璃围起来,只留了四个角可以通行。
    由于兔子的AI会选择墙另一侧的一个方块作为寻路目标,所以就一定会路过打开的活板门。这样,就能把兔子都集中到一个个3x3的洞里。如下图所示:
    b66008c9-3d64-4566-901b-417b9dd595fb-image.png

    洞的具体结构如下图所示

    00360cb9-d9a9-483f-9d8d-867e6e6fa29d-image.png

    然后加上活塞集中装置,让兔子进入1x1的洞里
    6889aa60-01d2-430f-ad68-1088e76ddd59-image.png

    这样就能方便地将兔子装进传送带了



  • 兔子传送带

    摘要:这是一种20 m/s的兔子传送带,具有分离小兔子的功能,稳定性较好,不会窒息兔子,但有可能让兔子卡在半路上。

    这是根据Flow3r7in的传送带改造而来的。
    原视频:
    【淼】便宜点的20m/s怪物传送带

    我将传送带的上半部分去除,并把一部分地板换成了浮冰和末地烛,然后再加了一些围墙。这样就可以运输兔子了。如图所示:
    17baec82-d497-4265-a0e7-cce0a114212f-image.png

    其中,末地烛是为了只让小兔子掉下去,从而达到分离小兔子的目的,因为小兔子不掉落兔子脚。兔子的数量少了,就可以减少传送带出错的概率。

    浮冰是为了减小摩擦力,让运输更加顺利。

    旁边的充能铁轨换成了音乐盒,防止兔子从侧面掉出去。
    c61e4699-ce22-499d-b787-7495b3148f85-image.png

    注意,这个传送带只能在特定的位置放入兔子,否则兔子会卡住或者漏出去。
    这个传送带之所以能运输兔子,是因为粘液块的推出时,将兔子弹出,兔子靠惯性能滑到下一个粘液块前方,然后再弹出。
    39ea988d-6b76-4154-8c5d-39d6fa690bb2-image.png

    利用这样的传送带,就能把兔子集中到玩家所在位置,进行手动击杀,获得兔子脚



  • 重大失误!重大失误!重大失误!

    这篇文章中混杂了基岩版的生物生成规则,所以结论并非完全正确。
    需要更正的是:

    “动物只能生成在地表”是基岩版的规则,java版没有这个限制!!!

    动物不一定需要在地表生成,所以可以用多层结构来刷兔子。

    在实验中,我使用了两层120x120的草方块平台,并把下面那层平台用末地烛点亮了。实验结果是,两层草方块都刷了兔子。


  • TIS成员

    @redberd 嗯是的,java版亮度要大于9来着的,但是也要考虑到堆高了的lc问题


  • TIS成员

    @redberd 这个主意不错,不知道兔子从平台上下来需要大概几秒钟。如果接上传送带等收集措施不知道效率如何
    另外你应该是可以编辑之前发的内容的,会比再发一条方便



  • 这里还需要详细说明一下“成群生成”的规则

    每20秒一个生成周期。
    每个周期在每个区块只进行一次成群生成的尝试。
    每群最多生成4只兔子。
    整个区域存在兔子数量上限。

    所以,多层堆叠草方块平台可以增加一个区块内尝试成功的概率。但由于生成尝试只有一次,所以一个区块最多刷一群兔子,也就是4只。
    在加上兔子总数的上限,所以在设计兔子塔的时候要综合考虑每一层的面积和堆叠的层数,让草方块有较高的利用率。


 

友情链接

魔茶国际
Powered by TIS