(a) interaction 박스가 stone_button hitbox 와 겹쳐 있어서 한 번 클릭에
interaction 도 발화하고 stone_button 도 vanilla 클릭으로 인식되어
powered=true 애니메이션이 같이 일어나던 문제. interaction 박스를 버튼
면 바깥쪽으로 한 두께(0.125) 만큼 빼서 ray 가 stone_button 에 닿기
전에 interaction 에서 멈추도록.
south z: 0.0625 → -0.0625, north z: 0.9375 → 1.0625
east x: 0.0625 → -0.0625, west x: 0.9375 → 1.0625
(b) MC 1.20.5+ 부터 text_display.text 는 String 이 아닌 직접 TextComponent
compound. 이전에 String 안에 JSON 을 넣어서 그 JSON 자체가 텍스트로
렌더링되던 문제 (`{"text":"게임시작",...}` 가 그대로 보임). compound
형태 `text:{text:"...",color:"...",font:"..."}` 로 변경.
temp/ 부분 적용 패키지의 btn.mcfunction 과 README 도 동기화.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
60 lines
2.3 KiB
Markdown
60 lines
2.3 KiB
Markdown
# v1.0.20 → v1.0.21 부분 적용 가이드
|
|
|
|
전체 datapack 을 교체하지 않고, 이 폴더의 파일만 덮어쓰면 v1.0.21 과 동일한 상태가 됩니다.
|
|
|
|
## 무엇이 바뀌었나
|
|
|
|
### 1. `repeat/buttons/btn.mcfunction` — 버튼이 같이 눌러지던 문제 + 라벨이 JSON 코드로 나오던 문제
|
|
|
|
**(a) 클릭 시 stone_button 도 같이 눌러짐**
|
|
|
|
interaction 박스가 stone_button 의 hitbox 와 정확히 겹쳐 있어서, 한 번
|
|
클릭에 interaction 도 발화하고 stone_button 도 vanilla 클릭으로 인식해
|
|
`powered=true` 애니메이션이 같이 일어났습니다. interaction 박스를 버튼
|
|
면 바깥쪽으로 한 두께(0.125) 만큼 빼서, 플레이어 ray 가 stone_button 에
|
|
닿기 전에 interaction 에서 멈추도록 했습니다.
|
|
|
|
- south : 깊이 z 중심 0.0625 → -0.0625
|
|
- north : 깊이 z 중심 0.9375 → 1.0625
|
|
- east : 깊이 x 중심 0.0625 → -0.0625
|
|
- west : 깊이 x 중심 0.9375 → 1.0625
|
|
|
|
**(b) 라벨이 `{"text":"게임시작",...}` JSON 텍스트 그대로 보임**
|
|
|
|
MC 1.20.5+ 부터 text_display 의 `text` 필드는 String 이 아니라 직접
|
|
TextComponent compound 로 저장됩니다. 이전에는 String 안에 JSON 을 넣어서
|
|
(`text:'{...}'`) 그 JSON 자체가 텍스트로 렌더링되었습니다. compound 형태
|
|
(`text:{text:"...",color:"...",font:"..."}`) 로 변경.
|
|
|
|
### 2. `repeat/buttons/btn_prep.mcfunction`
|
|
|
|
v1.0.20 에서 이미 수정됨 (defaults + merge 방식). 변경 없음 — 다만
|
|
v1.0.19 이하에서 점프하는 경우 같이 덮어써야 합니다.
|
|
|
|
## 적용 방법
|
|
|
|
서버의 datapack 폴더 (예: `world/datapacks/music_quiz/`) 기준으로 두 파일을
|
|
**반드시 덮어쓰세요**.
|
|
|
|
```
|
|
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 (덮어쓰기)
|
|
```
|
|
|
|
복사 후 게임 안에서:
|
|
|
|
```
|
|
/reload
|
|
```
|
|
|
|
## 확인
|
|
|
|
- 버튼을 클릭해도 stone_button 의 `powered=true` 눌림 애니메이션이
|
|
발생하지 않아야 합니다 (interaction 만 발화).
|
|
- 버튼 아래 라벨이 `게임시작` / `정지` / `소리 테스트` 등으로 정상 표시
|
|
(JSON 텍스트 노출 없음).
|
|
- 콘솔에 파싱 에러 없음.
|