जो आइटम किसी को मिल ही न सके, उसमें कोई मज़ा नहीं। इस गाइड में आप पिछली गाइड्स के ruby आइटम के लिए तीन रेसिपी जोड़ेंगे: Ruby Sword के लिए एक shaped रेसिपी, Ruby Apple के लिए एक shapeless रेसिपी, और एक furnace रेसिपी जो raw ruby को पिघलाकर ruby बनाती है। आप यह भी सीखेंगे कि recipe book रेसिपी कैसे unlock करती है और tags और priority क्या करते हैं।
आसान तरीका: GodCraft
GodCraft में Crafting, Furnace, Smithing और Brewing रेसिपी objects हैं, असली crafting grid के साथ। Pattern टाइप करने की जगह आप slots में आइटम टैप करके रखते हैं।
- Workshop खोलें और अपने ऐड-ऑन में एक Crafting या Furnace रेसिपी जोड़ें।
- Grid को अपने आइटम या vanilla आइटम से भरें।
- Result चुनें और यह भी कि कितने मिलेंगे।
- Export पर टैप करें। रेसिपी फ़ाइल आपके लिए लिख दी जाती है।
इस पेज का बाकी हिस्सा दिखाता है कि वे फ़ाइलें कैसी दिखती हैं।
हाथ से
रेसिपी बिहेवियर पैक में recipes नाम के फ़ोल्डर में रहती हैं। हर रेसिपी एक JSON फ़ाइल होती है, और गेम को फ़ाइल के नाम से कोई फ़र्क नहीं पड़ता। हम namespace myname इस्तेमाल करते हैं। हर जगह इसे अपने namespace से बदल दें।
हर रेसिपी का बुनियादी ढाँचा एक जैसा होता है:
- एक type:
minecraft:recipe_shaped,minecraft:recipe_shapelessयाminecraft:recipe_furnace - एक
description.identifier: रेसिपी की unique ID (आइटम की नहीं) tags: कौन-से crafting stations इसे इस्तेमाल कर सकते हैंunlock: यह recipe book में कब दिखेगी- ingredients और result
Shaped रेसिपी
Shaped रेसिपी में यह मायने रखता है कि grid में हर आइटम कहाँ जाता है, जैसे तलवार जो एक सीधी खड़ी लाइन में होनी चाहिए।
{
"format_version": "1.20.10",
"minecraft:recipe_shaped": {
"description": {
"identifier": "myname:ruby_sword"
},
"tags": ["crafting_table"],
"pattern": [
"R",
"R",
"S"
],
"key": {
"R": {
"item": "myname:ruby"
},
"S": {
"item": "minecraft:stick"
}
},
"unlock": [
{
"item": "myname:ruby"
}
],
"result": {
"item": "myname:ruby_sword"
}
}
}Pattern कैसे काम करता है:
patterngrid बनाता है। हर string एक row है, और हर character एक slot। ज़्यादा से ज़्यादा 3 rows, हर row में ज़्यादा से ज़्यादा 3 characters।- Space का मतलब है "यह slot खाली छोड़ दो"। Pickaxe के लिए आप
"RRR"," S "," S "लिखेंगे। keyबताती है कि हर character का मतलब क्या है। अक्षर आप चुनते हैं। ऐसे चुनें जो आसानी से याद रहें।resultवह है जो आपको मिलता है। एक से ज़्यादा पाने के लिए"count": 4जोड़ें।
Pattern को पूरा 3x3 भरना ज़रूरी नहीं। ऊपर वाली तलवार 1 चौड़ी और 3 ऊँची है, इसलिए प्लेयर इसे grid के किसी भी column में craft कर सकते हैं। Pattern का उल्टा (mirror) रूप भी default रूप से काम करता है।
Shapeless रेसिपी
Shapeless रेसिपी में सिर्फ़ यह मायने रखता है कि grid में क्या है, कहाँ है यह नहीं। चीज़ों को मिलाने के लिए बढ़िया।
{
"format_version": "1.20.10",
"minecraft:recipe_shapeless": {
"description": {
"identifier": "myname:ruby_apple"
},
"tags": ["crafting_table"],
"ingredients": [
{
"item": "minecraft:apple"
},
{
"item": "myname:ruby",
"count": 2
}
],
"unlock": [
{
"item": "minecraft:apple"
}
],
"result": {
"item": "myname:ruby_apple"
}
}
}ingredients की हर entry एक आइटम है। जब एक ही आइटम कई चाहिए हों तो "count" जोड़ें: यहाँ प्लेयर grid में कहीं भी एक सेब और दो rubies रखता है। एक shapeless रेसिपी में कुल मिलाकर 9 आइटम तक इस्तेमाल हो सकते हैं।
भट्टी (furnace) की रेसिपी
Furnace रेसिपी गर्मी से एक आइटम को दूसरे में बदलती हैं। ये सबसे आसान हैं:
{
"format_version": "1.20.10",
"minecraft:recipe_furnace": {
"description": {
"identifier": "myname:smelt_raw_ruby"
},
"tags": ["furnace", "blast_furnace"],
"input": "myname:raw_ruby",
"output": "myname:ruby",
"unlock": [
{
"item": "myname:raw_ruby"
}
]
}
}input ऊपर वाले slot में जाता है, output बाहर आता है। myname:raw_ruby को उसी तरह बनाएँ जैसे आपका पहला custom आइटम में ruby बनाया था, या टेस्ट करने के लिए कोई vanilla आइटम इस्तेमाल करें।
tags field: कौन-सा station?
tags में वे सभी stations होते हैं जो रेसिपी स्वीकार करते हैं। एक रेसिपी एक साथ कई stations में हो सकती है।
| Tag | Station |
|---|---|
crafting_table | Crafting table (और inventory का 2x2 grid, अगर pattern उसमें आ जाए) |
stonecutter | Stonecutter |
furnace | भट्टी (Furnace) |
blast_furnace | Blast furnace (vanilla इसे ores और धातु के लिए इस्तेमाल करता है) |
smoker | Smoker (vanilla इसे खाने के लिए इस्तेमाल करता है) |
campfire, soul_campfire | Campfires (खाना) |
इसलिए खाना पकाने वाली रेसिपी में "furnace", "smoker", "campfire", "soul_campfire" होने चाहिए, बिल्कुल vanilla raw beef की तरह।
Item tags को ingredients की तरह इस्तेमाल करना
किसी एक खास आइटम की जगह, कोई key या ingredient tag से आइटम का पूरा समूह स्वीकार कर सकता है:
"P": {
"tag": "minecraft:planks"
}अब उस slot में किसी भी तरह के planks चल जाएँगे। इसी तरह vanilla आपको oak, birch या किसी भी दूसरी लकड़ी से crafting table बनाने देता है। दूसरे काम के vanilla tags हैं minecraft:logs और minecraft:wooden_slabs।
unlock field: recipe book
unlock तय करता है कि रेसिपी प्लेयर की recipe book में कब दिखेगी। इसके बिना प्लेयर्स को आपकी रेसिपी का अंदाज़ा लगाना पड़ता है।
- आइटम की लिस्ट: प्लेयर जैसे ही इनमें से कोई भी आइटम उठाता है, रेसिपी unlock हो जाती है। यहाँ भी आप
"tag"इस्तेमाल कर सकते हैं, जैसे{ "tag": "minecraft:planks" }। - एक context: किसी खास स्थिति में unlock करें, लिस्ट की जगह object के रूप में लिखा जाता है:
"unlock": {
"context": "AlwaysUnlocked"
}Vanilla में इस्तेमाल होने वाले दूसरे contexts हैं PlayerInWater और PlayerHasManyItems। ज़्यादातर custom रेसिपी के लिए मुख्य ingredient पर unlock करना सबसे दोस्ताना विकल्प है।
टिप
उस ingredient पर unlock करें जो प्लेयर्स को सबसे पहले मिलता है। तलवार के लिए वह ruby है, इसलिए जैसे ही उन्हें पहली ruby मिलती है, रेसिपी सामने आ जाती है।
Priority: जब दो रेसिपी टकराएँ
अगर दो रेसिपी में एक जैसे ingredients एक जैसे आकार में हों, तो गेम को उनमें से एक चुननी पड़ती है। "priority" field (एक पूर्ण संख्या, tags के बगल में रखी जाती है) से रेसिपी की एक-दूसरे के मुकाबले रैंकिंग होती है। Vanilla आपस में टकराने वाली रेसिपी के लिए -1, 0, 1 और 2 जैसे छोटे नंबर इस्तेमाल करता है, जैसे barrel की वे रेसिपी जो कोई भी wooden slab स्वीकार करती हैं, और उनके बगल में एक ही तरह के slab वाली रेसिपी।
फिर भी priority से रैंकिंग आखिरी उपाय है। सबसे अच्छा हल है टकराव से बचना: vanilla आइटम देखें और ऐसा pattern चुनें जो कोई दूसरी रेसिपी इस्तेमाल न करती हो, फिर टेस्ट करें कि आपकी रेसिपी वही result देती है जिसकी आप उम्मीद करते हैं।
टेस्ट करें
- पैक्स को किसी world में लोड करें (Export और install देखें)।
- /give से खुद को ingredients दें, जैसे
/give @s myname:ruby 5। - Recipe book खोलें। Unlock वाले आइटम हाथ में आते ही आपकी रेसिपी दिखनी चाहिए।
- हर एक को craft करें, और एक raw ruby पिघलाएँ।
जब कुछ गड़बड़ हो
| आपको क्या दिखता है | सबसे संभावित वजह |
|---|---|
| रेसिपी कुछ नहीं करती | किसी आइटम ID में typo है, या pattern का कोई character key में नहीं है |
| यह recipe book में नहीं है | unlock field नहीं है या प्लेयर के पास कभी unlock वाला आइटम आया ही नहीं |
| दो रेसिपी आपस में लड़ रही हैं | एक जैसे ingredients और आकार: pattern बदलें या priority सेट करें |
| भट्टी आइटम को नज़रअंदाज़ करती है | tags लिस्ट में उस तरह की भट्टी नहीं है |
| दो रेसिपी की ID एक ही है | हर description.identifier unique होना चाहिए |
और समाधान Troubleshooting में हैं। Craft करने के लिए कुछ चाहिए? खाना, हथियार और औज़ार या कवच बनाएँ।