本篇教程由作者设定使用 CC BY-NC 协议。
简介
空白导向石是咒法学中一个比较有意思的方块,它可以接受一束媒质波并且控制它的流向。不同于石匠导向石的是,空白导向石中媒质的流向似乎是随机的。本文就空白导向石的随机流向机制展开研究,并且阐述目前所存在的部分未知问题,最后寻找其应用。
设计思路
法术环搭建
为了研究空白导向石的随机机制,首先需要搭建一个能统计随机结果且能控制运行与结果输出的法术环。由于法术环拥有固定延迟与最大可运行石板数等限制,所以这个法术环还要尽可能的短(特别是循环模块)。基于以上两点需求,我设计了下面这个法术环。
当拉杆激活粘性活塞时,法术环本身通过四方块循环,使媒质波重复通过空白导向石,运行导向石的随机事件。同时在导向石的两个输出端循环分别将+1/-1压入栈中(图中是西端压入+1,东端压入-1)。
当拉杆结束激活粘性活塞后,粘性活塞拉动红石块激活石匠导向石,使得整个法术环退出循环,进入数据输出模块,在这个模块中,法术环会先后运行 群体之精思➡群体之策略➡书吏之策略 的图案。 将空白导向石的运行结果打包成列表后存入玩家手中法术书。
下面是这个法术环的搭建过程:
需要的方块:工具匠促动石x1,空白促动石x4,空白导向石x1,石匠导向石x1,空白石板x5,拉杆x1,粘性活塞x1,红石块x1
法术环相关计算
这个法术环循环模块的长度为4,循环前模块(从工具匠促动石到空白导向石)的长度为0,循环后模块的长度为6。
因此,如果按照默认设置,即法术环最大长度1024来算,一次激活中最多可以运行 (1024-6)÷4=254.5≈254 次循环。
运行254次循环相当于激活了 254×4+6=1022 个法术环方块(石板,促动石,导向石),总共需要 7.3×20+(1022-23)x2=2144 gt [注1]
减去循环后模块 12gt 与活塞 4gt 延迟,可知最晚需要在法术环运行 2128gt 后使拉杆处于未激活状态激活石匠导向石输出结果。
操作流程
在这个过程中使用了carpet模组的/tick功能,旨在更加方便地控制游戏刻的运行。
输入 /tick rate 500 增加tps数,然后输入 /tick freeze on
将拉杆处于激活状态,激活工具匠促动石,然后输入 /tick step 2128
等待法术环暂停运行后,取消拉杆激活状态,手持需要存储结果的法术书页,然后输入 /tick step 16
更换书页,重复2~3步的操作。
如需退出,输入 /tick rate 20, 然后输入 /tick freeze off 即可正常游戏
设计辅助计算杂件
如果前面步骤操作正确,运行完了法术环之后,你得到的应该是一个充满大量数字1与-1的列表。单纯观察列表难以得出结论,因此需要写一个辅助计算的杂件,来帮我们更加直观的输出结果。
下面是该杂件的具体图案列表
数字之精思:0
福金之策略
内省
雾尼之精思
加法之馏化
福金之策略
反思
书吏之精思
托特之策略
簿记员之策略:v
雾尼之精思
书吏之精思
算盘之纯化
数字之精思:2
群体之策略
揭示
簿记员之策略:v
结果统计
本次测试一共运行了50次法术环,每次均运行了254次循环,总计12,700次循环。测试中空白导向石为东西朝向,西输出1,东输出-1。运行结果如下:
项目 | 结果/次数 |
平均 结果 | 3.32 |
最高 结果 | 40 |
最低 结果 | -36 |
正/西 次数 | 26 |
负/东 次数 | 21 |
零 次数 | 3 |
>= 10 次数 | 17 |
<=-10 次数 | 11 |
由上可知,空白导向石随机输出结果似乎符合正态分布,但是中心点有所偏移,初步猜测可能是因为循环次数一直为偶数导致的。本测试也存在着数据量过少,装置朝向,循环次数未改变等问题。因此数据仅能作为部分参考。
部分bug
空白导向石目前仍存在少数bug,似乎是和空白导向石自身激活机制有关。
【此bug已于模组版本1.19.2-0.11.0中进行修复。】
BUG:空白导向石无法激活除了水平放置面朝上的石板,如果尝试激活,法术环将会在导向石处失效。 [注2]
解决方法:令空白导向石的媒质波输出端接触的是水平面朝上的石板,或者使用空白促动石等其他法术环方块代替石板输出媒质波。
注释
从促动石开始,法术环的激活延迟分别为:10,10,9,9,9,8,8,8,7,7,7,6,6,6,5... (单位:gt) 。因此,在tps为20的情况下,需要经过7.3秒(146gt),激活了23个法术环方块后,才能达到最低延迟2gt。
如果把空白促动石上下放置,然后将石板放置在空白导向石媒质输出端表面,理论上有50%的几率能激活成功,这是因为上面输出端可以正常激活,而下面输出端不能。或许可以利用这个特性做一些有趣的事情,比如可以输出随机红石信号的装置。➡相关链接