## 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 채널 그대로 유지.
71 lines
2.3 KiB
MCFunction
71 lines
2.3 KiB
MCFunction
scoreboard players set index main 0
|
|
$scoreboard players set max_index main $(max_index)
|
|
scoreboard players set score main 0
|
|
scoreboard players set init main 0
|
|
scoreboard players set timer main 0
|
|
|
|
scoreboard players set start buttons -1
|
|
scoreboard players set stop buttons -1
|
|
scoreboard players set skip buttons -1
|
|
scoreboard players set hint buttons -1
|
|
scoreboard players set replay buttons -1
|
|
scoreboard players set test buttons -1
|
|
|
|
scoreboard players reset @a answer
|
|
|
|
# 정답 입력 큐 / 제출 순번 초기화
|
|
data remove storage mq:input queue
|
|
scoreboard players reset @a submit_seq
|
|
scoreboard players set seq func.temp 0
|
|
|
|
# 트리거 시작
|
|
scoreboard objectives remove ready
|
|
scoreboard objectives add ready trigger
|
|
|
|
scoreboard objectives remove cancel
|
|
scoreboard objectives add cancel trigger
|
|
|
|
scoreboard objectives remove stop
|
|
scoreboard objectives add stop trigger
|
|
|
|
scoreboard objectives remove skip
|
|
scoreboard objectives add skip trigger
|
|
|
|
scoreboard objectives remove hint
|
|
scoreboard objectives add hint trigger
|
|
|
|
scoreboard objectives remove replay
|
|
scoreboard objectives add replay trigger
|
|
|
|
scoreboard objectives remove input
|
|
scoreboard objectives add input trigger
|
|
# 트리거 끝
|
|
|
|
# 제출자 식별용 순번 점수 (queue entry 의 seq 와 매칭)
|
|
scoreboard objectives remove submit_seq
|
|
scoreboard objectives add submit_seq dummy
|
|
|
|
scoreboard objectives setdisplay sidebar
|
|
scoreboard objectives remove score
|
|
scoreboard objectives add score dummy {"text":"점수","bold":true}
|
|
scoreboard objectives setdisplay sidebar score
|
|
|
|
dialog clear @a
|
|
|
|
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 max $(max_index)
|
|
bossbar set mq:process value 0
|
|
bossbar set mq:process color pink
|
|
bossbar set mq:process visible false
|
|
bossbar set mq:process style notched_10
|
|
bossbar set mq:process players @a
|
|
|
|
# 대기 상태로 answer 초기화
|
|
data modify storage mq:main answer set value {title:"음악퀴즈", alias:[]}
|
|
|
|
# 이전 버전이 남긴 legacy marker 정리 (현재는 marker 사용 안 함)
|
|
kill @e[type=minecraft:marker,tag=mq]
|
|
|
|
function mq:quiz/stop_sound
|
|
function mq:images/clear
|