music_quiz: YP/TS 플러그인 의존 제거, 바닐라 playsound + painting_variant 로 마이그레이션
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
This commit is contained in:
@@ -1,14 +1,20 @@
|
||||
scoreboard players add init main 3
|
||||
scoreboard players set timer main 0
|
||||
|
||||
execute if score index main >= max_index main run return run function mq:quiz/end with storage mq:main
|
||||
|
||||
scoreboard players add index main 1
|
||||
execute store result storage mq:main command_block.index int 1 run scoreboard players get index main
|
||||
|
||||
# 보스바
|
||||
bossbar set mq:process name [{"text":"진행도: ","color": "yellow","bold": true},{"score":{"name":"index","objective": "main"},"color": "yellow","bold": true},{"text":"/","color": "yellow","bold": true},{"score":{"name":"max_index","objective": "main"},"color": "yellow","bold": true}]
|
||||
bossbar set mq:process players @a
|
||||
execute store result bossbar mq:process value run scoreboard players get index main
|
||||
|
||||
function mq:quiz/macro/command_block with storage mq:main command_block
|
||||
# tmp.{idx (0-based, songs[] 인덱스), num (1-based, track_NN), pad ("0"|"")} 구성
|
||||
execute store result storage mq:tmp num int 1 run scoreboard players get index main
|
||||
scoreboard players operation song_idx func.temp = index main
|
||||
scoreboard players remove song_idx func.temp 1
|
||||
execute store result storage mq:tmp idx int 1 run scoreboard players get song_idx func.temp
|
||||
|
||||
execute if score index main matches 1..9 run data modify storage mq:tmp pad set value "0"
|
||||
execute unless score index main matches 1..9 run data modify storage mq:tmp pad set value ""
|
||||
|
||||
function mq:quiz/setanswer
|
||||
|
||||
Reference in New Issue
Block a user