리뷰어 지적 후속:
- docs/mc_video_player_mod_integration.md 복구 (f0a2e4f 에서 추출).
pull 시점에 main 에 없어서 같이 사라졌던 파일.
- temp/ 부분 적용 패키지 v1.0.26 기준으로 복구. 좌표 보존을 위해
init/*.mcfunction 은 일부러 제외, framework 파일만 포함:
- commands/start.mcfunction, load.mcfunction (모드 게이트 + objective)
- repeat/buttons/{btn,btn_prep,handler}.mcfunction
- repeat/timer.mcfunction + repeat/timers/{init2,init6,init10}.mcfunction
- temp/README.md 에 적용 방법 + 라벨 추가 안내 명시.
- README.md 사실 정정:
- 음원 채널 "기본 weather" → 실제 config.mcfunction 은 player
(UI 비프만 weather). source 가 무엇이 무엇인지 명시.
- 스토리지 섹션의 marker 항목 제거 (현재 config 에 marker 정의 없음,
legacy kill 한 줄만 잔존). mq:input 큐 추가, mq:tmp 페이로드 갱신.
- init/config.mcfunction 설명 / 좌표 의존성 섹션에서 marker 제거.
데이터팩 코드 변경 없음 — v1.0.25 = v1.0.26 동작 동일.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
부분 적용 가이드 (→ v1.0.26)
전체 datapack zip 을 새로 풀지 않고, 이 폴더의 파일만 같은 경로에
덮어쓰면 v1.0.26 와 동일한 동작이 됩니다. 본인 월드 좌표·곡 목록 등이
들어 있는 init/*.mcfunction 은 일부러 포함하지 않았습니다 — 덮어쓰면
좌표가 날아가니까요.
v1.0.26 = v1.0.25 + 문서 정리
v1.0.26 자체에는 데이터팩 동작 변경이 없습니다. 변경 사항:
- 삭제됐던
docs/mc_video_player_mod_integration.md복구. - 루트
README.md의 오류 정정:- 음원 채널
weather→ 실제는player(UI 비프만weather) 로 정정. - 폐기된
marker스토리지/엔티티 설명을 “legacy 정리용” 으로 정리.
- 음원 채널
temp/부분 적용 패키지 v1.0.26 기준으로 복구 (이 폴더).
v1.0.25 의 데이터팩 코드를 이미 쓰고 있다면 mods · 데이터팩 변경 없이 끝납니다. 이 폴더를 적용해야 하는 건 v1.0.25 이전 버전에서 올라오는 경우 입니다.
같이 들어 있는 누적 fix (v1.0.19 ~ v1.0.25)
버튼 인프라 (repeat/buttons/)
btn.mcfunction/btn_prep.mcfunction/handler.mcfunction- v1.0.20:
positioned $(x).0 $(y).0 $(z).0(정수 vec3 의 자동 +0.5 보정 회피),btn_prep의merge fromdefaults 패턴 (execute unless data storage ...파서 거부 회피). - v1.0.21: interaction 3 타일 분할 (
width × width정사각형 강제 회피),text_display도입, text component 직접 표기 (1.20.5+ JSON string 렌더 회피). - v1.0.24: interaction 깊이 부호 정정 (벽 안 → 플레이어 쪽),
text_displayY 위치 보정, 라벨 bold. - v1.0.25: hitbox 미세조정 (가운데 타일 폭 0.13, height 0.26, 깊이
0.07/0.93, text_display Y
~-0.5), 셀렉터 정렬 통일.
모드 게이트 (commands/start.mcfunction + load.mcfunction)
- v1.0.23 / v1.0.25:
#server mq_chat_mod점수로mc_chat_answer_mod설치 검증,#server mq_video_mod+<player> mq_video_mod점수로mc_video_player_mod서버/클라 설치 검증. 미설치 시 사유와 함께 차단. load.mcfunction이 objective 생성 +#server0 materialize.
타이머 분할 (repeat/timer.mcfunction + repeat/timers/)
- v1.0.25: 큰
timer.mcfunction을 init 단계별 (init2카운트다운,init6다음 곡,init10엔딩) 서브함수로 분할.timer.mcfunction은 init 게이팅만 하고 각 서브를 호출.
적용 방법
1. 모드 jar 확인 (이미 설치돼 있으면 skip)
mc_chat_answer_modv1.3.7+ : 서버 mods 폴더. https://git.tkrmagid.kr/tkrmagid/mc_chat_answer_mod/releases/tag/v1.3.7mc_video_player_mod: 서버 mods + 클라이언트 mods 양쪽 설치 필요.
2. 데이터팩 파일 덮어쓰기
서버의 datapack 폴더 (예: world/datapacks/music_quiz/) 기준으로 이 폴더
아래 파일을 같은 경로에 덮어쓰세요.
temp/data/mq/function/commands/start.mcfunction
-> <datapack>/data/mq/function/commands/start.mcfunction
temp/data/mq/function/load.mcfunction
-> <datapack>/data/mq/function/load.mcfunction
temp/data/mq/function/repeat/buttons/btn.mcfunction
-> <datapack>/data/mq/function/repeat/buttons/btn.mcfunction
temp/data/mq/function/repeat/buttons/btn_prep.mcfunction
-> <datapack>/data/mq/function/repeat/buttons/btn_prep.mcfunction
temp/data/mq/function/repeat/buttons/handler.mcfunction
-> <datapack>/data/mq/function/repeat/buttons/handler.mcfunction
temp/data/mq/function/repeat/timer.mcfunction
-> <datapack>/data/mq/function/repeat/timer.mcfunction
temp/data/mq/function/repeat/timers/init2.mcfunction
-> <datapack>/data/mq/function/repeat/timers/init2.mcfunction
temp/data/mq/function/repeat/timers/init6.mcfunction
-> <datapack>/data/mq/function/repeat/timers/init6.mcfunction
temp/data/mq/function/repeat/timers/init10.mcfunction
-> <datapack>/data/mq/function/repeat/timers/init10.mcfunction
repeat/timers/ 폴더는 없을 수도 있습니다 — 그 경우 새로 생성하고 안에
파일 3 개를 넣으세요.
3. (옵션) 버튼에 라벨 표시하고 싶으면 init/buttons.mcfunction 편집
좌표를 건들지 않기 위해 init/buttons.mcfunction 은 포함하지 않았습니다.
직접 편집해서 각 button_defs 항목에 label 필드를 추가하면 됩니다.
옵션 필드는 label, label_color (기본 black), label_font (기본
minecraft:default), label_scale (기본 "1.0").
data modify storage mq:main button_defs append value {n:"start", x:..., y:..., z:..., f:"south", c:"function mq:commands/start with storage mq:main", label:"게임시작"}
4. /reload
/reload
확인
- 콘솔에
btn_prep/btn파싱 에러 없음. - 버튼 클릭 시 stone_button powered 애니메이션 발생하지 않음 (interaction 박스가 한 두께 바깥에서 ray 를 가로채므로).
- 라벨이 버튼 바로 아래 벽면에 굵게 표시.
- 채팅정답 / 영상재생 모드 미설치 시
/start가 사유 메시지와 함께 차단. - 모드 둘 다 정상 설치되어 있으면
/start정상 진행.