data modify storage mq:main answer set value {title:"", author:"", alias:[]} data merge storage func:temp {} data merge storage mq:tmp {} function mq:init/config function mq:init/songs function mq:init/buttons function mq:init/triggers function mq:tellraw {"text":"서버 리로드 성공!","color":"white","msg":'""'} scoreboard objectives remove func.temp scoreboard objectives remove main scoreboard objectives remove buttons scoreboard objectives remove answer scoreboard objectives remove leave_game scoreboard objectives add func.temp dummy scoreboard objectives add main dummy scoreboard objectives add buttons dummy scoreboard objectives add answer dummy scoreboard objectives add leave_game custom:leave_game # 외부 모드 존재 확인용 점수. # mq_chat_mod : 서버 전용 모드(mc_chat_answer_mod). 모드가 매 server tick # 마다 fake player `#server` 점수를 1 로 set. 모드가 서버에 없으면 0 유지. # mq_video_mod : 클라이언트 모드(mc_video_player_mod). 클라 join 시 서버로 # handshake payload 전송 → 서버 측 모드가 해당 플레이어 점수를 1 로 set. # 클라에 모드가 없으면 0 유지. (login.mcfunction 에서 플레이어별 0 초기화.) scoreboard objectives remove mq_chat_mod scoreboard objectives remove mq_video_mod scoreboard objectives add mq_chat_mod dummy scoreboard objectives add mq_video_mod dummy # /reload 후 모드가 한 tick 도 돌기 전에 start 가 호출될 수 있으니 # #server 점수도 0 으로 materialize. 모드가 살아 있으면 다음 tick 에 1 로 갱신. # mq_video_mod 도 같은 objective 안에서 holder 만 다르게 — `#server` 는 서버 # 컴포넌트 존재 (서버 측 모드가 매 tick 1 로 갱신), `` 는 클라 측 # 존재 (payload 수신 시 1 로 갱신). scoreboard players set #server mq_chat_mod 0 scoreboard players set #server mq_video_mod 0 scoreboard players set two func.temp 2 bossbar add mq:process [{"text":"진행도: ","color": "yellow","bold": true},{"text":"0","color": "yellow","bold": true},{"text":"/","color": "yellow","bold": true},{"text":"0","color": "yellow","bold": true}] function mq:commands/stop with storage mq:main function mq:players/login with storage mq:main spawn