找回密码

游戏天空

查看: 1003|回复: 0
打印 上一主题 下一主题

【我的世界】【比较器BUD图文详解】

[复制链接]

5007

主题

5159

帖子

46万

积分

功勋长老

Rank: 9Rank: 9Rank: 9

积分
461999
跳转到指定楼层
楼主
发表于 2017-5-14 00:25:21 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
  《我的世界》中的BUD技术在玩家中广为流传,实用性很强。今天就为大家分享一篇“mackler”讲解的《我的世界》比较器BUD图文详解,一起来学习一下吧。

  BUD(方块更新检测)是一种很常见的技术,也有很多介绍,想必大家都已经很熟悉了,今天我来给大家介绍一个特别的BUD——比较器BUD,它不仅有普通BUD所具有的一切功能,还有很多独特的能力,可以检测方块的实体附加值变化。接下来我会首先介绍一下比较器制作BUD的原理,然后展开讲它的额外特性。
原理:
  比较可以检测箱子里的物品数量,可以检测水缸里的水,可以检测探测铁轨上的箱子矿车和漏斗矿车里的物品数量,可以检测一系列的东西。



  同时这种检测是可以隔着一个不透明方块进行的。



  此时如果我们用活塞把水缸拉走,或者在箱子上面放个不透明方块让箱子无法打开,或者用活塞抽走矿车下面的检测铁轨。



  比较器不会收到更新,继续保持激活状态,此时可以进行方块更新检测了!此时只要在比较器周围产生方块更新(比如放置方块),比较器就会熄灭。



  和常见活塞BUD一样,只要加上重置电路,让活塞把水缸推回去再拉走,或是拉走箱子上的活塞再拉回来,或者把检测铁轨推回去再拉走,就可重置成上面的状态。
  下面是基于上面提到的三种方案的简单设计:









  其中体积最小的要数箱子了,也是我比较偏爱的一种设计,不过这里给大家介绍了原理,大家可以根据具体电路布线需求更改和设计最适合的放到自己的电路中。
特性:
1、BUD检测范围
  和其他BUD一样,必须是BUD状态的比较器上下左右前后6个位置的方块更新才能被检测到,当然受限于电路,当然受到电路布线的影响,某些位置在特定的设计里可能无法被使用,所以大家一定要结合自己的需求选择合适的设计!



2、TEUD/DUD/CUD范围
  特殊的地方来了,比较器还具有检测方块实体附加值的更新,对于这种检测有多种名字:TEUD是(Tile Entity Update Detector实体附加值更新感应器);DUD(Data Update Detector数据更新检测器);CUD(Comparator Update Detector比较器更新检测器)。
  当然名字不重要啦,重要的是能做什么,首先明确一下,实体更新检测的范围和BUD检测范围不一样,必须是与比较器同高度,靠着比较器或者与比较器隔着一个不透明方块,即下图中高亮的位置。



  其中,使用外侧位置的时候,一定要确保和比较器中间隔着一个不透明方块。当然,考虑到电路本身的影响,最方便使用的位置还是比较器侧面隔着一个方块的位置,可以免受检测器本身电路的干扰,限制最小。



3、TEUD/DUD/CUD特性
  下面通过一系列实验来展示比较器可以检测哪些普通BUD无法检测的东西。



  首先是音符盒的音调变化,这个可以作为一个非常不错的电路输入,只需要对着音符盒右键即可触发,相比其他很多开关更加用户友好。



  可以检测箱子交互界面里的鼠标点击行为,上图中我点击了箱子里的一个空格就触发了更新。



  酿造台开始和结束酿造。
  不一一图片举例了,简单枚举一下MC里有那些更新是TEUD可以检测而普通BUD无法检测的。
  1、容器中物品数量的增加和减少(合成台不算容器,直接用比较器测量物品数量无法精确到每个物品的增减)
  2、鼠标点击容器的物品栏
  3、酿造台、熔炉开始工作和结束工作(每酿造完一次或每烧完一个物品都会触发)
  4、音符盒子音调变化
  5、水缸水位变化
  6、探测铁轨上有实体
  当然远不止这些,大家可以自己去探索一下,这里比较有意思的一个是探测铁轨上有实体,会不断触发,不同的实体周期还不一样。



  一般实体是4tick周期触发1个1tick信号。



  而矿车是10tick周期出发1个2tick信号。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver| 游戏天空

Powered by Discuz! X3.2

快速回复 返回顶部 返回列表