इस गाइड में आप एक Ruby बनाएँगे: एक सादा चमकीला रत्न जो 64 तक stack होता है, creative inventory में दिखता है और जिसका अपना नाम और आइकन है। अभी यह कुछ ख़ास नहीं करता, लेकिन आगे आप जो भी sword, खाना या armor बनाएँगे, उसकी शुरुआत ठीक इसी फ़ाइल से होगी।
इसे करने के दो तरीके हैं। तेज़ तरीका आपके फ़ोन पर कुछ मिनट लेता है। हाथ वाला तरीका आपको हर फ़ाइल दिखाता है, ताकि आप समझें कि क्या हो रहा है।
तेज़ तरीका: GodCraft
GodCraft आपके लिए आइटम फ़ाइल, texture, नाम और पैक फ़ाइलें बना देता है। आपको कभी JSON फ़ाइल खोलनी नहीं पड़ती।
- Workshop खोलें और अपने ऐड-ऑन में एक Item जोड़ें।
- pixel editor में आइकन बनाएँ, या किसी vanilla texture से शुरू करके उसका रंग बदलें।
- नाम टाइप करें और अपनी पसंद की settings चुनें, जैसे stack size।
- Export पर टैप करें। GodCraft manifests, UUIDs और language फ़ाइलें लिखता है और आपको Minecraft में खोलने के लिए एक
.mcaddonदेता है।
जानना चाहते हैं उस .mcaddon के अंदर क्या है? आगे पढ़ें।
हाथ से
आपको एक बिहेवियर पैक (BP) और एक रिसोर्स पैक (RP) चाहिए जो पहले से सेट हों। अगर अभी आपके पास ये नहीं हैं, तो पहले प्रोजेक्ट सेटअप फ़ॉलो करें। हर उदाहरण में हम namespace myname इस्तेमाल करते हैं। जहाँ भी यह दिखे, इसे lowercase में अपने छोटे नाम से बदल दें।
ये वे फ़ाइलें हैं जिन्हें आप बनाएँगे या बदलेंगे:
| फ़ाइल | पैक | यह क्या करती है |
|---|---|---|
items/ruby.json | BP | बताती है कि आइटम मौजूद है और कैसे बर्ताव करता है |
textures/items/ruby.png | RP | तस्वीर |
textures/item_texture.json | RP | तस्वीर को एक छोटा नाम देती है |
texts/en_US.lang | RP | वह नाम जो खिलाड़ी पढ़ते हैं |
स्टेप 1: आइटम फ़ाइल
अपने बिहेवियर पैक में items नाम का फ़ोल्डर बनाएँ और यह फ़ाइल जोड़ें:
{
"format_version": "1.26.30",
"minecraft:item": {
"description": {
"identifier": "myname:ruby",
"menu_category": {
"category": "items"
}
},
"components": {
"minecraft:icon": {
"textures": {
"default": "myname_ruby"
}
},
"minecraft:display_name": {
"value": "item.myname:ruby.name"
},
"minecraft:max_stack_size": 64
}
}
}चलिए इसे हिस्सा-हिस्सा समझते हैं।
format_versionगेम को बताता है कि आपकी फ़ाइल आइटम नियमों का कौन सा version फ़ॉलो करती है। हाल का version इस्तेमाल करें ताकि सारे modern कंपोनेंट काम करें।identifierआइटम की unique ID है। यह हमेशाnamespace:nameहोती है। नए आइटम के लिए कभीminecraftnamespace इस्तेमाल न करें: वह गेम का है।menu_categoryतय करता है कि आइटम creative inventory में कहाँ दिखेगा।categoryहो सकती हैconstruction,nature,equipment,itemsयाnone(छिपा हुआ)। आप इसे किसी मौजूदा फ़ोल्डर में रखने के लिए"minecraft:itemGroup.name.sword"जैसाgroupभी जोड़ सकते हैं।componentsवह जगह है जहाँ आइटम को उसकी ख़ूबियाँ मिलती हैं। हर कंपोनेंट एक ख़ूबी है।
यहाँ इस्तेमाल हुए तीन कंपोनेंट:
minecraft:iconतस्वीर चुनता है।defaultवह छोटा नाम है जो आप स्टेप 3 मेंitem_texture.jsonमें तय करेंगे, कोई file path नहीं।minecraft:display_nameनाम सेट करता है। यहाँ यह language फ़ाइल की एक key की तरफ़ point करता है, ताकि नाम का अनुवाद हो सके।minecraft:max_stack_sizeबताता है कि एक slot में कितने आते हैं। 1 से 64 तक का नंबर इस्तेमाल करें।
एक ख़ूबी, एक कंपोनेंट
चाहते हैं कि आइटम enchanted book की तरह चमके? true के साथ minecraft:glint जोड़ें। चाहते हैं कि यह lava में न जले? minecraft:fire_resistant जोड़ें। हर कंपोनेंट का अपना reference पेज है जिसमें उसके सारे fields हैं।
स्टेप 2: texture
16x16 pixel का एक PNG बनाएँ और उसे अपने रिसोर्स पैक में सेव करें:
A 16x16 PNG with a transparent backgroundbackground transparent रखें, वरना आइकन चौकोर दिखेगा। अगर आप pixel art में नए हैं, तो Pixel textures में छोटी images को अच्छा दिखाने के टिप्स हैं।
स्टेप 3: texture रजिस्टर करें
गेम आइटम से PNG फ़ाइलों को path से नहीं पढ़ता। इसके बजाय, item_texture.json हर तस्वीर को एक छोटा नाम देती है, और आइटम वही नाम इस्तेमाल करता है। यह फ़ाइल बनाएँ (या खोलें):
{
"resource_pack_name": "myname",
"texture_name": "atlas.items",
"texture_data": {
"myname_ruby": {
"textures": "textures/items/ruby"
}
}
}दो बातों पर ध्यान दें:
- key
myname_rubyआइटम के icon कंपोनेंट कीdefaultvalue से मैच करती है। - path के आख़िर में
.pngनहीं है।
बाद में जब आप और आइटम जोड़ें, तो उन सबको इसी एक फ़ाइल में texture_data के अंदर अतिरिक्त एंट्री के रूप में रखें। दूसरी item_texture.json न बनाएँ।
स्टेप 4: नाम
English language फ़ाइल खोलें (या बनाएँ) और एक लाइन जोड़ें:
item.myname:ruby.name=Ruby= से पहले वाला हिस्सा minecraft:display_name की value से बिल्कुल मैच होना चाहिए। उसके बाद वाला हिस्सा वह है जो खिलाड़ी देखते हैं। Lang फ़ाइलें सादा टेक्स्ट हैं: हर लाइन में एक एंट्री, न quotes, न commas।
स्टेप 5: टेस्ट करें
- दोनों पैक Minecraft में कॉपी करें, या उन्हें export करें (देखें Export और install)।
- एक नई world बनाएँ और उसकी settings में दोनों पैक चालू करें।
- चैट खोलें और /give कमांड टाइप करें:
/give @s myname:ruby 64आपको अपने आइकन और "Ruby" नाम के साथ rubies का पूरा stack मिलना चाहिए। creative world में यह आपको inventory के Items टैब में भी मिलेगा।
जब कुछ गड़बड़ हो
| आपको क्या दिखता है | सबसे संभावित कारण |
|---|---|
/give कहता है कि आइटम मौजूद नहीं है | identifier में typo, या बिहेवियर पैक चालू नहीं है |
| आइटम का आइकन गुलाबी और काला है | item_texture.json की key आइकन से मैच नहीं करती, या path गलत है |
नाम item.myname:ruby.name जैसा दिखता है | lang key मैच नहीं करती, या lang फ़ाइल texts में नहीं है |
| पैक से कुछ भी लोड नहीं होता | JSON syntax error, जैसे छूटा हुआ comma |
सटीक error messages देखने के लिए Minecraft की creator settings में Content Log चालू करें। और समाधान Troubleshooting में हैं।
आगे क्या?
आपकी ruby एक सादा आइटम है। अब इसे कोई काम दें:
- कस्टम खाना में कुछ ऐसा बनाएँ जिसे खिलाड़ी खा सकें।
- Weapons और tools में rubies को sword या pickaxe में बदलें।
- कस्टम armor में पूरा ruby armor सेट बनाएँ।
- Crafting और furnace रेसिपी में खिलाड़ियों को rubies craft करने दें।
Mojang अपने आइटम कैसे बनाता है, यह देखने के लिए vanilla आइटम देखें।