월드 cmd block 의존 (redstone_block/red_wool 펄스) 을 제거하고
btn.mcfunction 이 직접 summon 하도록 변경.
- buttons=-1 초기화 단계에서 기존 mq/<버튼명> interaction 을 모두
kill 후 정확히 1개를 (x+0.5, y, z+0.5) 에 1f×1f 로 재소환.
/reload 마다 dup 누적 없이 "버튼당 1개, 올바른 좌표" 로 수렴.
- /reload → load → commands/stop 이 buttons 점수를 -1 로 재설정 →
다음 tick 에 ensure 로직 실행. /kill @e 후에도 /reload 한 번으로 복구.
- stone_button 직접 감지 fallback 및 잉여 state machine (1→2→0)
제거. 클릭 경로는 interaction 단일화 → trigger 투표 흐름 보존.
- README 의 버튼 본체 설명을 새 구조로 갱신.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
minecraft_launcher 가 만드는 musicquiz 리소스팩 (track_NN / cover_NN)
과 한 쌍으로 동작한다.
- 음원 재생: yp playall (명령 블록 + auto 토글) → /playsound musicquiz:track_NN
- 정답 이미지: ts placeloc → /summon painting (musicquiz:cover_NN) +
/kill @e[type=painting,tag=mq_cover]
- stopsound 하드코딩(weather) 4곳을 mq:quiz/stop_sound 매크로 호출로 통일
- check/server, repeat/check_server, status 스코어보드(yp/ts/skript) 등
플러그인 hello 패킷 대기 로직 일괄 삭제
- 스토리지 재구성: command_block 컴파운드 폐기, audio/image/marker 분리
(init/config.mcfunction 한 곳에서 수정)
- 곡 단위 volume override 지원 — songs[i].volume 으로 곡별 음량 지정 가능
(미지정 시 audio.volume fallback)
- 트랙 번호 zero-pad 는 mq:tmp.pad 분기 + 매크로 문자열 조립으로 처리
- max_index 는 songs 배열 길이에서 자동 계산
- 호출 경로 단축: select → setanswer → macro/setanswer → macro/summon →
play_sound
- 주제(title), 곡 개수(max_index), 스폰 위치, 음원 명령 블록 좌표/볼륨,
이미지 표시 영역 좌표를 모두 init/config.mcfunction 에서 관리
- tellraw 접두사([ … ])가 storage 의 title 을 참조하도록 변경 — 주제
변경 시 config 한 줄만 고치면 채팅 접두사까지 일관 적용
- load.mcfunction 의 인라인 data merge 블록을 제거하고 init/config 호출로
대체 (스코어보드/보스바 같은 런타임 인프라는 load 본문에 유지)
- README 의 "곡 목록 수정" 절을 "설정 (한 곳에서 수정)" 으로 재작성
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>