Dữ liệu mô hình tùy chỉnh: Một vật phẩm, nhiều mô hình mà không cần thay thế
Hệ thống mô hình vật phẩm đã thay thế vị từ CustomModelData cũ. Dưới đây là cấu trúc thư mục, JSON ánh xạ giá trị tới mô hình và lý do tại sao họa tiết của bạn hiển thị dưới dạng khối màu tím.
Mô hình vật phẩm tùy chỉnh cho phép máy chủ cấp một "đũa phép" thực chất là một Cần câu gắn cà rốt với mô hình khác. Cơ chế này đã thay đổi, và hầu hết các hướng dẫn vẫn mô tả cơ chế cũ.
Có gì thay đổi
Cách cũ — một khối predicate bên trong tệp mô hình của vật phẩm cơ bản, được khóa bằng custom_model_data dưới dạng một số:
{ "predicate": { "custom_model_data": 1 }, "model": "item/wand" }
Cách hiện tại — một định nghĩa items/ chọn một mô hình:
assets/minecraft/items/carrot_on_a_stick.json
{
"model": {
"type": "minecraft:range_dispatch",
"property": "minecraft:custom_model_data",
"fallback": { "type": "minecraft:model", "model": "minecraft:item/carrot_on_a_stick" },
"entries": [
{ "threshold": 1, "model": { "type": "minecraft:model", "model": "minecraft:item/wand" } }
]
}
}
fallback là hình dạng của một Cần câu gắn cà rốt thông thường. Nếu không có nó, mọi Cần câu gắn cà rốt chưa sửa đổi trên thế giới sẽ biến thành đũa phép của bạn.
Cấu trúc thư mục
pack.mcmeta
assets/minecraft/
├── items/carrot_on_a_stick.json the dispatch
├── models/item/wand.json the model
└── textures/item/wand.png the texture
models/item/wand.json ở dạng đơn giản nhất:
{ "parent": "minecraft:item/generated", "textures": { "layer0": "minecraft:item/wand" } }
Lưu ý đường dẫn họa tiết không có tiền tố textures/ và không có .png — đây là nguyên nhân phổ biến nhất gây ra khối màu tím và đen.
Cấp vật phẩm
/give @p carrot_on_a_stick[custom_model_data={floats:[1]}]
Thành phần này hiện nhận một đối tượng với danh sách có kiểu, không phải một số nguyên trần. custom_model_data=1 là cú pháp cũ và sẽ không làm gì cả.
Tại sao nó hiển thị dưới dạng khối màu tím
Theo thứ tự khả năng:
- Đường dẫn họa tiết sai — bao gồm
textures/hoặc.png, hoặc tệp không nằm ở vị trí mà đường dẫn chỉ ra. - Viết hoa tên tệp — trò chơi phân biệt chữ hoa chữ thường ngay cả khi hệ điều hành của bạn không phân biệt.
pack_formatquá thấp — gói tài nguyên tải nhưng thư mụcitems/bị bỏ qua. Hãy khớp định dạng với phiên bản bạn đang sử dụng.- Nén sai cách —
pack.mcmetaphải nằm ở gốc của tệp zip, không phải bên trong một thư mục trong tệp zip.
Các bộ chọn khác
range_dispatch trên một số chỉ là một lựa chọn. Bạn cũng có thể phân phối dựa trên minecraft:display_context (mô hình khác khi cầm trên tay so với khi đặt trong khung), minecraft:using_item, hoặc minecraft:selected — đây là cách một Cung hiển thị trạng thái đã kéo dây.
Xây dựng JSON phân phối, tệp mô hình và lệnh cấp vật phẩm cùng nhau trong Công cụ Mô hình Tùy chỉnh & Thành phần Vật phẩm.