music_quiz: dialog tag entry 에 required:false 추가 — /reload 시 datapack 깨짐 방지
증상:
- /reload 후 다음 에러:
- Couldn't load tag minecraft:quick_actions as it is missing following references: mq:answer
- Failed to load function mq:commands/start (Can't find element 'mq:page1' in registry 'minecraft:dialog')
- Failed to load function mq:answer/open (Can't find element 'mq:answer' ...)
원인:
- MC 의 minecraft:dialog 레지스트리는 hot-reload 불가. /reload 로는 dialog 파일이
registry 에 등록되지 않음 — 서버 완전 재시작이 필요.
- 그 상태에서 tag 가 `["mq:answer"]` 같은 짧은 형식으로 dialog 를 참조하면
MC 는 누락된 reference 로 보고 태그 로드 실패 → 같은 reload 의 function 들이
dialog registry 를 못 찾아 연쇄 실패.
수정:
- quick_actions.json: `"mq:answer"` → `{ "id": "mq:answer", "required": false }`.
required:false 는 reference 가 없을 때 silently 무시하라는 지시. /reload 직후
잠시 dialog registry 가 비어있어도 datapack 자체가 깨지지 않음.
주의 (운영):
- 데이터팩 업데이트 후에는 반드시 서버를 완전 재시작 해야 dialog show 호출이
정상 동작함. /reload 만으로는 dialog 파일이 registry 에 들어가지 않음 — 이건
MC 26.1 시점의 dialog 시스템 자체 제약 (Smithed/Mojang 문서 기준).
This commit is contained in:
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"replace": false,
|
"replace": false,
|
||||||
"values": [
|
"values": [
|
||||||
"mq:answer"
|
{ "id": "mq:answer", "required": false }
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user