Guides / Troubleshooting

ดาต้าแพ็กไม่โหลด? โครงสร้างโฟลเดอร์และ 3 ชื่อที่ต้องตรงกัน

ดาต้าแพ็กที่ไม่แสดงใน /datapack list มักมีปัญหาที่พาธ ไม่ใช่ที่โค้ด นี่คือโครงสร้างที่ถูกต้อง กฎของเนมสเปซ และโฟลเดอร์ที่เปลี่ยนชื่อไป

/datapack list ไม่แสดงอะไรเลย หรือแสดงว่าแพ็กถูกปิดใช้งาน ส่วนใหญ่แล้วไฟล์ JSON จะถูกต้อง แต่โฟลเดอร์ผิด

โครงสร้าง

world/datapacks/my_pack/
├── pack.mcmeta
└── data/
    └── my_namespace/
        ├── function/         one .mcfunction per file
        ├── recipe/
        ├── loot_table/
        ├── advancement/
        ├── predicate/
        └── tags/
            └── function/
                └── load.json

มีสามชื่อที่ต้องตรงกัน และหนึ่งในนั้นไม่ชัดเจน:

  1. pack.mcmeta ที่รูทของแพ็ก — อยู่ข้าง data/ ไม่ได้อยู่ข้างใน
  2. data/<namespace>/ — เนมสเปซของคุณ ต้องเป็นตัวพิมพ์เล็ก ไม่มีช่องว่าง ซึ่งจะกลายเป็นคำนำหน้าใน my_namespace:my_function
  3. ชื่อโฟลเดอร์หมวดหมู่ ซึ่งมีการเปลี่ยนแปลงและเป็นสาเหตุหลักที่พบบ่อย

โฟลเดอร์ถูกเปลี่ยนชื่อเป็นเอกพจน์

สิ่งนี้ทำให้แพ็กและบทเรียนจำนวนมากใช้งานไม่ได้:

เก่าปัจจุบัน
functions/function/
recipes/recipe/
loot_tables/loot_table/
advancements/advancement/
predicates/predicate/
structures/structure/

แพ็กที่ใช้ชื่อพหูพจน์จะโหลดได้ — มันจะปรากฏใน /datapack list — แต่ไม่ทำงาน ซึ่งเป็นโหมดความล้มเหลวที่สับสนที่สุด tags/ ยังคงเป็นพหูพจน์ เช่นเดียวกับ tags/function/ ที่กลายเป็นเอกพจน์อยู่ข้างใน ใช่ มันไม่สอดคล้องกัน

การเรียกใช้งานบางอย่างโดยอัตโนมัติ

สองแท็กพิเศษ:

data/minecraft/tags/function/load.json   → runs once on load/reload
data/minecraft/tags/function/tick.json   → runs every tick

โปรดทราบ data/minecraft/ ไม่ใช่เนมสเปซของคุณเอง — แท็กนี้เป็นของ Minecraft ส่วนฟังก์ชันที่แท็กชี้ไปเป็นของคุณ:

{ "values": ["my_namespace:setup"] }

การวินิจฉัยตามลำดับ

  1. /datapack list — หากแพ็กไม่แสดงเลย แสดงว่า pack.mcmeta หายไป, มีรูปแบบผิดพลาด, หรืออยู่ลึกเกินไปหนึ่งระดับ
  2. แสดงแต่ ปิดใช้งาน/datapack enable "file/my_pack" โปรดสังเกตคำนำหน้า file/ และเครื่องหมายคำพูด
  3. แสดงและเปิดใช้งานแต่ไม่ทำงาน — pack_format ผิด หรือชื่อโฟลเดอร์เป็นพหูพจน์
  4. /reload และอ่านข้อความในแชท ข้อผิดพลาดทางไวยากรณ์ในฟังก์ชันจะแสดงที่นั่น ไม่ใช่เงียบๆ

บีบอัดหรือไม่บีบอัด

ทั้งสองวิธีใช้ได้ การบีบอัดหมายถึง pack.mcmeta ที่ รูทของไฟล์ zip เช่นเดียวกับแพ็กทรัพยากร รูปแบบโฟลเดอร์จะง่ายกว่าในขณะพัฒนา เพราะ /reload จะรับการแก้ไขโดยไม่ต้องบีบอัดใหม่

การจัดวางบนเซิร์ฟเวอร์

บนเซิร์ฟเวอร์ พาธคือ <world>/datapacks/ โดยที่ <world> คือค่าของ level-name ใน server.properties — ไม่ใช่รูทของเซิร์ฟเวอร์ การวางแพ็กในโฟลเดอร์เซิร์ฟเวอร์เป็นข้อผิดพลาดที่พบบ่อยที่สุดบนฝั่งเซิร์ฟเวอร์

สร้างแพ็กด้วยชื่อโฟลเดอร์ปัจจุบัน, pack.mcmeta ที่ถูกต้อง และแท็กโหลดที่เชื่อมต่อไว้แล้ว จากนั้นดาวน์โหลดเพื่อพร้อมใช้งานด้วย Datapack Studio

สตูดิโอดาต้าแพ็ก →

More guides

Browse all →

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

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