From a8d09ece0214538d98ffeba2a2caf39aef621e20 Mon Sep 17 00:00:00 2001 From: "Claude (owner)" Date: Sat, 16 May 2026 23:44:00 +0900 Subject: [PATCH] =?UTF-8?q?music=5Fquiz:=20marker=20=EC=97=94=ED=8B=B0?= =?UTF-8?q?=ED=8B=B0=20=EC=A0=9C=EA=B1=B0=20+=20=EB=85=B8=EB=9E=98=20?= =?UTF-8?q?=EC=9E=AC=EC=83=9D=20=EC=B1=84=EB=84=90=EC=9D=84=20player=20?= =?UTF-8?q?=EB=A1=9C=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## marker 제거 모든 marker 소환 코드는 write-only — 어디에서도 @e[type=marker] / tag=default selector 로 읽거나 죽이지 않았음. interaction 엔티티가 클릭 UI 를 대체한 이후 완전히 쓸모없는 잔존물. - 삭제: quiz/macro/summon.mcfunction, quiz/macro/summon2.mcfunction (소비처 없음) - commands/stop.mcfunction: marker_call 빌드 + macro 호출 제거. 기존 월드에 누적된 legacy marker 청소를 위해 `kill @e[type=minecraft:marker,tag=mq]` 한 줄 추가 (tag=mq 스코프라 외부 마커는 건드리지 않음). - quiz/setanswer.mcfunction: 정답 marker 소환 블록 제거. - init/config.mcfunction: marker 좌표 템플릿 (mq:main marker) 제거. `answer.title="음악퀴즈"` 대기상태 sentinel 은 marker 외에 reader 가 없지만 다른 reset 의미를 가질 가능성을 고려해 보수적으로 유지. ## 노래 재생 채널을 player 로 init/config.mcfunction: mq:main audio.source 를 "weather" → "player". play_sound / stop_sound 매크로 모두 동일 source 값을 읽으므로 한 곳 변경으로 모든 노래 재생/정지 채널이 player 채널로 이동. 음악/마스터/플레이어 슬라이더 중 "player" (음성) 슬라이더로 노래 음량 제어 가능. 타이머 비프 / UI 클릭음 등은 "노래 재생" 이 아니므로 weather 채널 그대로 유지. --- music_quiz/data/mq/function/commands/stop.mcfunction | 9 ++++----- music_quiz/data/mq/function/init/config.mcfunction | 9 ++++----- music_quiz/data/mq/function/quiz/macro/summon.mcfunction | 9 --------- .../data/mq/function/quiz/macro/summon2.mcfunction | 6 ------ music_quiz/data/mq/function/quiz/setanswer.mcfunction | 6 ------ 5 files changed, 8 insertions(+), 31 deletions(-) delete mode 100644 music_quiz/data/mq/function/quiz/macro/summon.mcfunction delete mode 100644 music_quiz/data/mq/function/quiz/macro/summon2.mcfunction 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