Phù phép tùy chỉnh không cần mod: Định dạng phù phép dựa trên dữ liệu
Phù phép đã trở thành JSON của gói dữ liệu, vì vậy một phù phép tùy chỉnh không cần mod. Đây là cấu trúc tệp, các thành phần hiệu ứng thực sự có tác dụng và cách để làm cho nó có thể nhận được.
Phù phép từng được mã hóa cứng. Giờ đây, chúng là dữ liệu của gói dữ liệu, có nghĩa là một phù phép tùy chỉnh thực sự — tên mới, hiệu ứng mới, đường cong chi phí mới — là một tệp JSON.
Nơi nó tồn tại
data/<namespace>/enchantment/lightning_strike.json
Số ít enchantment/, giống như mọi danh mục gói dữ liệu khác kể từ khi đổi tên.
Tệp tối thiểu
{
"description": { "translate": "enchantment.my_pack.lightning_strike" },
"supported_items": "#minecraft:enchantable/sword",
"weight": 2,
"max_level": 3,
"min_cost": { "base": 10, "per_level_above_first": 10 },
"max_cost": { "base": 50, "per_level_above_first": 10 },
"anvil_cost": 4,
"slots": ["mainhand"]
}
Chừng đó tạo ra một phù phép thực sự xuất hiện trên bàn và hiển thị trên vật phẩm. Nó chưa làm gì cả — hành vi là riêng biệt.
weightlà độ hiếm tại Bàn phù phép. Vanilla sử dụng 10 cho phổ biến, 1 cho rất hiếm. Nó là tương đối, không phải phần trăm.slotsquyết định nơi phù phép hoạt động:mainhand,offhand,armor,head, v.v. Bỏ qua nó và phù phép sẽ không bao giờ được áp dụng.supported_itemsnhận một thẻ vật phẩm hoặc một danh sách. Các thẻ#minecraft:enchantable/*đã tồn tại cho các nhóm hợp lý.
Làm cho nó có tác dụng
effects gắn hành vi:
"effects": {
"minecraft:post_attack": [{
"effect": { "type": "minecraft:run_function", "function": "my_pack:strike" },
"requirements": { "condition": "minecraft:random_chance", "chance": 0.25 }
}]
}
run_function là lối thoát — bất cứ điều gì một hàm có thể làm, phù phép cũng có thể làm. Các loại hiệu ứng tích hợp bao gồm sát thương, Đánh bật lùi, độ bền, vật phẩm rơi ra và thuộc tính mà không cần hàm, và chúng rẻ hơn.
requirements nhận bất kỳ vị ngữ nào, vì vậy việc giới hạn theo loại của Bia bắn, thời tiết hoặc một cơ hội ngẫu nhiên là một khối JSON.
Đặt tên cho nó
description là một thành phần văn bản, vì vậy một tên được mã hóa cứng hoạt động:
"description": { "text": "Lightning Strike", "color": "gold" }
nhưng một khóa translate cộng với một tệp ngôn ngữ trong gói tài nguyên là điều làm cho nó được đọc chính xác cho người chơi ở các ngôn ngữ khác — cùng lý do trang web này lấy các thuật ngữ trò chơi từ các bản dịch của Mojang.
Làm cho nó có thể nhận được
Ba cách, và bạn thường muốn nhiều hơn một:
- Bàn phù phép — tự động sau khi
weightvà đường cong chi phí được đặt. - Bảng chiến lợi phẩm —
enchant_randomlyvới phù phép của bạn được liệt kê, hoặcenchant_with_levelsnếu nó nên cạnh tranh về chi phí. - Dân làng trao đổi — một Sách được phù phép với phù phép của bạn trong vật phẩm trao đổi.
Thêm nó vào #minecraft:in_enchanting_table là điều làm cho bàn cung cấp nó; thẻ này dễ quên và tạo ra một phù phép tồn tại nhưng không bao giờ xuất hiện.
Xây dựng JSON phù phép và đối tác trang trí Giáp của nó, với các thẻ và khe được đặt, trong Custom Enchantment & Trim Builder.