Hướng dẫn chơi Minecraft: Gói tài nguyên


 

Java Edition.png

                                                       Chỉ có trên phiên bản Javaphiên bản Bedrock

Bài hướng dẫn này viết về hệ thống tùy chỉnh tài nguyên kể từ phiên bản Java 1.6.1. Đối với các mục đích sử dụng khác, người chơi vui lòng xem gói Texture (định hướng).

Các texture mặc định với gói tài nguyên tùy chỉnh (Soartex Fanver) ở giữa.

Hệ thống gói tài nguyên (resource pack) là một API (giao diện lập trình ứng dụng) cung cấp cách thức cho phép người chơi tùy chỉnh texture, mô hình, âm nhạc, âm thanh, ngôn ngữ, văn bản kết thúc, văn bản giật gân và phông chữ mà không cần sửa đổi mã.

Hành vi

Các gói tài nguyên được đặt trong thư mục resourcepacks bên trong thư mục lớn .minecraft. Mỗi gói tài nguyên cũng là một thư mục con hoặc tệp .zip nằm trong thư mục resourcepacks. Trong thư mục, phần tùy chọn giúp thêm vào một gói tài nguyên hoặc có thể di chuyển các gói tài nguyên giữa “Gói tài nguyên có sẵn” và “Gói tài nguyên được chọn”. “Gói tài nguyên được chọn” cũng chứa các tài sản mặc định ở phía dưới cùng và không thể xóa được.

Các gói tài nguyên cho phép người chơi tải tài sản dựa trên thứ tự các gói trong danh sách. Hầu hết các gói ở dưới cùng sẽ được tải đầu tiên, sau đó mỗi gói đặt ở trên gói dưới cùng sẽ thay thế các tài sản có cùng tên với tài sản của gói dưới cùng.

Bảng lựa chọn gói tài nguyên, hiển thị hai gói tài nguyên đang hoạt động (không bao gồm gói mặc định) và nhiều gói tài nguyên khác có sẵn để lựa chọn.

Gói tài nguyên mặc định

Một gói tài nguyên có thể được đặt trong thế giới thực bằng cách lưu nó dưới tên resources và để trực tiếp vào thư mục của thế giới thực. Khi chơi trên thế giới thực, gói tài nguyên đó sẽ xuất hiện dưới dạng mặc định ngay trên gói tài nguyên mặc định.

Gói tài nguyên mặc định cũng có thể được thiết lập trên máy chủ bằng cách thêm liên kết vào tệp tải xuống .zip sau dòng resource-pack= trong tệp thuộc máy chủ. Người dùng vẫn có thể từ chối sử dụng gói tài nguyên hoặc chọn không tải xuống.

Các cài đặt gói tài nguyên mặc định.

Phiên bản Java

Trong Phiên bản Java‌, kết cấu cũ (phiên bản tiền Java 1.14) có sẵn trong gói tài nguyên có tiêu đề “Nghệ thuật lập trình”.

Phiên bản Bedrock

Tương tự như giao diện, các gói tài nguyên có thể được mua hoặc sản xuất trong phiên bản Bedrock. Kể từ Alpha 0.15.0, người dùng iOS có thể tự tải xuống các gói tài nguyên trên chính hệ thống với tên tệp .mcpack  và .mcworld. Khi những tệp này được mở, chúng sẽ tự động được nhập vào trò chơi mà không cần truy cập hệ thống tệp.

Phiên bản Legacy Console

Trong phiên bản Legacy Console, gói mash-up tương đương với gói tài nguyên. Chúng có sẵn dưới dạng nội dung có thể tải xuống, được mua từ trang Xbox Marketplace, cửa hàng PlayStation, cửa hàng điện tử Nintendo hoặc phần nội dung có thể tải xuống của trò chơi. Gói Mash-up cũng đi kèm với một gói giao diện và một chủ đề thế giới thực.

Phiên bản New Nintendo 3DS

Trong phiên bản New Nintendo 3DS, các gói mash-up tương đương với các gói tài nguyên. Chúng có sẵn dưới dạng nội dung có thể tải xuống, được mua từ phần nội dung có thể tải xuống của trò chơi. Gói Mash-up cũng đi kèm với một gói giao diện và một chủ đề thế giới thực.

