Addon Bedrock là một tệp zip, và manifest chính là lý do nó thất bại
Hầu hết các tệp .mcaddon bị từ chối đều là tệp 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 đã gây ra lỗi.
Một .mcaddon là một tệp 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 tệp nhỏ chứa UUID tiêu đề và UUID mô-đun phải khác nhau, cùng một format_version 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 chung 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ố thập lục phân trong năm nhóm ngăn cách bởi dấu gạch nối. Dùng trình tạo nào cũng được; nhưng 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" sẽ bị từ chối.
Java hoàn toàn không có manifest
Đây chính là điểm khác biệt khiến người ta lúng túng khi chuyển đổi giữa các phiên bản. Một gói tài nguyên Java đi kèm một pack.mcmeta khai báo các định dạng mà nó hỗ trợ (min_format và max_format trên các phiên bản hiện tại). Bedrock đi kèm manifest.json với các UUID và danh sách mô-đun. Không phiên bản nào đọc tệp của phiên bản kia, và không thể chuyển đổi một gói bằng cách đổi tên tệp lưu trữ.
Kiểm tra trước khi nhập
Giải nén tệp lưu trữ và xem ở cấp cao nhất. Một gói 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 báo lỗi. Manifest phải nằm ở thư mục gốc của mỗi gói, bên cạnh các thư mục mà nó mô tả.
Mô hình khối là một định dạng riêng
Một tệp JSON mô hình khối Java không phải là tệp hình học Bedrock, và hai định dạng này không hoán đổi cho nhau được. Một mô hình Java thường chỉ là một parent cộng với một bản đồ textures — danh sách elements các khối hộp chỉ cần thiết cho hình dạng tùy chỉnh — trong khi Bedrock mô tả hình dạng bằng định dạng minecraft:geometry riêng của nó. Cả hai đều đo 16 đơn vị cho một khối, đó là lý do một mô hình có thể trông đúng ở phiên bản này nhưng lại nhập vào như không có gì ở phiên bản kia.
Tên đăng ký không thể hoán đổi cho nhau
Bedrock và Java không đồng nhất về định danh cho cùng một nội dung. Một gói tham chiếu đến tên Java cho một phù phép, hiệu ứng hoặc quần xã sẽ tải lên rồi âm thầm không làm gì cả, vì tên đó không khớp với mục nào. Bản thân các sổ đăng ký cũng khác nhau về kích thước giữa các phiên bản, nên một gói được tạo 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 tệp lưu trữ và tạo mô hình khối trong Bedrock & Pack Tools.