关于黑山大叔8月21日视频中提到的红石开关的时序分析
LiFAs251
2026年09月08日 15:25

敲击上方音符盒,开关总是亮起,敲击下方音符盒,开关总是熄灭

记红色羊毛旁边的侦测器为1号,蓝色羊毛旁边的为2号

敲击上面的音符盒:

0gt:音符盒音色改变,发出PP更新,1号侦测器在2gt后计划亮起

2gt:

1号侦测器依次执行以下四步:亮起,发出PP更新,在2gt后计划熄灭,发出NC更新

2号侦测器在侦测到1号侦测器的PP更新时执行在2gt后计划亮起同时,由于2号侦测器是在1号侦测器计划熄灭之前计划亮起,所以第4gt2号侦测器先执行计划亮起,1号侦测器再执行计划熄灭

4gt:

2号侦测器依次执行以下四步:亮起,发出PP更新,在2gt后计划熄灭,发出NC更新

1号侦测器依次执行以下四步:熄灭,发出PP更新,在2gt后计划熄灭,发出NC更新同时,由于投掷器有半连接性,两个投掷器都能接收到来自2号侦测器上面的实体方块的充能,2号侦测器在NC跟新阶段只能更新到上面的投掷器,于是上面的投掷器先投掷,然后,1号的NC更新阶段更新到下面的投掷器,下面的投掷器后投掷。所以最终,无论开始时物品在那个投掷器中,最终都会回到上面的投掷器中

敲击下面的音符盒时:

记白色羊毛旁边侦测器为0号

0gt:

下面的音符盒音色改变,发出PP更新,0号侦测器2gt后计划亮起

2gt:

0号侦测器依次执行以下四步:亮起,发出PP更新,在2gt后计划熄灭,发出NC更新同时,上方的音符盒能够接收到来自0号侦测器的充能,0号侦测器的NC更新阶段音符盒状态设为亮起(发音),并发出PP更新,此更新被1号侦测器检测到,1号侦测器在2gt后计划亮起。也就是说,0号侦测器先计划熄灭,1号侦测器再计划亮起

4gt:

0号侦测器执行熄灭计划,1号侦测器执行亮起计划,在1号侦测器执行完成亮起计划,即发出NC更新后,2号侦测器2gt后计划亮起也就是说,0号与1号侦测器计划刻的顺序被保留,原理与管理计划刻的两个列表QueuedTicks和TickableTicks(简记为Q列表和T列表)有关。在每gt的NTE阶段,被执行的计划刻会从Q列表转移至T列表,新添加计划刻时侦测器只检测Q列表是否被占用,不检测T列表是否被执行,所以此顺序得以保留,即在6gt时1号侦测器先执行计划熄灭,2号侦测器再执行计划亮起。6gt:1号侦测器执行计划熄灭,下方投掷器接收到其NC更新,投掷器没有接收到充能,于是没有被激活;然后2号侦测器执行计划亮起,NC更新到上方投掷器,同时充能2号侦测器上方的完整方块,上方投掷器激活。无论开始时物品在哪里,最终都回到下方投掷器