Nội dung

Một gói tài nguyên được Minecraft xác định dựa trên sự hiện diện của tệp pack.mcmeta trong thư mục gốc, chứa tệp JSON với thông tin như sau:

  •  Thẻ gốc
    •  Gói: nắm giữ thông tin gói tài nguyên
      •  Gói_định dạng: Phiên bản gói. Nếu số này không khớp với số yêu cầu hiện tại, gói tài nguyên sẽ hiển thị lỗi và yêu cầu xác nhận bổ sung để tải gói. Yêu cầu 1 cho phiên bản Java 1.6.1 – phiên bản Java 1.92 cho phiên bản Java 1.9 và phiên bản Java 1.103 cho phiên bản Java 1.11 và phiên bản Java 1.12, và 4 cho phiên bản Java 1.13.
      •  Mô tả: Văn bản sẽ được hiển thị bên dưới tên gói trong bảng danh mục gói tài nguyên. Văn bản sẽ được hiển thị trên hai dòng. Nếu văn bản quá dài thì sẽ bị cắt bớt.
      •  Mô tả: Chứa văn bản JSON thô, được hiển thị thay cho mô tả gói trong bảng gói tài nguyên. Hành vi tương tự như phiên bản string của thẻ description, nhưng chúng không thể tồn tại cùng nhau.[khi nào?]
    •  Ngôn ngữ: Chứa các ngôn ngữ bổ sung để thêm vào danh mục ngôn ngữ
      •  Mã ngôn ngữ cho một ngôn ngữ, tương ứng với tệp .lang có cùng tên trong thư mục assets/minecraft/lang
        •  Tên: Tên đầy đủ của ngôn ngữ
        •  Vùng miền: Tên quốc gia hoặc vùng
        •  Hai chiều: Nếu đúng, ngôn ngữ sẽ được đọc từ phải sang trái.

Thư mục gốc cũng chứa một hình ảnh tùy chọn gọi là pack.png, sẽ hiển thị dưới dạng hình thu nhỏ cho gói nằm trong danh mục gói tài nguyên tự chọn.

Ngôn ngữ

Các gói tài nguyên có thể tạo các tệp ngôn ngữ thuộc loại .json trong thư mục assets/minecraft/lang. Mỗi tệp sẽ thay thế thông tin từ một tệp có cùng tên trong gói mặc định hay gói thấp hơn hoặc nó sẽ tạo một ngôn ngữ mới được định nghĩa bởi pack.mcmeta.

Mỗi dòng trong tệp .json là định dạng JSON chuẩn của "identifier":"name"  theo sau là dấu phẩy trong trường hợp nó được theo sau bởi một giá trị khác trong dòng tiếp theo. identifier là tên mà trò chơi tìm kiếm để xác định tên cho một cái gì đó, vì thế không nên thay đổi nó. name là tên được hiển thị. Ví dụ: đá trong tệp ngôn ngữ mặc định là "block.minecraft.stone":"Stone", với block.minecraft.stone là định danh và Stone  là tên được hiển thị. Dòng trống được bỏ qua. Tệp cần phải là cú pháp JSON hợp lệ, nghĩa là nó bắt đầu bằng {, có dấu phẩy sau mỗi cặp giá trị chính trừ cái cuối cùng và kết thúc bằng dấu }.

Các tệp ngôn ngữ chỉ cần thêm các dòng mà gói đã thay đổi, bất kỳ tên nào không có trong gói sẽ được tải từ gói bên dưới hoặc mặc định nếu không có gói nào thay đổi tên.

Mô hình

Các mô hình là các tệp ở định dạng JSON với phần mở rộng .json giúp xác định hình dạng và texture của các khối và vật phẩm.

Các khối sử dụng tệp trạng thái khối từ assets/minecraft/blockstates để xác định mô hình nào được tải cho mỗi biến thể từ thư mục assets/minecraft/models/block. Trong khi đó, mỗi vật phẩm đều có một mô hình vật phẩm trong assets/minecraft/models/item để xác định mô hình của nó, cái này cũng tải từ mô hình của khối, chứa dữ liệu mô hình tùy chỉnh riêng hoặc sử dụng mô hình “phẳng” hoặc “thực thể” mặc định.

