Files
mc_datapack/music_quiz/data/mq/function/init/config.mcfunction
Claude (owner) f98dd9952b 영상 캐시 기능 추가: 시작 시 미리받기 + 동적 재생 + FIFO 축출 + 주소 / 자동제거
- config 에 preload(미리받기 갯수)/keep(유지 갯수) 추가
- 시작 시 1..preload 캐시 미리받기, 재생 중에도 preload 개 앞까지 롤링 prefetch
- 재생 시 캐시 있으면 video_N, 없으면 전체 URL 로 동적 선택(데이터팩 self-tracking)
- keep 초과 시 가장 먼저 받은 캐시부터 삭제(FIFO)
- namespace 끝 / 자동 제거(normalize)
- command_block 한 tick 1회 발동 제약 회피: cache add/remove 직접 실행, clear 는 schedule

Co-Authored-By: Claude Opus 4 <noreply@anthropic.com>
2026-06-04 22:28:29 +09:00

41 lines
2.5 KiB
MCFunction

# 음악퀴즈 주제 — tellraw 접두사([ 이름 ])와 사이드바 표시에 사용
data modify storage mq:main title set value "음악퀴즈"
# 플레이어 접속 시 텔레포트 위치 (x y z, r=yaw, f=pitch)
data modify storage mq:main spawn set value {x: 2769, y: 85, z: 5963, r: 0, f: 0}
# 음원 재생 — minecraft_launcher 리소스팩의 musicquiz:track_NN 사운드 이벤트
# namespace — 리소스팩 네임스페이스 (기본 "musicquiz")
# source — /playsound 채널. stopsound 와 동일해야 함. 노래는 "record" 채널로
# 재생 (주크박스/소리 블록 채널 슬라이더로 음량 제어).
# volume — 기본 음량. 곡별 override 는 init/songs.mcfunction 의 volume 필드 사용
# pitch — 1.0 = 원본 속도
data modify storage mq:main audio set value {namespace: "musicquiz", source: "record", volume: 1.0, pitch: 1.0}
# 정답 페인팅 — 데이터팩의 mq:cover_NN painting_variant (텍스처는 리소스팩 musicquiz:cover_NN)
# namespace — painting_variant 네임스페이스 (기본 "mq")
# x,y,z — 페인팅 entity 좌표 (벽면 앞쪽 블록 위치)
# facing — 페인팅이 바라보는 방향: south=0 / west=1 / north=2 / east=3
data modify storage mq:main image set value {namespace: "mq", x: 2782, y: 88, z: 5979, facing: 2b}
# 정답 영상 — 모드의 영상 재생 관련
# namespace — 영상 아이디를 제외한 주소 (마지막 / 는 자동으로 제거됨)
# x,y,z — 영상 블럭 좌표 (벽면 앞쪽 블록 위치)
# w,h — 영상 가로세로 크키 (왼쪽아래 기준)
# facing — 영상이 바라보는 방향: south / west / north / east
# sound — 영상 소리 설정 (0~100, 음소거: -1)
# preload — 게임 시작 시 미리 받아둘 영상 캐시 갯수 (1번부터 N번까지).
# 재생 중에도 항상 N개 앞까지 미리 받아둠. 0 이면 미리받기 끔(매번 URL 재생)
# keep — 캐시 유지 갯수(FIFO). 이 값을 넘기면 가장 먼저 받은 캐시부터 삭제.
# 메모리 관리용이므로 preload 보다 크거나 같게 설정 권장
data modify storage mq:main video set value { \
namespace: "https://video.tkrmagid.kr/api/video/1/2", \
cmd_x: 2769, cmd_y: 73, cmd_z: 5965, \
x: 2731, y: 96, z: 6034, facing: "north", w: 25,h: 14, \
sound: -1, \
preload: 5, \
keep: 10 \
}
# 곡 개수 max_index 는 init/songs.mcfunction 의 길이로 자동 계산됨