- quiz/setanswer.mcfunction: 클릭형 tellraw 제거. dialog/`/trigger input` 인프라는 유지하여 모드 없는 환경 fallback. - 외부 모드 검증 (load/login/start): - mq_chat_mod: 서버 전용 모드 (mc_chat_answer_mod) — `#server mq_chat_mod` fake holder 로 서버 presence 검증. - mq_video_mod: 클라이언트 렌더링 모드 (mc_video_player_mod) — 같은 objective 안에 `#server` (서버 컴포넌트 매 tick 갱신) + `<player>` (클라 payload 수신 시 갱신) 두 holder 로 server/client 부재 안내 분리. - start.mcfunction: server presence 우선 검사 → per-player client presence 검사. unset 매치 안 되는 selector 이슈는 `add @a ... 0` 으로 materialize. - login.mcfunction: 플레이어 join 시 `mq_video_mod=0` 초기화 (stale 1 방지). - docs/mc_video_player_mod_integration.md: video mod 측 구현 사양 (서버 컴포넌트 매 tick presence pulse + client payload handshake, 주기 재전송 필수 명시). Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
26 lines
1.1 KiB
MCFunction
26 lines
1.1 KiB
MCFunction
# songs[$(idx)] → answer 로 복사하고, 트랙/커버 id 부여
|
|
function mq:quiz/macro/setanswer with storage mq:tmp
|
|
|
|
# 정답 marker entity 소환 (좌표 + name/alias 합쳐서 macro 호출)
|
|
data modify storage mq:tmp marker_call set from storage mq:main marker
|
|
data modify storage mq:tmp marker_call.name set from storage mq:main answer.title
|
|
data modify storage mq:tmp marker_call.alias set from storage mq:main answer.alias
|
|
function mq:quiz/macro/summon with storage mq:tmp marker_call
|
|
|
|
scoreboard players set stop buttons -1
|
|
scoreboard players set skip buttons -1
|
|
scoreboard players set hint buttons -1
|
|
scoreboard players set replay buttons -1
|
|
|
|
# 이전 문제의 미처리 정답 입력 정리 + 새 문제의 input trigger 활성화
|
|
# input trigger 는 유지 (mod 없는 환경에서 /trigger input 으로 dialog 열기 가능).
|
|
# 채팅 안내 메시지는 제거 — mc_chat_answer_mod 가 채팅 직접 입력을 처리함.
|
|
data remove storage mq:input queue
|
|
scoreboard players reset @a submit_seq
|
|
scoreboard players set seq func.temp 0
|
|
scoreboard players enable @a input
|
|
|
|
scoreboard players set init main 5
|
|
|
|
function mq:quiz/play_sound
|