music_quiz: 무대 의존 제거 + 정적 데이터 스토리지화 + 매 틱 게이팅

- 무대 한정 코드 제거: repeat/map/ (트리/조명), images/image_custom (파이브가이즈),
  load.mcfunction의 map 스코어보드·fill·counter 초기화
- 매 틱 디스패치를 init 상태로 게이팅:
  · timer는 init>=2, check_answer는 init in {5,6}에서만 호출
  · idle(init=0) 틱의 함수 호출 8개 → 4개
- 곡 50개를 매크로 체인(250+ 명령/회) → 스토리지 리스트 O(1) 룩업으로 전환
  mq:init/songs가 mq:main.songs를 적재, setanswer는 index-1로 인덱스 룩업
- 버튼/트리거 정의를 mq:init/buttons / mq:init/triggers로 분리해
  mq:main.button_defs · trigger_defs 스토리지 리스트로 관리
- repeat/triggers/trigger.mcfunction: 투표 후처리 산술 블록 중 변하지 않는
  max_player·rest_player 재계산 제거, $(n)_player 갱신만 1라인
- 작가용 메모 수정.txt 제거
- README.md: 변경 사항·새 구조·스토리지 스키마 반영

566 lines -, 154 lines +.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
Claude (owner)
2026-05-13 15:45:35 +09:00
parent b1babad05a
commit 2b61af28a8
16 changed files with 212 additions and 561 deletions

View File

@@ -30,11 +30,15 @@ data merge storage mq:main { \
} \
}
data merge storage func:temp {}
data merge storage mq:tmp {}
function mq:init/songs
function mq:init/buttons
function mq:init/triggers
scoreboard objectives remove func.temp
scoreboard objectives remove status
scoreboard objectives remove main
scoreboard objectives remove map
scoreboard objectives remove buttons
scoreboard objectives remove answer
scoreboard objectives remove leave_game
@@ -42,7 +46,6 @@ scoreboard objectives remove leave_game
scoreboard objectives add func.temp dummy
scoreboard objectives add status dummy
scoreboard objectives add main dummy
scoreboard objectives add map dummy
scoreboard objectives add buttons dummy
scoreboard objectives add answer dummy
scoreboard objectives add leave_game custom:leave_game
@@ -53,9 +56,6 @@ scoreboard players set yp status 0
scoreboard players set ts status 0
scoreboard players set two func.temp 2
scoreboard players set tree map -1
fill 94 78 -279 194 78 -279 minecraft:red_wool
scoreboard players set lamp1 map -1
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}]