Các mô hình và trạng thái khối được sử dụng trong các gói bên dưới những gói ở hàng đầu vẫn sẽ được tải trừ khi bị ghi đè lên gói hàng đầu, điều này có thể khiến một số texture và mô hình được sử dụng bởi gói ở đầu không còn tải được nữa.

Âm thanh

Gói tài nguyên tải âm thanh bổ sung từ loại tệp .ogg. Mỗi âm thanh được đặt trong gói sẽ ghi đè lên âm thanh từ các gói bên dưới, và các gói cũng chứa một tệp có tên là sounds.json được đặt trong assets/minecraft. Không giống như hầu hết các tệp khác trong gói tài nguyên, sounds.json sẽ hợp nhất thông tin âm thanh từ các gói phía dưới gói hàng đầu, thay vì mỗi tệp sounds.json ghi đè hoàn toàn trước đó.

Texture – Vân bề mặt

“Missing texture” cho các texture không hợp lệ hoặc bị thiếu.

Đối với texture chức năng của khối hoặc vật phẩm, chúng phải có chiều rộng và chiều cao bằng nhau (hoặc chiều cao là bội số của chiều rộng nếu là dạng hoạt hình); nếu không, nó sẽ hiển thị dưới dạng bàn cờ màu hồng cánh sen đen. Đối với hầu hết các texture khác, tệp sẽ chỉ được kéo dài để phù hợp với kích thước yêu cầu.

Hầu hết các khối rắn sẽ biến khu vực trong suốt trở nên hoàn toàn mờ đục. Một số khối khác có độ trong suốt (như thủy tinh) sẽ biến tất cả các điểm ảnh có độ mờ dưới 10% hoàn toàn trong suốt và tất cả các điểm ảnh khác mờ hoàn toàn. Các khối khác lại biến texture thành nguyên trạng bán trong suốt. Tất cả vật phẩm và các khối hoặc thực thể mặc định bán trong suốt đều hỗ trợ mặc định bán trong suốt.

Nếu một tệp không tồn tại trong bất kỳ gói tài nguyên nào, kể cả mặc định, nó sẽ hiển thị dưới dạng bàn cờ màu hồng cánh sen và đen ().

Hoạt hình

Texture khối và vật phẩm hỗ trợ hoạt hình bằng cách đặt từng khung bổ sung bên dưới khung cuối cùng. Sau đó, hoạt hình được điều khiển bằng tệp .mcmeta  ở định dạng JSON cùng tên và .png ở cuối tên tệp trong cùng thư mục. Ví dụ: tệp .mcmeta cho stone.png sẽ là stone.png.mcmeta.

  •  Thẻ gốc
    •  Hoạt hình: Chứa dữ liệu cho phim hoạt hình
      •  Nội suy: Nếu đúng, Minecraft sẽ tạo các khung bổ sung giữa các khung có thời gian khung lớn hơn 1 ở giữa chúng. Mặc định là false.
      •  Chiều rộng: Chiều rộng của ô được tính theo tỉ lệ trực tiếp thay vì theo pixel. Điều này không được sử dụng trong vanilla (minecraft không thêm gì) nhưng có thể được các mod sử dụng để tạo các khung không phải là hình vuông.
      •  Chiều cao: Chiều cao của ô tại các pixel trực tiếp, được tính theo tỉ lệ thay vì theo pixel. Điều này không được sử dụng trong vanilla (minecraft không thêm gì) nhưng có thể được các mod sử dụng để tạo các khung không phải là hình vuông.
      •  Khung thời gian: Cài đặt thời gian mặc định cho mỗi khung hình theo số gia của mỗi lần đánh dấu trò chơi. Mặc định là 1.
      •  Khung: Chứa một danh sách khung. Mặc định để hiển thị tất cả các khung từ trên xuống dưới.
        •  Một số tương ứng với vị trí của khung từ trên xuống, với khung trên cùng là 0.
        •  Khung chỉ định khung có dữ liệu bổ sung
          •  Chỉ số: Một số tương ứng với vị trí của khung từ trên xuống, với khung trên cùng là 0.
          •  Thời gian: Thời gian kêu tích tắc thì sẽ hiện khung này, ghi đè lên “khung thời gian” ở trên.

