สูตรคราฟต์แบบกำหนดเอง: แบบมีรูปร่าง, แบบไม่มีรูปร่าง และการใช้แท็กแทนการระบุไม้ทุกชนิด
สูตรคราฟต์แบบมีรูปร่างที่คราฟต์ไม่ได้มักเกิดจากคีย์ผิดหรือแพทเทิร์นมีช่องว่างมากเกินไป นี่คือ JSON, เคล็ดลับการใช้แท็กที่รวมแปดสูตรให้เป็นหนึ่งเดียว และวิธีการทดสอบ
สูตรคราฟต์เป็นหนึ่งในไฟล์ Datapack ที่เขียนง่ายที่สุด แต่ก็เป็นหนึ่งในไฟล์ที่ผิดพลาดได้ง่ายที่สุดอย่างแนบเนียน เพราะสูตรที่เสียจะล้มเหลวอย่างเงียบๆ — ตารางคราฟต์จะไม่ทำงานอะไรเลย
แบบมีรูปร่าง (Shaped)
{
"type": "minecraft:crafting_shaped",
"pattern": [ "SSS", "S S", "SSS" ],
"key": { "S": "minecraft:stone" },
"result": { "id": "minecraft:furnace", "count": 1 }
}
สามกฎที่ทำให้เกิดความล้มเหลวส่วนใหญ่:
- อักขระทุกตัวใน
patternต้องมีอยู่ในkeyยกเว้นช่องว่าง ซึ่งหมายถึงว่างเปล่า - แพทเทิร์นเป็นแบบสัมพันธ์ ไม่ใช่แบบสัมบูรณ์ สูตร 2×2 ควรเขียนเป็นสองแถวสองช่อง ไม่ใช่เติมช่องว่างให้เป็น 3×3 การเติมช่องว่างจะทำให้คราฟต์ได้เฉพาะในมุมนั้นๆ ของตารางเท่านั้น
- ทุกแถวต้องมีความยาวเท่ากัน
["SS", "S"]ไม่ถูกต้อง
แบบไม่มีรูปร่าง (Shapeless)
{
"type": "minecraft:crafting_shapeless",
"ingredients": ["minecraft:stone", "minecraft:coal"],
"result": { "id": "minecraft:torch", "count": 4 }
}
ลำดับไม่เกี่ยวข้อง รายการซ้ำต้องระบุครั้งละหนึ่งรายการ — ถ่านหิน (Coal) สองก้อนหมายถึงสองรายการ
แท็กรวมตระกูลให้เป็นสูตรเดียว
แทนที่จะมีแปดสูตรสำหรับไม้แปรรูปแปดชนิด:
"key": { "P": "#minecraft:planks" }
# เป็นเครื่องหมายของแท็กไอเท็ม #minecraft:planks, #minecraft:logs, #minecraft:wool, #minecraft:stone_crafting_materials และอื่นๆ อีกมากมายมีอยู่แล้ว การกำหนดแท็กของคุณเอง ต้องใช้ไฟล์เดียว:
data/<namespace>/tags/item/my_metals.json
{ "values": ["minecraft:iron_ingot", "minecraft:gold_ingot"] }
โปรดสังเกต tags/item/ — เอกพจน์ item, พหูพจน์ tags ความไม่สอดคล้องกันนี้เป็นเรื่องจริง
ผลลัพธ์พร้อมส่วนประกอบ
"result": {
"id": "minecraft:diamond_sword",
"count": 1,
"components": { "minecraft:custom_name": "\"Excalibur\"", "minecraft:enchantments": { "sharpness": 5 } }
}
นี่คือวิธีที่ไอเท็มที่กำหนดเองสามารถคราฟต์ได้โดยไม่ต้องใช้ม็อด
ประเภทสูตรคราฟต์อื่นๆ
crafting_shaped และ crafting_shapeless เป็นสองในหลายประเภท นอกจากนี้ยังมี: smelting, blasting, smoking, campfire_cooking, stonecutting, smithing_transform และ smithing_trim ประเภทการปรุงอาหารใช้ cookingtime และ experience; การตัดหิน (stonecutting) ใช้ส่วนผสมเดียวและจำนวน
การทดสอบ
/reload แล้วลองใช้ตารางคราฟต์ หากไม่มีอะไรเกิดขึ้น:
- ตรวจสอบแชทเมื่อโหลดซ้ำ — JSON ที่มีรูปแบบผิดจะถูกรายงานที่นั่น
/recipe give @s <namespace>:<recipe>— หาก ID สูตรคราฟต์ผิดพลาด จะเกิดข้อผิดพลาด ซึ่ง
จะบอกคุณว่าไฟล์ไม่ได้ถูกอ่านเลย
- การปลดล็อกสูตรคราฟต์แยกจากการมีอยู่ของสูตรคราฟต์ สูตรคราฟต์จะทำงานในตารางคราฟต์ได้แม้ว่าจะไม่เคยปรากฏในหนังสือ (Book) สูตรคราฟต์เลยก็ตาม
สร้าง JSON ของสูตรคราฟต์, Predicate และ Kit โดยตรวจสอบคีย์และแท็กใน Datapack JSON Builders