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,26 +1,23 @@
|
||||
# 음악퀴즈 주제 — tellraw 접두사([ 이름 ])와 사이드바 표시에 사용
|
||||
data modify storage mq:main title set value "음악퀴즈"
|
||||
|
||||
# 곡 개수 — init/songs.mcfunction 의 곡 수와 일치시킬 것
|
||||
data modify storage mq:main max_index set value 50
|
||||
|
||||
# 플레이어 접속 시 텔레포트 위치 (x y z, r=yaw, f=pitch)
|
||||
data modify storage mq:main spawn set value {x: 144, y: 61, z: -219, r: 180, f: 0}
|
||||
|
||||
# 음원 재생용 명령 블록 위치 + 정답 이미지 표시 영역
|
||||
# x,y,z — 명령 블록 좌표
|
||||
# r — 명령 블록 정면 방향 (EAST | WEST | SOUTH | NORTH)
|
||||
# volume — yp playall 명령에 넘기는 음량
|
||||
# x1,y1,z1 — 이미지 표시 영역 한쪽 모서리
|
||||
# x2,y2,z2 — 이미지 표시 영역 반대 모서리
|
||||
data modify storage mq:main command_block set value { \
|
||||
name: "", \
|
||||
image: "", \
|
||||
alias: [], \
|
||||
index: 1, \
|
||||
volume: 30, \
|
||||
x: 144, y: 59, z: -219, \
|
||||
r: "SOUTH", \
|
||||
x1: 131, y1: 77, z1: -262, \
|
||||
x2: 157, y2: 91, z2: -262 \
|
||||
}
|
||||
# 음원 재생 — minecraft_launcher 리소스팩의 musicquiz:track_NN 사운드 이벤트
|
||||
# namespace — 리소스팩 네임스페이스 (기본 "musicquiz")
|
||||
# source — /playsound 채널. stopsound 와 동일해야 함 (기본 "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}
|
||||
|
||||
# 정답 페인팅 — minecraft_launcher 리소스팩의 musicquiz:cover_NN painting_variant
|
||||
# namespace — painting_variant 네임스페이스 (기본 "musicquiz")
|
||||
# x,y,z — 페인팅 entity 좌표 (벽면 앞쪽 블록 위치)
|
||||
# facing — 페인팅이 바라보는 방향: south=0 / west=1 / north=2 / east=3
|
||||
data modify storage mq:main image set value {namespace: "musicquiz", 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 의 길이로 자동 계산됨
|
||||
|
||||
@@ -1,3 +1,9 @@
|
||||
# 곡 한 개 = 한 줄.
|
||||
# 필수 — title, author, alias
|
||||
# 선택 — volume (이 곡만의 /playsound 음량. 미지정시 init/config.mcfunction
|
||||
# 의 audio.volume 사용)
|
||||
# 곡 순서가 리소스팩의 track_NN / cover_NN 인덱스와 1:1 매칭된다.
|
||||
# 예) {title:"Quiet Song", author:"...", alias:[...], volume:2.0}
|
||||
data modify storage mq:main songs set value []
|
||||
data modify storage mq:main songs append value {title:"Lose My Mind", author:"Don Toliver", alias:["루즈 마이 마인드","루스 마이 마인드","ㅣㅐㄴㄷ ㅡㅛ ㅡㅑㅜㅇ"]}
|
||||
data modify storage mq:main songs append value {title:"The Chase", author:"Hearts2Hearts", alias:["더 체이즈","더 체이스","솓 촘ㄴㄷ"]}
|
||||
@@ -49,3 +55,6 @@ data modify storage mq:main songs append value {title:"XOXZ", author:"IVE", alia
|
||||
data modify storage mq:main songs append value {title:"여름이었다", author:"H1-KEY", alias:[]}
|
||||
data modify storage mq:main songs append value {title:"LOV3", author:"식케이", alias:["럽3","ㅣㅐㅍ3"]}
|
||||
data modify storage mq:main songs append value {title:"Drive", author:"Ed Sheeran", alias:["드라이브","ㅇ걒ㄷ"]}
|
||||
|
||||
# 곡 개수는 songs 배열 길이에서 자동 계산됨
|
||||
execute store result storage mq:main max_index int 1 run data get storage mq:main songs
|
||||
|
||||
Reference in New Issue
Block a user