Nếu tệp .mcmeta không tồn tại trong gói và texture thì trò chơi sẽ cho rằng texture không thể tạo hình hoạt hình, thay vì tải tệp .mcmeta từ gói dưới gói đó. Nếu không có tệp .mcmeta nào tồn tại một texture với kích thước không bằng nhau, texture sẽ xuất hiện dưới dạng bàn cờ màu tím và đen.

Dân làng

Các texture từ assets/minecraft/textures/entity/villager và assets/minecraft/textures/entity/zombie_villager hỗ trợ một tệp .mcmeta ở định dạng JSON chứa các hiệu ứng bổ sung để áp dụng cho lớp mũ. Tệp được chứa trong cùng thư mục gốc với texture và có cùng tên với texture, ngoại trừ được thêm vào .mcmeta. Ví dụ, tệp profession/farmer.png có thể có một tệp thuộc tính được gọi là profession/farmer.png.mcmeta

  •  Thẻ gốc
    •  Dân làng: Chứa dữ liệu cho texture
      •  Mũ: Lớp mũ của dân làng vẫn còn hiển thị (mặc định), hoặc khôngfull (không xác địnhpartial nào).

Nếu tệp .mcmeta không còn tồn tại trong gói và texture, trò chơi sẽ tải về cài đặt mặc định, thay vì tải một tệp .mcmeta từ gói dưới gói đó.

Bảng màu

Bảng màu là các hình ảnh 256×256 pixel cho biết trò chơi nên dùng màu gì trong mỗi quần xã sinh vật. Bảng màu được đặt trong trường assets/minecraft/textures/colormap. Trò chơi gồm 2 bảng màu, foliage.png có màu thực vật như lá cây (ngoại trừ cây bạch dương và vân sâm) và dây leo, và grass.png có màu của cỏ và các khối cỏ. Bảng màu có thể bị vô hiệu hóa trên các khối riêng lẻ bằng cách xóa thẻ tintindex.

Phông chữ

Các tệp phông chữ chứa một lưới các ký tự màu trắng, được Minecraft tự động tô màu khi cần trong trò chơi. Kích thước ký tự được xác định tự động dựa trên dòng pixel cuối cùng chứa bất kỳ giá trị anpha nào. Do cách phát hiện phông chữ, việc lấp đầy nền ký tự bằng màu chứa nền alpha 5% sẽ khiến toàn bộ chiều rộng hiển thị mà không có nền ký tự rõ nét.

  • Biểu tượng 0x20 (dấu cách) đến 0x7E (dấu ngã) hiển thị các ký tự ASCII tiêu chuẩn,
  • Biểu tượng 0x7F đến 0xFF hiển thị các ký tự Codepage 437

Tệp phông chữ được đặt tại trường assets/minecraft/textures/font/ascii.png

Tệp phông chữ được sử dụng khi hiển thị “phông chữ người ngoài hành tinh” khó nhìn assets/minecraft/textures/font/ascii_sga.png

Các thuộc tính

Các texture từ assets/minecraft/textures/misc hỗ trợ một tệp .mcmeta ở định dạng JSON chứa các hiệu ứng bổ sung để áp dụng lên texture. Tệp được chứa cùng trong thư mực gốc và có cùng tên với texture, ngoại trừ được thêm vào .mcmeta. Ví dụ, tệp pumpkinblur.png có thể có tệp thuộc tính gọi là pumpkinblur.png.mcmeta

  •  Thẻ gốc
    •  Texture: Chứa dữ liệu cho texture
      •  Làm mờ: Làm cho texture bị mờ khi nhìn gần. Mặc định là false
      •  Khử nhiễu: Làm texture giãn ra thay vì ốp texture nếu ở những nơi khác ví như trong vùng tối. Mặc định là false
      •  Mipmaps (tập các ảnh bitmap có kích thước nhỏ dần): Tùy chỉnh các mipmap giá trị cho texture.

Nếu tệp .mcmeta không còn tồn tại trong gói và texture, trò chơi sẽ tải lại cài đặt mặc định, thay vì tải tệp .mcmeta từ gói dưới gói đó.

Văn bản

Ba tệp .txt ở định dạng UTF-8 tồn tại trong trường assets/minecraft/texts được trò chơi sử dụng để xác định văn bản sẽ hiển thị.

