diff --git a/music_quiz/data/mq/function/commands/stop.mcfunction b/music_quiz/data/mq/function/commands/stop.mcfunction index f328905..5c73664 100644 --- a/music_quiz/data/mq/function/commands/stop.mcfunction +++ b/music_quiz/data/mq/function/commands/stop.mcfunction @@ -60,12 +60,11 @@ bossbar set mq:process visible false bossbar set mq:process style notched_10 bossbar set mq:process players @a -# 대기 상태 marker 1개만 소환 (answer.title="음악퀴즈" 가 sentinel) +# 대기 상태로 answer 초기화 data modify storage mq:main answer set value {title:"음악퀴즈", alias:[]} -data modify storage mq:tmp marker_call set from storage mq:main marker -data modify storage mq:tmp marker_call.name set value "음악퀴즈" -data modify storage mq:tmp marker_call.alias set value [] -function mq:quiz/macro/summon with storage mq:tmp marker_call + +# 이전 버전이 남긴 legacy marker 정리 (현재는 marker 사용 안 함) +kill @e[type=minecraft:marker,tag=mq] function mq:quiz/stop_sound function mq:images/clear diff --git a/music_quiz/data/mq/function/init/config.mcfunction b/music_quiz/data/mq/function/init/config.mcfunction index b1fde5d..1c0e594 100644 --- a/music_quiz/data/mq/function/init/config.mcfunction +++ b/music_quiz/data/mq/function/init/config.mcfunction @@ -6,10 +6,12 @@ data modify storage mq:main spawn set value {x: 144, y: 61, z: -219, r: 180, f: # 음원 재생 — minecraft_launcher 리소스팩의 musicquiz:track_NN 사운드 이벤트 # namespace — 리소스팩 네임스페이스 (기본 "musicquiz") -# source — /playsound 채널. stopsound 와 동일해야 함 (기본 "weather") +# source — /playsound 채널. stopsound 와 동일해야 함. 노래는 "player" 채널로 +# 재생 (음성/플레이어 채널 슬라이더로 음량 제어). 타이머/UI 비프는 +# 별도로 weather 채널 사용. # volume — 기본 음량. 곡별 override 는 init/songs.mcfunction 의 volume 필드 사용 # pitch — 1.0 = 원본 속도 -data modify storage mq:main audio set value {namespace: "musicquiz", source: "weather", volume: 1.0, pitch: 1.0} +data modify storage mq:main audio set value {namespace: "musicquiz", source: "player", volume: 1.0, pitch: 1.0} # 정답 페인팅 — 데이터팩의 mq:cover_NN painting_variant (텍스처는 리소스팩 musicquiz:cover_NN) # namespace — painting_variant 네임스페이스 (기본 "mq") @@ -17,7 +19,4 @@ data modify storage mq:main audio set value {namespace: "musicquiz", source: "we # facing — 페인팅이 바라보는 방향: south=0 / west=1 / north=2 / east=3 data modify storage mq:main image set value {namespace: "mq", x: 144, y: 84, z: -261, facing: 0b} -# 정답 입력용 marker entity 소환 좌표 -data modify storage mq:main marker set value {x: 144, y: 59, z: -219} - # 곡 개수 max_index 는 init/songs.mcfunction 의 길이로 자동 계산됨 diff --git a/music_quiz/data/mq/function/quiz/macro/summon.mcfunction b/music_quiz/data/mq/function/quiz/macro/summon.mcfunction deleted file mode 100644 index ecade67..0000000 --- a/music_quiz/data/mq/function/quiz/macro/summon.mcfunction +++ /dev/null @@ -1,9 +0,0 @@ -$execute unless data storage mq:main {answer:{title:"음악퀴즈"}} run summon minecraft:marker $(x) $(y) $(z) {Tags:["mq","default"],CustomName:"정답입력시작"} -$summon minecraft:marker $(x) $(y) $(z) {Tags:["mq","default"],CustomName:"$(name)"} - -execute store result score length func.temp run data get storage mq:tmp marker_call.alias -execute if score length func.temp matches 1.. run data modify storage mq:tmp marker_call.name set from storage mq:tmp marker_call.alias[0] -execute if score length func.temp matches 1.. run data remove storage mq:tmp marker_call.alias[0] -execute if score length func.temp matches 1.. run function mq:quiz/macro/summon2 with storage mq:tmp marker_call - -$execute unless data storage mq:main {answer:{title:"음악퀴즈"}} run summon minecraft:marker $(x) $(y) $(z) {Tags:["mq","default"],CustomName:"정답입력종료"} diff --git a/music_quiz/data/mq/function/quiz/macro/summon2.mcfunction b/music_quiz/data/mq/function/quiz/macro/summon2.mcfunction deleted file mode 100644 index 062d8e1..0000000 --- a/music_quiz/data/mq/function/quiz/macro/summon2.mcfunction +++ /dev/null @@ -1,6 +0,0 @@ -$summon minecraft:marker $(x) $(y) $(z) {Tags:["mq","default"],CustomName:"$(name)"} - -execute store result score length func.temp run data get storage mq:tmp marker_call.alias -execute if score length func.temp matches 1.. run data modify storage mq:tmp marker_call.name set from storage mq:tmp marker_call.alias[0] -execute if score length func.temp matches 1.. run data remove storage mq:tmp marker_call.alias[0] -execute if score length func.temp matches 1.. run function mq:quiz/macro/summon2 with storage mq:tmp marker_call diff --git a/music_quiz/data/mq/function/quiz/setanswer.mcfunction b/music_quiz/data/mq/function/quiz/setanswer.mcfunction index f77094a..d2234ae 100644 --- a/music_quiz/data/mq/function/quiz/setanswer.mcfunction +++ b/music_quiz/data/mq/function/quiz/setanswer.mcfunction @@ -1,12 +1,6 @@ # 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