Guides / Building & Resources

ภาพวาดและแผ่นเพลงแบบกำหนดเองโดยไม่ต้องแทนที่ของเดิม

ทั้งสองอย่างกลายเป็น Registry ของ Datapack ทำให้คุณสามารถเพิ่มของใหม่ได้แทนที่จะเขียนทับของเดิม นี่คือไฟล์สองไฟล์ที่แต่ละอย่างต้องการและกฎการกำหนดขนาดที่ภาพวาดต้องปฏิบัติตาม

วิธีเก่าในการสร้างภาพวาดแบบกำหนดเองคือการเขียนทับ 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 เป็นขนาด ในหน่วยบล็อก และพื้นผิว (texture) ต้องมีอัตราส่วนที่ตรงกันที่ 16 พิกเซลต่อบล็อก ภาพวาดขนาด 2×1 บล็อกต้องการพื้นผิวขนาด 32×16 พิกเซล หากอัตราส่วนผิดเพี้ยน ภาพจะยืดออก ไม่มีระบบปรับขนาดอัตโนมัติ

ขนาดภาพวาดเดิมมีตั้งแต่ 1×1 ถึง 4×4 บล็อก ขนาดที่ใหญ่กว่าก็ใช้ได้ แต่ต้องมีผนังที่รองรับขนาดนั้น

ทำให้สามารถหาได้

การเพิ่มรูปแบบใหม่ไม่ได้ทำให้มันปรากฏในเกม มีสองวิธี:

  • แท็กการจัดวาง (placement tag) — เพิ่มลงใน #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 ที่แมป ID เสียงนั้นเข้ากับไฟล์ และ .ogg ตัวมันเอง:

assets/my_pack/sounds.json
assets/my_pack/sounds/music/my_song.ogg

มีสามรายละเอียดที่สำคัญ:

  • length_in_seconds ต้องถูกต้อง มันเป็นตัวกำหนดว่าตู้เพลง (Jukebox) จะหยุดเมื่อใดและกระแสอนุภาค (particle stream) จะสิ้นสุดเมื่อใด ไม่ใช่เสียง ค่าที่ไม่ถูกต้องหมายถึงความเงียบตอนท้ายหรือเสียงที่ถูกตัดออก
  • comparator_output มีค่าระหว่าง 1–15 และเป็นค่าที่ Comparator อ่านได้ แผ่นเพลงเดิมแต่ละแผ่นมีค่าที่แตกต่างกัน หากใช้ซ้ำ Redstone จะไม่สามารถแยกแยะได้
  • สตรีมไฟล์ ogg "stream": true ใน sounds.json สำหรับเพลงที่มีความยาว

จากนั้นให้ไอเทม:

/give @p music_disc_13[jukebox_playable="my_pack:my_song"]

ไอเทมแผ่นเพลงใดก็ได้สามารถใช้เป็นตัวพาได้ — ส่วนประกอบ (component) จะเป็นตัวตัดสินว่าจะเล่นอะไร

ทำไมวิธีนี้ถึงดีกว่าการเขียนทับ

แพ็กที่แทนที่เนื้อหาเดิม (vanilla assets) จะขัดแย้งกับแพ็กอื่น ๆ ที่ทำแบบเดียวกัน และจะพังเมื่อ Mojang เปลี่ยนชื่อไฟล์ การเพิ่ม Registry จะถูกจัดเก็บตาม Namespace ทำให้แพ็กสองแพ็กที่เพิ่มภาพวาดสามารถอยู่ร่วมกันได้ นอกจากนี้ยังเป็นวิธีเดียวที่สามารถอยู่รอดได้เมื่อมีการอัปเดตเวอร์ชันโดยไม่ต้องแก้ไข

สร้างรูปแบบภาพวาด เพลงสำหรับตู้เพลง โทเท็ม และอีโมจิแชทลงในไฟล์ zip ของ Resource Pack ที่พร้อมใช้งานด้วย Custom Content Pack Makers

ตัวสร้างแพ็กเนื้อหากำหนดเอง →

More guides

Browse all →

กำลังหาเครื่องมือ Minecraft อื่นอยู่ไหม

ชุดเครื่องมือสร้าง ดู และแปลงไฟล์ที่ทำงานในเบราว์เซอร์ ฟรีทั้งหมด