Tệp end.txt chứa văn bản kết thúc, sử dụng mã định dạng để áp dụng màu cho hai loa, và văn bản PLAYERNAME được thay thế bằng tên người chơi. Sau khi tệp đó được hiển thị, nội dung của credits.txt sẽ được hiển thị.

Tệp splashes.txt chứa các dòng văn bản được phân tách bằng cách ngắt dòng để xác định các văn bản giật gân hiển thị trong trò chơi. Bất kỳ văn bản giật gân nào cũng đều có thể được thay thế bằng các văn bản khác .

Cấu trúc thư mục

Xem tại đây.

Video

Lưu ý: Video này đã lỗi thời vì máy chủ hiện hỗ trợ đầy đủ gói tài nguyên.

Lịch sử

Phiên bản Java
1.6.1 13w24a Đã thêm gói tài nguyên, thay thế chức năng gói texture. Minecraft Texture Ender có sẵn từ Mojang để tự động chuyển đổi 1.5 gói texture tương thích thành gói tài nguyên.
1.6.2 ? Đã sửa lỗi phông chữ bị méo khi sử dụng phông chữ HD.[1]
1.7.2 13w36a Đã thêm khả năng áp dụng nhiều gói tài nguyên cùng một lúc.
13w42a Đã di chuyển các tệp từ assets/minecraft/music đến assets/minecraft/sounds/music và các tệp từ assets/minecraft/sound đến assets/minecraft/sounds.
1.7.4 13w48a Đã loại bỏ khả năng thay đổi logo Mojang.
1.8 14w06a Đã thêm khả năng thay đổi các mô hình khối.
14w07a Bây giờ các gói tài nguyên có thể được đóng gói với một bản đồ.
14w25a Định dạng mô hình hiện hỗ trợ các mô hình tùy chỉnh vật phẩm.
Texture bây giờ có thể được chỉ định cho các khối và vật phẩm.
Đã thêm thẻ interpolate cho hình ảnh hoạt hình.
1.8.8 trước Các gói tài nguyên hiện hiển thị lỗi nếu số phiên bản gói bị sai. Tại thời điểm này, nó yêu cầu số phiên bản gói là 1.
1.9 15w31a Số phiên bản gói tài nguyên được chuyển thành 2, bởi vì sự thay đổi trong hệ thống mô hình, ví dụ như các thẻ vật phẩmnhiều phần, và thay đổi để hiển thị các thẻ.
Sử dụng các gói tài nguyên với các thẻ hiển thị lỗi thời sẽ khiến các mô hình bị tăng kích thước bất thường và khối đang dùng sẽ không xoay trong tay được, cùng với các khối trong kho vật phẩm được thay thế bằng texture 2D. Điều này tương tự với những gì xảy ra khi một mô hình không có thẻ hiển thị. Hãy xem ví dụ ở đây.
1.11 16w32a Số phiên bản gói tài nguyên chuyển thành 3, vì sự thay đổi tập tin nên có chữ cái viết thường.
1.13 17w43a Gói tài nguyên mặc định bây giờ có thể được di chuyển lên xuống, giống như các gói tài nguyên khác.
17w48a Đã thay đổi số định dạng là 4, bởi vì sự san phẳng.
1.14 18w45a Đã thêm “Nghệ thuật lập trình – Giao diện cổ điển của Minecraft” vào danh mục gói tài nguyên, do kết cấu cũ bị thay thế bởi các kết cấu mới trong cập nhật texture.
Phiên bản Pocket Alpha
0.15.0 ? Đã thêm gói tài nguyên Nhựa và Thành phố.
0.15.7 Đã thêm gói tài nguyên Thiên nhiên.
0.15.8 Đã thêm gói tài nguyên Hình ảnh tưởng tượng .
0.16.2 Đã thêm gói tài nguyên Phim hoạt hình.
Phiên bản Pocket
1.0.3 ? Đã thêm gói tài nguyên Kẹo.
Phiên bản Bedrock
1.10.0 beta 1.10.0.3 Các gói tài nguyên hiện tách biệt với các mẫu thế giới thực và có thể được cập nhật độc lập trong các thế giới thực hiện có.

Có thể xem thêm


Các bạn có thể xem bản gốc tại đây.