แบบแผนเนมสเปช (**)

เกี่ยวกับ

แบบแผนนี้มีจุดมุ่งหมายเพื่อป้องกันการชนกันภายในระบบเมื่อมีการทำงานด้วย scoreboards, functions, storages และอื่นๆของคุณ โดยใช้ "คำนำหน้าเนมสเปช"

การใช้งาน

คำนำหน้าเนมสเปขต้องใช้เมื่อใดก็ตามที่เป็นไปได้ สิ่งนี้รวมไปถึงแท็ก (datapack), tags (/tag), nbts, scoreboards, functions, advancements, loot tables, structures, world generation settings, recipes, data storage.

ไม่มีกฎตายตัวว่าคุณต้องออกแบบคำนำหน้ายังไง แต่นี่คือตัวอย่างบางส่วน:


scoreboard objectives add ee.var dummy

ในตัวอย่าง ee คือเนมสเปชที่ย่อมาจาก estearth เนื่องจากข้อจำกัดความยาวแค่ 16 ตัวอักษรของ scoreboard เลยต้องทำให้เนมสเปชมันสั้นและใช้ . เป็นตัวคั่นเพื่อระบุเนมสเปชได้อย่างรวดเร็ว


tag @s add estearth.foo.bar

ในตัวอย่างฉันใช้เนมสเปช estearth แบบเต็ม เพราะแท็กไม่ได้มีข้อจำกัดเรื่องความยาวตัวอักษร


data merge storage estearth:foo/bar {}

ในตัวอย่าง data storage รองรับการใช้สเนมสเปช จึงสามารถใช้ประโยชน์จากสิ่งนี้ได้เลย


give @s diamond{estearth: {custom_data: 123}}

ในตัวอย่างฉันรวมเอา custom_data nbt ไว้ในเนมสเปชของฉันเพื่อป้องกันการชนกันที่อาจเกิดขึ้นนอกแท็ก


ตัวอย่างทั้งหมดนี้คือสไตล์ที่ฉันใช้ซึ่งมันมีอีกมากที่คุณสามารถใช้ได้เช่นกัน อาทิ namespace_foo, NAMESPACEfoo, namespace.foo, namespace:foo, namespace/foo.

หมายเหตุ

การใช้เนมสเปช minecraft เพื่อแก้ไขบางอย่างของตัวเกมต้นฉบับนั้นต้องเป็นกรณีพิเศษและมีเหตุผลในสถานการณ์นั้นๆ อย่างไรก็ตามการตั้งค่า "replace" เป็น true ใน tick.json ฟังก์ชั่นแท็กนั้นไม่สมเหตุผลเพราะมันจะทำให้ดาต้าแพ็คอื่นๆไม่ทำงาน