Addon Bedrock là một file zip, và manifest chính là lý do nó thất bại
Hầu hết các file .mcaddon bị từ chối đều là zip hợp lệ với một dòng tiêu đề sai, và thông báo lỗi không bao giờ nêu tên trường đã làm hỏng nó.
Một .mcaddon là một file lưu trữ zip với phần mở rộng khác, và trò chơi từ chối nó vì những lý do không liên quan gì đến zip. Thủ phạm thường gặp là manifest.json — một file nhỏ với phần tiêu đề mà hai UUID của nó phải khác nhau và format_version của nó không phải là phiên bản trò chơi bạn đang nhắm tới.
Hai UUID, không bao giờ trùng nhau
Một manifest mang một header và một mảng modules. Mỗi cái cần uuid riêng, và dùng lại một cái cho cả hai là lỗi từ chối phổ biến nhất:
{
"format_version": 2,
"header": {
"name": "My Pack",
"description": "Example",
"uuid": "aaaaaaaa-0000-0000-0000-000000000000",
"version": [1, 0, 0],
"min_engine_version": [1, 21, 0]
},
"modules": [
{
"type": "data",
"uuid": "bbbbbbbb-0000-0000-0000-000000000001",
"version": [1, 0, 0]
}
]
}
UUID là các giá trị 128-bit được viết dưới dạng 32 chữ số hex trong năm nhóm ngăn cách bởi dấu gạch nối. Bất kỳ trình tạo nào cũng được; trùng lặp thì không. version và min_engine_version là mảng ba số nguyên, không phải chuỗi — "1.0.0" thất bại âm thầm trên một số bản dựng.
Java hoàn toàn không có manifest
Đây là sự khác biệt khiến người ta vấp ngã khi chuyển đổi giữa các phiên bản. Một resource pack Java đi kèm pack.mcmeta với một số nguyên pack_format. Bedrock đi kèm manifest.json với các UUID và một danh sách module. Không file nào được phiên bản kia đọc, và một pack không thể được chuyển đổi bằng cách đổi tên file lưu trữ.
Kiểm tra trước khi nhập
Giải nén file lưu trữ và xem ở cấp cao nhất. Một pack bị lồng sâu một thư mục — MyPack/manifest.json thay vì manifest.json — sẽ nhập vào như không có gì cả, mà không có lỗi. Manifest phải nằm cạnh nội dung textures/ hoặc behavior_packs/ mà nó mô tả.
Block model là một định dạng riêng
Một JSON block-model của Java không phải là file geometry của Bedrock, và hai định dạng này không hoán đổi cho nhau:
| Block model Java | Geometry Bedrock | |
|---|---|---|
| Khóa gốc | elements | minecraft:geometry |
| Tọa độ | 0–16 mỗi block | 0–16 mỗi block |
| Texture | bản đồ textures | bản đồ materials |
Cả hai đều biểu diễn một lưới khối lập phương 16 đơn vị mỗi block, đó là lý do một model được tạo ra trông đúng ở định dạng này nhưng nhập vào định dạng kia lại thành một hình rỗng.
Tên registry không hoán đổi cho nhau được
Bedrock và Java không đồng ý về các định danh cho cùng một nội dung. Một pack tham chiếu tên Java cho một enchantment, effect hoặc biome sẽ tải lên rồi âm thầm không làm gì cả, vì tên đó không phân giải được thành mục nào. Bản thân các registry khác nhau về kích thước giữa các phiên bản, nên một pack được viết dựa trên danh sách của một phiên bản không thể được coi là đầy đủ ở phiên bản kia.
Hãy xác thực manifest, kiểm tra bố cục file lưu trữ và tạo một block model trong Bedrock & Pack Tools.