정답 입력 UI 를 dialog 로 제공 (mq:dialog/answer), #minecraft:quick_actions 태그 등록으로 빠른행동키에서 바로 열 수 있게 함. 동시 제출 시 먼저 제출한 사람이 정답으로 인정되도록 mq:answer/ 에 submit_seq 기반 FIFO 큐 + 매크로 기반 제출자 lookup 으로 처리. tick/stop/setanswer 도 새 큐 흐름에 맞춰 업데이트.
27 lines
1.3 KiB
MCFunction
27 lines
1.3 KiB
MCFunction
# 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
|
|
scoreboard players set replay buttons -1
|
|
|
|
# 이전 문제의 미처리 정답 입력 정리 + 새 문제의 input trigger 활성화
|
|
data remove storage mq:input queue
|
|
scoreboard players reset @a submit_seq
|
|
scoreboard players set seq func.temp 0
|
|
scoreboard players enable @a input
|
|
|
|
# 정답 입력 안내 (클릭 시 trigger input → tick 에서 dialog 오픈)
|
|
function mq:tellraw {"text":"","color":"black",msg:[{"text":"[ 정답 입력 ]","color":"green","bold":true,"click_event":{"action":"run_command","command":"/trigger input set 1"},"hover_event":{"action":"show_text","value":{"text":"클릭하여 정답 입력창 열기","color":"gray"}}}]}
|
|
|
|
scoreboard players set init main 5
|
|
|
|
function mq:quiz/play_sound
|