# 매 tick: 큐(mq:main video.cmdq)에 대기 중인 모드 명령을 한 개씩 command_block 으로 # 실행한다. command_block 은 auto:1b 면 매 tick 재실행되므로(=videoCache add 중복 # 실패 스팸) 명령을 실행한 다음 tick 에 auto:0b 로 꺼서 1회만 실행되게 한다. # 한 좌표 블록은 한 tick 에 1회만 켜지므로 큐를 1개씩 소진해 preload·축출 다건도 # 순서대로 처리된다. data remove storage mq:tmp fire execute if data storage mq:main video.cmdq[0] run data modify storage mq:tmp fire set from storage mq:main video execute if data storage mq:main video.cmdq[0] run data modify storage mq:tmp fire.c set from storage mq:main video.cmdq[0].c # 큐에 명령이 있으면 적재·실행하고 armed 표시 후 pop. execute if data storage mq:tmp fire.c run function mq:videos/macro/drain with storage mq:tmp fire execute if data storage mq:tmp fire.c run data modify storage mq:main video.armed set value 1b execute if data storage mq:tmp fire.c run data remove storage mq:main video.cmdq[0] # 큐가 비었고 직전에 켠 블록이 있으면 한 번만 꺼서 재실행을 막는다. execute unless data storage mq:tmp fire.c if data storage mq:main {video:{armed:1b}} run function mq:videos/macro/drain_off with storage mq:main video execute unless data storage mq:tmp fire.c run data modify storage mq:main video.armed set value 0b