คู่มือ / การก่อสร้างและทรัพยากร
เพิ่มภาพวาดและแผ่นเพลงแบบกำหนดเองโดยไม่ต้องแทนที่ของเดิม
ทั้งสองอย่างกลายเป็น datapack registry แล้ว คุณจึงเพิ่มของใหม่ได้แทนที่จะเขียนทับของวานิลลา นี่คือสองไฟล์ที่แต่ละอย่างต้องใช้ และกฎเรื่องสัดส่วนที่ภาพวาดต้องปฏิบัติตาม
วิธีเก่าในการได้ภาพวาดแบบกำหนดเองคือเขียนทับ paintings_kristoffer_zetterstrand.png แล้วเสียภาพวาดวานิลลาไปหนึ่งอัน ตอนนี้ทั้งภาพวาดและแผ่นเพลงเป็น registry แล้ว คุณจึงเพิ่มแทนที่จะแทนที่
ภาพวาดต้องใช้สองไฟล์
รายการใน 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 และ height มีหน่วยเป็น บล็อก และเท็กซ์เจอร์ต้องมีสัดส่วนตรงกัน วานิลลาวาด 16 พิกเซลต่อบล็อก ดังนั้นภาพวาดขนาด 2×1 คือ 32×16 — แต่ 64×32 ก็ใช้ได้เหมือนกัน ถ้าสัดส่วนผิดมันจะยืดออก ไม่มีการปรับพอดีอัตโนมัติ
ขนาดวานิลลามีตั้งแต่ 1×1 ไปจนถึง 4×4 ใหญ่กว่านั้นใช้ได้แต่ต้องมีกำแพงรองรับ
ทำให้ได้มา
การเพิ่มตัวแปรไม่ได้ทำให้มันอยู่ในเกม สองเส้นทาง:
- แท็กการวาง — เพิ่มมันใน
#minecraft:placeableเพื่อให้ไอเทมภาพวาดปกติสุ่มกลายเป็นภาพวาดนั้นได้ - โดยตรง —
/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 ที่จับคู่ sound id นั้นกับไฟล์ และตัว .ogg เอง:
assets/my_pack/sounds.json
assets/my_pack/sounds/music/my_song.ogg
สามรายละเอียดที่สำคัญ:
length_in_secondsต้องถูกต้อง มันกำหนดว่าตู้เพลงหยุดเมื่อไหร่ — อนุภาค เอาต์พุตเรดสโตน และเสียง ซึ่งจะถูกตัดที่จุดนั้น ยาวเกินไปหมายถึงเงียบตอนท้าย สั้นเกินไปตัดเพลงขาดcomparator_outputมีค่า 0–15 และเป็นค่าที่ comparator อ่านได้ วานิลลามี 22 แผ่นแต่มีแค่ 15 ค่า ดังนั้นเจ็ดคู่ใช้ค่าร่วมกันอยู่แล้ว เลือกค่าที่ไม่มีแผ่นใดที่เรดสโตนของคุณต้องแยกแยะใช้อยู่- สตรีม ogg ใช้
"stream": trueในsounds.jsonสำหรับอะไรก็ตามที่มีความยาวระดับเพลง
จากนั้นให้มัน:
/give @p music_disc_13[jukebox_playable="my_pack:my_song"]
ไอเทมแผ่นเพลงอะไรก็ใช้เป็นตัวพาได้ — คอมโพเนนต์เป็นตัวตัดสินว่าจะเล่นอะไร
ทำไมวิธีนี้ดีกว่าเขียนทับ
แพ็กที่แทนที่แอสเซ็ตวานิลลาจะขัดกับทุกแพ็กอื่นที่ทำแบบเดียวกัน และพังเมื่อ Mojang เปลี่ยนชื่อไฟล์ การเพิ่ม registry มี namespace ดังนั้นสองแพ็กที่เพิ่มภาพวาดจึงอยู่ร่วมกันได้ และยังเป็นวิธีเดียวที่รอดจากการอัปเวอร์ชันโดยไม่ต้องแก้ไข
สร้างตัวแปรภาพวาด เพลงตู้เพลง โทเทม และอีโมจิแชทไว้ในไฟล์ resource pack zip เดียวที่พร้อมใช้ด้วย Custom Content Pack Makers