教程:阳光探测器

来自Minecraft Wiki
跳转到导航 跳转到搜索

本教程介绍几种阳光探测器的用法。

世界时钟[编辑 | 编辑源代码]

因为阳光探测器可以精确测量天空光照等级,所以可用于完成大多数和世界时间相关的计时任务或是直接作为时钟电路。一般需要保证阳光探测器所处位置天空光没有衰减。

时钟[编辑 | 编辑源代码]

搭建“夜晚”字样或者标明时间的告示牌,在其上安装红石灯并连接到阳光探测器的传出线路即可,需要注意调整好电路的信号强度衰减以符合输出预期。

定时广播[编辑 | 编辑源代码]

做法

将阳光探测器输出接入信号强度对比器并与预设信号作对比,输出连接到命令方块,可以制作一个定时广播。

在命令方块中输入/say <message>,会向世界中全部玩家广播。若想向选定玩家发送信息,则可用/tell <target> <message>

用途

制作定期广播。

例如时间提示器,用于广播时间或昼夜状态,这样没有时钟的玩家在矿洞中挖矿时也能得知世界时间。

月光探测器[编辑 | 编辑源代码]

通过将阳光探测器与一个非门连接来构建一个“月光探测器”,它可以在天空光照为0时输出信号,这可以用于在夜晚打开照明灯,或者控制自动门。

一个最简单的月光探测器

红石火把会在夜晚点亮并在白天熄灭。中间的方块可以是任何红石火把能依附的红石导体,除了红石块。

现在,使用反向阳光探测器是更为高效的办法,仅需对着阳光探测器按下使用键就可以让普通阳光探测器变成反向阳光探测器。

天气检测器[编辑 | 编辑源代码]

由于阳光探测器的输出信号具有周期性,将其与一台红石钟相连可以检测是否下雨。

将红石钟输出强度减去阳光探测器的输出强度(使用减法模式比较器)。若有输出说明处于下雨天气。提升输出检查的精度,还可以实现细分下雨或雷雨。建造这样的一台天气检测器,可以配合计数器计算下雨次数,或是配合计时器计量下雨时长,甚至两样兼做。

但这种方案一旦红石钟所在区块被卸载,其中的红石钟停止工作,便会导致故障。在基岩版中,可以使用/tickingarea命令来解决;在Java版中,可以通过在世界出生点建造或使用区块加载器解决该问题。

也可以通过在沙漠生物群系布置1号阳光探测器,在目标生物群系布置2号阳光探测器,将1号探测器的输出减去2号探测器的输出也能实现天气检测(利用沙漠生物群系不下雨的性质,使用处于沙漠生物群系中的探测器代替红石钟来避免红石钟需要校准且不抗卸载的问题)

传输信号[编辑 | 编辑源代码]

此章节仍需完善,你可以帮助我们扩充更多信息。

通过操纵天空光照实现数据传输。这种传输手段简称为光电。仅适用于主世界。

由于阳光探测器受昼夜更替影响,因此在适用时间上分为全时段传输仅白日传输,后者要求世界光照强度为15(时间必须为白天且天气必须为晴天)。在传输方向上分为竖直传输立体传输

竖直传输
  • 利用在晴天且为白天时,无遮挡时世界光照恒为15,可直接构建一条竖直传输路径且无视竖直距离无延迟传输通路,称为“竖直光路”。
立体传输
  • 通过控制遮挡以及构建“光管道”来构建合理的“立体光路”,实现曼哈顿距离15格以内的任意走向传输。

只需要使用活塞推拉方块或发射器(组)控制流体来控制光路的遮挡,就能无延迟控制在此光路中的阳光探测器(即控制光路信号)。光路遮挡控制器也被称为光控

全时段传输
  • 全时段传输需要在接收端额外使用1个阳光探测器(不能被遮挡)作为基准信号,使用比较器检查光路中的阳光探测器的输出(光路输出)是否低于基准信号,若是则意味着光路被遮挡,此时输出信号。
用途
竖直传输
极小体积(仅白日传输)且高带宽[仅基岩版]地无视距离无延迟竖直下传信号。
立体传输
利用其可在曼哈顿距离15格内任意走向传输信号的性质,与普通传输电路灵活组合实现特别的传输走线。
版本差异

Java版中,若玩家不进行干预(切换阳光探测器模式),那么阳光探测器每1s改变一次输出,因此光控仅需:1个黏性活塞;2个活塞或者1个发射器与流体桶。

基岩版中,阳光探测器每1rt都会改变输出。普通的光控使用黏性活塞即可,边沿时序平衡的光控(带宽5Hz或以下)需要2个黏性活塞或者1个发射器与流体桶,而带宽最高的10Hz光控(绝对边沿时序平滑)需要2个黏性活塞或3个发射器与流体桶。

特点

持续传输(双稳态传输)、体积极小地无视竖直距离快速下传或是曼哈顿距离15格内灵活走线。

你知道吗

在特殊情况下活塞线可直接作为光控使用。光电亦可传输模拟信号,但需要更复杂精巧的光控。

导航[编辑 | 编辑源代码]