Hướng dẫn tạo Minecraft: Tổng quan về các file thực thể  JSON


Hướng dẫn tạo Minecraft: Tổng quan về các file thực thể  JSON

Trước khi chúng ta bắt đầu sửa mã JSON, hãy xem qua cách các tệp entity.json files đươc thiết lập .

Tệp JSON cho các thực thể Minecraft được chia thành 4 phần khác nhau:

minecraft: entity

Đây là object chính cho mọi mob , tất cả những hành vi và events đi kèm cũng là những giá trị thuộc  object này .

Mã  giả entity.json

{
  "minecraft:entity": {pig} scale 11.111
    "format_version": 0.1,
    "component_groups": { component groups go here },
    "components": { components go here },
    "events": { events go here }
  }
}

Ghi chú

Đây không phải là file JSON hợp lệ cho Minecraft! Đây chỉ là một ví dụ để cho thấy cách các tệp entity json đươc trình bày để sử dụng làm tài liệu tham khảo . Nếu bạn mở file pig.json bạn sẽ thấy dòng “component groups go here” sẽ có đủ các component.

Ghi chú 2 – format_version

Format version được dùng để giúp Minecraft biết phiên bản JSON nào cần đươc đọc. Khi chúng ta  update file JSON và thêm component, chúng ta cần để cho  game biết những thứ nó cần tìm. Người chơi có thể thực hiện bằng cách thay đổi số format_version.

KHÔNG ĐƯỢC TỰ Ý THAY ĐỔI SỐ! Như bản update JSON của Minecraft, bạn cần update tệp JSON của mình để khớp với những thứ được thêm vào. Tuy nhiên, nếu bạn update JSON của mình, bạn cần thay đổi số cho phù hợp với bản mới. Ngoài ra, bạn có thể copy version mới của JSON từ các  tệp Vanilla đã update và copy các file hành vi cụ thể mà bạn đã thay đổi trong phiên bản cũ.

Nhóm component

Được sử dụng để xác định các nhóm behavior, cho phép dễ dàng loại bỏ/thêm nhiều loại behaviors, rất hữu ích cho việc tạo trạng thái  (vd: behaviors của heo con với heo trưởng thành).

Trong  pig.json có  6 nhóm bao gồm pig_baby, pig_adult. Lưu ý rằng behaviors trong những nhóm này chỉ chạy nếu nhóm đó được thêm vào entity. Do đó, khi lợn là lợn con, nhóm component  pig_baby sẽ được thêm và chạy nhưng nhóm pig_adult thì không.

Components

Được dùng để định nghĩa behaviors cá nhân sẽ chạy trên mỗi thực thể thuộc loại này.

Lưu ý “minecraft:identifier” và “minecraft:type_family”  vì cả hai loại lợn đều có những components này .

Events

Events được dùng để thêm hoặc bỏ các nhóm component và được kích hoạt bởi components đã thêm trước đó bởi người chơi, hoặc bởi mã gốc của Minecraft.

Events có thể dùng hàm ngẫu nhiên để chọn giữa các kết quả khác nhau (xem “minecraft:entity_spawned” trong pig.json). Lưu ý rằng trọng lượng ngẫu nhiên được thêm có thể lên tới hơn 100. Vì nó không phải là giá trị kiểu phần trăm! Nếu bạn đặt trong lượng để tạo ra một con lợn trưởng thành là 23 và trọng lượng để tạo ra lợn là 100 thì bạn sẽ có 23/123 cơ hội để có một con lợn trưởng thành và một 100/123 phần cơ hội để có con lợn con khi môt con lơn spawn.

Components lưu ý:

minecraft:identifier

Nó cần thiết cho mỗi giá trị entity. Đây là cách mà game biết sẽ chạy behavior  cho giá trị entity nào ở  tệp .json. Các identifier phải được đặt tên thích hợp! Nếu bạn cung cấp một identifier sai  thì bạn sẽ phải nhận  một kết quả không mong muốn. Nếu bạn không chắc chắn identifier cho entity sẽ là gì  , hãy tham khảo json file cho entity trong gói Vanilla Behavior (nhớ rằng tệp json trong /Vanilla_Behavior_Pack/entities/)

minecraft:type_family

Điều này đặt loại family cho vật thể. Loại family được dùng để lọc vật thể cho component khác nhau. Xem “minecraft:rideable” và “minecraft:breedable” để biết thêm ví dụ về loại đươc sử dụng!

minecraft:entity_spawned

Đây là một sự kiện được kích hoạt khi một thực thể thuộc loại này được sinh ra. Trong file pig.json, chức năng này sẽ xác định một cách ngẫu nhiên ngẫu nhiên việc một con lợn sẽ spawn ra lợn con hay lợn trưởng thành

Xem bài viết về ứng dụng tạo gói hành vi phát nổ cho lợn tại ĐÂY

Xem bài viết về gói behavior tại ĐÂY

Xem bài viết gốc tại ĐÂY