MC Toolkit

Hướng dẫn / Lệnh & dữ liệu

Công thức tùy chỉnh: có hình dạng, không hình dạng và dùng tag thay vì liệt kê từng loại gỗ

Một công thức có hình dạng không chế tạo được thường là do khóa của nó sai. Đây là JSON, những gì game tự cắt bỏ khỏi mẫu, thủ thuật tag giúp gộp mười ba công thức thành một, và cách kiểm thử.

Công thức là một trong những tệp datapack dễ viết nhất, đồng thời cũng dễ sai một cách tinh vi nhất, bởi vì một công thức hỏng sẽ thất bại trong im lặng — lưới chế tạo đơn giản là không làm gì cả.

Có hình dạng

{
  "type": "minecraft:crafting_shaped",
  "pattern": [ "SSS", "S S", "SSS" ],
  "key": { "S": "minecraft:stone" },
  "result": { "id": "minecraft:furnace", "count": 1 }
}

Ba quy tắc gây ra phần lớn các lỗi:

  • Mọi ký tự trong pattern đều phải tồn tại trong key, ngoại trừ dấu cách, nghĩa là ô trống.
  • Mẫu là tương đối, không tuyệt đối. Game tự cắt bỏ các hàng và cột trống ở rìa, nên một mẫu 2×2 được đệm vào 3×3 bằng dấu cách vẫn chế tạo được ở bất kỳ đâu trên lưới — nhưng viết nó thành hai hàng hai ký tự thì rõ ràng hơn.
  • Các hàng phải có cùng độ dài. ["SS", "S"] không hợp lệ.

Không hình dạng

{
  "type": "minecraft:crafting_shapeless",
  "ingredients": ["minecraft:stone", "minecraft:coal"],
  "result": { "id": "minecraft:torch", "count": 4 }
}

Thứ tự không quan trọng. Nguyên liệu trùng nhau phải được liệt kê mỗi loại một lần — hai Than nghĩa là hai mục.

Tag gộp cả một họ thành một công thức

Thay vì mười ba công thức cho mười ba loại ván:

"key": { "P": "#minecraft:planks" }

Dấu # đánh dấu một tag vật phẩm. #minecraft:planks, #minecraft:logs, #minecraft:wool, #minecraft:stone_crafting_materials và hàng chục tag khác đã tồn tại sẵn. Tự định nghĩa tag của riêng bạn chỉ cần một tệp:

data/<namespace>/tags/item/my_metals.json
{ "values": ["minecraft:iron_ingot", "minecraft:gold_ingot"] }

Lưu ý tags/item/ — số ít là item, số nhiều là tags. Sự bất nhất đó là có thật.

Kết quả kèm components

"result": {
  "id": "minecraft:diamond_sword",
  "count": 1,
  "components": { "minecraft:custom_name": "Excalibur", "minecraft:enchantments": { "sharpness": 5 } }
}

Đây là cách một vật phẩm tùy chỉnh trở nên chế tạo được mà không cần mod.

Các loại công thức khác

crafting_shaped và crafting_shapeless chỉ là hai trong số rất nhiều loại. Ngoài ra còn có: smelting, blasting, smoking, campfire_cooking, stonecutting, smithing_transform và smithing_trim. Các loại nấu ăn nhận cookingtime và experience; cắt đá nhận một nguyên liệu duy nhất và một số lượng.

Kiểm thử

/reload rồi thử lưới chế tạo. Nếu không có gì xảy ra:

  1. Kiểm tra log của game (latest.log) sau /reload — JSON sai định dạng được báo ở đó, chứ không phải trong chat.
  2. /recipe give @s <namespace>:<recipe> — nếu id công thức sai, lệnh này sẽ báo lỗi, cho bạn biết rằng tệp hoàn toàn không được đọc.
  3. Việc mở khóa công thức tách biệt với việc công thức tồn tại. Một công thức vẫn hoạt động trên lưới ngay cả khi nó không bao giờ xuất hiện trong Quyển sách công thức.

Hãy tạo JSON cho công thức, predicate và kit với các khóa và tag đã được kiểm tra trong Datapack JSON Builders.

Trình tạo JSON datapack →

Hướng dẫn khác

Xem tất cả →