Files
mc_datapack/temp/README.md
Claude (owner) d8d5e75e7d v1.0.26: 삭제됐던 docs/temp 복구 + README 사실 정정
리뷰어 지적 후속:
- 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>
2026-05-19 02:53:26 +09:00

5.1 KiB
Raw Permalink Blame History

부분 적용 가이드 (→ 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_prepmerge from defaults 패턴 (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_display Y 위치 보정, 라벨 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 생성 + #server 0 materialize.

타이머 분할 (repeat/timer.mcfunction + repeat/timers/)

  • v1.0.25: 큰 timer.mcfunction 을 init 단계별 (init2 카운트다운, init6 다음 곡, init10 엔딩) 서브함수로 분할. timer.mcfunction 은 init 게이팅만 하고 각 서브를 호출.

적용 방법

1. 모드 jar 확인 (이미 설치돼 있으면 skip)

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 정상 진행.