मूल को बदले बिना कस्टम पेंटिंग्स और म्यूज़िक डिस्क
दोनों datapack registries बन गए हैं, इसलिए आप vanilla को ओवरराइट करने के बजाय नए जोड़ सकते हैं। यहाँ वे दो फ़ाइलें हैं जिनकी प्रत्येक को ज़रूरत होती है और पेंटिंग्स के साइज़ का नियम जिसका पालन करना होगा।
कस्टम पेंटिंग पाने का पुराना तरीका ओवरराइट करना था paintings_kristoffer_zetterstrand.png and lose a vanilla one. Both paintings and music discs are now registries, इसलिए आप बदलने के बजाय जोड़ते हैं।
पेंटिंग्स के लिए दो फ़ाइलों की आवश्यकता होती है
पेंटिंग को परिभाषित करने वाली एक datapack प्रविष्टि:
data/<namespace>/painting_variant/my_art.json
{
"asset_id": "my_pack:my_art",
"width": 2,
"height": 2,
"title": { "text": "My Art" },
"author": { "text": "Me" }
}
और इमेज प्रदान करने वाला एक resource pack:
assets/my_pack/textures/painting/my_art.png
width and height are ब्लॉक्स में, और टेक्सचर का अनुपात 16 पिक्सल प्रति ब्लॉक से मेल खाना चाहिए। 2×1 पेंटिंग के लिए 32×16 टेक्सचर की आवश्यकता होती है। अनुपात गलत होने पर यह खिंच जाता है; कोई ऑटो-फ़िट नहीं है।
Vanilla साइज़ 1×1 से 4×4 तक होते हैं। इससे बड़े भी काम करते हैं लेकिन उनसे मेल खाने वाली दीवार चाहिए।
इसे प्राप्त करने योग्य बनाना
वेरिएंट जोड़ने से यह गेम में नहीं आ जाता। इसके दो रास्ते हैं:
- प्लेसमेंट टैग — इसे जोड़ें
#minecraft:placeableso a normal painting item can
रैंडम रूप से यह बन जाएँ।
- सीधे —
/give @p painting[entity_data={id:"minecraft:painting",variant:"my_pack:my_art"}]
अधिकांश मैप-मेकर्स दूसरा विकल्प चाहते हैं: एक विशिष्ट पेंटिंग, कोई रैंडम पेंटिंग नहीं।
म्यूज़िक डिस्क के लिए तीन की आवश्यकता होती है
data/<namespace>/jukebox_song/my_song.json
{
"sound_event": { "sound_id": "my_pack:music/my_song" },
"description": { "text": "My Artist - My Song" },
"length_in_seconds": 154,
"comparator_output": 12
}
प्लस sounds.json mapping that sound id to a file, plus the .ogg itself:
assets/my_pack/sounds.json
assets/my_pack/sounds/music/my_song.ogg
तीन बातें महत्वपूर्ण हैं:
length_in_secondsmust be right. यह तय करता है कि ज्यूकबॉक्स कब बंद होगा और कब
पार्टिकल स्ट्रीम समाप्त होगी, ऑडियो नहीं। गलत मान का मतलब अंत में सन्नाटा या बीच में कटना है।
comparator_output1–15 होता है और यही comparator पढ़ता है। प्रत्येक Vanilla डिस्क का
एक अलग मान होता है; किसी को दोबारा इस्तेमाल करने पर redstone उनमें अंतर नहीं कर पाता।
- ogg को स्ट्रीम करें।
"stream": trueinsounds.jsonfor anything music-length.
फिर इसे दें:
/give @p music_disc_13[jukebox_playable="my_pack:my_song"]
कोई भी डिस्क आइटम वाहक के रूप में काम करता है — कंपोनेंट तय करता है कि क्या बजेगा।
यह ओवरराइट करने से बेहतर क्यों है
जो पैक vanilla एसेट्स को बदलता है, वह ऐसा करने वाले हर दूसरे पैक के साथ विरोध करता है, और Mojang द्वारा किसी फ़ाइल का नाम बदलने पर काम करना बंद कर देता है। Registry जोड़ namespaced होते हैं, इसलिए पेंटिंग्स जोड़ने वाले दो पैक एक साथ काम कर सकते हैं। यह एकमात्र ऐसा तरीका भी है जो बिना संपादन के वर्ज़न अपडेट के बाद भी काम करता रहता है।
पेंटिंग वेरिएंट्स, ज्यूकबॉक्स गाने, टोटेम और चैट इमोजी को एक तैयार resource pack zip में बनाएं इसके साथ Custom Content Pack Makers.