Hướng dẫn / Xây dựng & tài nguyên
Ba đường dẫn texture resource pack thì phẳng. Còn đường dẫn của mob thì lồng nhau, và đó mới chỉ là khởi đầu
Vật phẩm, khối và tranh chỉ nằm sâu một tệp. Mob thì nằm trong thư mục mang tên chính nó — và với phần lớn mob, thư mục đó chứa nhiều tệp, nên việc ghi đè một tệp sẽ âm thầm bỏ sót.
Ghi đè một texture trong resource pack nghĩa là đặt một tệp PNG đúng vào đường dẫn mà game tìm đến. Với ba trong bốn loại phổ biến, đường dẫn đó hoàn toàn đều đặn. Với loại thứ tư thì không, và sự bất quy tắc đó còn tệ hơn vẻ ngoài ban đầu của nó.
Bốn đường dẫn
assets/minecraft/textures/item/<name>.png
assets/minecraft/textures/block/<name>.png
assets/minecraft/textures/painting/<name>.png
assets/minecraft/textures/entity/<name>/<name>.png ← note the folder
Vật phẩm, khối và tranh chỉ là một tệp trong một thư mục chung. Còn mob là một thư mục riêng, mang tên của mob, chứa một tệp thường cũng mang tên của mob đó. Vậy nên texture của thây ma là entity/zombie/zombie.png, chứ không phải entity/zombie.png.
Cũng lưu ý rằng mob nằm dưới entity/, chứ không phải mob/ — thư mục được đặt tên theo khái niệm trong mã nguồn chứ không phải theo khái niệm trong game.
Vấn đề thực sự là một mob thường không chỉ có một tệp
Việc lồng thư mục thì dễ nhớ một khi bạn đã thấy qua. Thứ thực sự phá hỏng việc ghi đè là những gì khác nằm trong thư mục đó.
Đường dẫn <name>/<name>.png là đúng với mười mob sau:
thây ma · bộ xương · creeper · con cừu · nhện · Người Ender · chó sói · phù thủy · quỷ lửa · dân làng
Với sáu trong số đó — creeper, bộ xương, nhện, Người Ender, phù thủy, quỷ lửa — một tệp đó là toàn bộ con mob (mắt phát sáng và lớp ánh sáng của creeper tích điện là các lớp phủ riêng). Thây ma, con cừu, dân làng và chó sói còn giữ thêm nhiều thứ bên cạnh: texture con non, lông cừu, nghề nghiệp và kiểu quần xã của dân làng, và tám biến thể chó sói khác nữa — wolf.png chỉ là chó sói nhạt màu.
Mọi mob còn lại có thể giữ texture trong một thư mục con khác, hoặc rải chúng ra nhiều tệp — biến thể con non, biến thể đã thuần hóa, biến thể màu sắc. Con ngựa không phải một hình ảnh. Con mèo không phải một hình ảnh. Thay thế một tệp trong những trường hợp đó sẽ thay đổi một trạng thái của mob và để nguyên phần còn lại, mà trong game trông như thể "pack của tôi chỉ được áp dụng một nửa".
Đó chính là kiểu thất bại đáng ghi nhớ: đường dẫn sai thì không thấy texture thay đổi chút nào, nhưng một bộ đường dẫn thiếu thì lại thấy thay đổi một phần — và kiểu thứ hai khó chẩn đoán hơn nhiều, bởi vì pack rõ ràng là có hoạt động.
Thứ tự ưu tiên là cao nhất trước, điều mà tệp zip không hề gợi ý
Khi các pack được hợp nhất, pack được liệt kê trước sẽ thắng khi xung đột đường dẫn. Chỉ số 0 là mức ưu tiên cao nhất.
Điều này đáng nói thẳng ra vì nó đảo ngược mô hình tư duy mà người ta mang theo từ việc xếp lớp tệp, nơi thứ được ghi sau cùng sẽ thắng. Ở đây, pack đầu tiên trong danh sách là pack mà phiên bản item/diamond_sword.png của nó được giữ lại; mọi thứ bên dưới nó chỉ lấp vào những đường dẫn mà các pack phía trên chưa chiếm.
Hai chi tiết về danh tính của pack
pack.png là biểu tượng và nằm ở gốc tệp zip, chứ không phải dưới assets/. Nó được đưa về dạng vuông 64 × 64 — một hình ảnh không vuông sẽ bị thay đổi kích thước chứ không được thêm viền, nên một biểu tượng được thiết kế theo tỉ lệ 16:9 sẽ bị méo chứ không được đệm thêm.
Mã màu trong tên pack là văn bản theo đúng nghĩa đen. Các ký tự § đi vào pack.mcmeta đúng y như khi gõ và Minecraft hiển thị chúng lúc hiển thị: §a xanh lá, §c đỏ, §b xanh ngọc, §e vàng, §d hồng, §l in đậm, §r đặt lại. Không có bước thoát ký tự nào và không có thành phần văn bản JSON nào liên quan — ký hiệu section thô trong một chuỗi thuần chính là toàn bộ cơ chế.