MC Toolkit

คู่มือ / การแก้ไขปัญหา

แอดออน Bedrock เป็นไฟล์ zip และ manifest คือสาเหตุที่มันโหลดไม่ผ่าน

การนำเข้า .mcaddon ที่ถูกปฏิเสธส่วนใหญ่เกิดจากไฟล์ zip ที่ถูกต้องแต่มีหัวข้อผิดเพียงบรรทัดเดียว และข้อความแสดงข้อผิดพลาดก็ไม่เคยบอกชื่อฟิลด์ที่ทำให้พัง

.mcaddon คือไฟล์ zip ที่เปลี่ยนนามสกุล และตัวเกมปฏิเสธมันด้วยเหตุผลที่ไม่เกี่ยวกับตัว zip เลย ตัวการที่พบบ่อยคือ manifest.json — ไฟล์เล็ก ๆ ที่มี UUID ของ header และ UUID ของ module ซึ่งต้องไม่ซ้ำกัน และ format_version ที่ไม่ใช่เวอร์ชันเกมที่คุณต้องการ

UUID สองตัว ห้ามซ้ำกันเด็ดขาด

manifest หนึ่งไฟล์มี header และอาร์เรย์ modules แต่ละอันต้องมี uuid ของตัวเอง และการนำตัวเดียวกันมาใช้ทั้งสองที่คือสาเหตุการถูกปฏิเสธที่พบบ่อยที่สุด:

{
  "format_version": 2,
  "header": {
    "name": "My Pack",
    "description": "Example",
    "uuid": "aaaaaaaa-0000-0000-0000-000000000000",
    "version": [1, 0, 0],
    "min_engine_version": [1, 21, 0]
  },
  "modules": [
    {
      "type": "data",
      "uuid": "bbbbbbbb-0000-0000-0000-000000000001",
      "version": [1, 0, 0]
    }
  ]
}

UUID คือค่าขนาด 128 บิต เขียนเป็นเลขฐานสิบหก 32 หลัก แบ่งเป็นห้ากลุ่มคั่นด้วยขีด ตัวสร้างแบบไหนก็ใช้ได้ แต่ตัวซ้ำใช้ไม่ได้ version และ min_engine_version เป็นอาร์เรย์ของจำนวนเต็มสามตัว ไม่ใช่สตริง — "1.0.0" จะถูกปฏิเสธ

Java ไม่มี manifest เลย

นี่คือจุดแตกต่างที่ทำให้คนที่ย้ายไปมาระหว่างสอง editions สับสน resource pack ของ Java มาพร้อม pack.mcmeta ที่ประกาศรูปแบบที่รองรับ (min_format และ max_format ในเวอร์ชันปัจจุบัน) ส่วน Bedrock มาพร้อม manifest.json ที่มี UUID และรายการ module ไม่มีไฟล์ใดถูกอ่านโดยอีก edition หนึ่ง และไม่สามารถพอร์ตแพ็กได้ด้วยการเปลี่ยนชื่อไฟล์เก็บข้อมูล

ตรวจสอบก่อนนำเข้า

แตกไฟล์เก็บข้อมูลออกมาแล้วดูที่ระดับบนสุด แพ็กที่ซ้อนอยู่ในโฟลเดอร์อีกชั้น — MyPack/manifest.json แทนที่จะเป็น manifest.json — จะนำเข้าไม่ได้เลยโดยไม่มีข้อผิดพลาด manifest ต้องอยู่ที่รากของแต่ละแพ็ก ข้าง ๆ โฟลเดอร์ที่มันอธิบาย

บล็อกโมเดลเป็นรูปแบบแยกต่างหาก

บล็อกโมเดล JSON ของ Java ไม่ใช่ไฟล์ geometry ของ Bedrock และทั้งสองใช้แทนกันไม่ได้ โมเดล Java มักเป็นแค่ parent บวกกับแผนที่ textures — รายการ elements ของ cuboid จำเป็นเฉพาะ เมื่อต้องการรูปร่างแบบกำหนดเอง — ส่วน Bedrock อธิบายรูปร่างในรูปแบบ minecraft:geometry ของตัวเอง ทั้งสองวัดที่ 16 หน่วยต่อหนึ่งบล็อก ซึ่งเป็นเหตุผลว่าทำไมโมเดลถึงดูถูกต้องใน edition หนึ่งแต่ นำเข้าไม่ได้เลยในอีก edition หนึ่ง

ชื่อใน registry ใช้แทนกันไม่ได้

Bedrock และ Java ใช้ตัวระบุไม่ตรงกันสำหรับเนื้อหาเดียวกัน แพ็กที่อ้างอิงชื่อของ Java สำหรับ enchantment, effect หรือ biome จะโหลดได้แต่จะไม่ทำอะไรเลย เพราะชื่อนั้นไม่ตรงกับรายการใด ๆ ตัว registry เองก็มีขนาดต่างกันระหว่าง editions ดังนั้นแพ็กที่เขียนขึ้นจากรายการของ edition หนึ่งจึงไม่อาจถือว่าครบถ้วนในอีก edition หนึ่งได้

ตรวจสอบ manifest ตรวจดูโครงสร้างไฟล์เก็บข้อมูล และสร้างบล็อกโมเดลได้ที่ Bedrock & Pack Tools

เครื่องมือ Bedrock และแพ็ก →

คู่มือเพิ่มเติม

ดูทั้งหมด →