Guides / Troubleshooting

Datapack không tải được? Kiểm tra cấu trúc thư mục và ba tên phải khớp

Một datapack không xuất hiện trong /datapack list thường do lỗi đường dẫn, không phải lỗi mã. Đây là cấu trúc cây chính xác, quy tắc namespace và các thư mục đã được đổi tên.

/datapack list không hiển thị gì, hoặc hiển thị gói là bị vô hiệu hóa. Hầu như luôn là JSON không sao, nhưng cấu trúc thư mục bị sai.

Cấu trúc cây

world/datapacks/my_pack/
├── pack.mcmeta
└── data/
    └── my_namespace/
        ├── function/         one .mcfunction per file
        ├── recipe/
        ├── loot_table/
        ├── advancement/
        ├── predicate/
        └── tags/
            └── function/
                └── load.json

Ba tên phải khớp và một trong số đó không hiển nhiên:

  1. pack.mcmeta ở thư mục gốc của gói — nằm cạnh data/, không nằm bên trong nó.
  2. data/<namespace>/ — namespace của bạn, viết thường, không có dấu cách. Cái này sẽ trở thành tiền tố trong my_namespace:my_function.
  3. Tên thư mục danh mục, đã thay đổi và là nguyên nhân phổ biến nhất.

Các thư mục đã được đổi tên thành số ít

Điều này đã làm hỏng rất nhiều gói và rất nhiều hướng dẫn:

Hiện tại
functions/function/
recipes/recipe/
loot_tables/loot_table/
advancements/advancement/
predicates/predicate/
structures/structure/

Một gói sử dụng tên số nhiều vẫn tải được — nó xuất hiện trong /datapack list — nhưng không làm gì cả, đây là chế độ lỗi gây nhầm lẫn nhất. tags/ vẫn giữ số nhiều, và tags/function/ trở thành số ít bên trong nó. Vâng, điều đó không nhất quán.

Chạy tự động một cái gì đó

Hai thẻ đặc biệt:

data/minecraft/tags/function/load.json   → runs once on load/reload
data/minecraft/tags/function/tick.json   → runs every tick

Lưu ý data/minecraft/, không phải namespace của riêng bạn — thẻ thuộc về Minecraft, các hàm mà nó trỏ đến thuộc về bạn:

{ "values": ["my_namespace:setup"] }

Chẩn đoán theo thứ tự

  1. /datapack list — nếu gói không được liệt kê, pack.mcmeta bị thiếu, bị lỗi định dạng hoặc nằm sâu hơn một cấp.
  2. Được liệt kê nhưng bị vô hiệu hóa/datapack enable "file/my_pack". Lưu ý tiền tố file/ và dấu ngoặc kép.
  3. Được liệt kê và được bật nhưng không hoạt động — sai pack_format, hoặc tên thư mục số nhiều.
  4. /reload và đọc đoạn chat. Lỗi cú pháp trong các hàm sẽ hiển thị ở đó, không im lặng.

Đã nén hay chưa

Cả hai đều hoạt động. Đã nén có nghĩa là pack.mcmetathư mục gốc của tệp zip, giống hệt như đối với gói tài nguyên. Dạng thư mục dễ dàng hơn khi phát triển vì /reload sẽ nhận các chỉnh sửa mà không cần nén lại.

Vị trí trên máy chủ

Trên máy chủ, đường dẫn là <world>/datapacks/, trong đó <world> là giá trị của level-name trong server.properties — không phải thư mục gốc của máy chủ. Đặt gói vào thư mục máy chủ là lỗi phổ biến nhất ở phía máy chủ.

Tạo một gói với tên thư mục hiện tại, một pack.mcmeta hợp lệ và một thẻ tải đã được kết nối, sau đó tải xuống sẵn sàng để thả vào, với Datapack Studio.

Datapack Studio →

More guides

Browse all →

Cần thêm công cụ Minecraft khác?

Bộ công cụ tạo, xem và chuyển đổi chạy ngay trên trình duyệt — tất cả đều miễn phí.