ZNPCs: إضافة لإنشاء الشخصيات غير القابلة للعب (NPC) في Minecraft
المتطلبات: نوع الخادم: Paper أو Spigot 1.8.8–1.21.4 إصدار Minecraft: 1.8.8–1.21.4 الإضافات المطلوبة: PlaceholderAPI (اختياري، للمتغيرات في…
المتطلبات: نوع الخادم: Paper أو Spigot 1.8.8–1.21.4 إصدار Minecraft: 1.8.8–1.21.4 الإضافات المطلوبة: PlaceholderAPI (اختياري، للمتغيرات في الهولوغرامات) التنزيل: SpigotMC / GitHub إذا كنت بحاجة إلى شخصيات NPC بسيطة للوب
المتطلبات:
نوع الخادم: Paper أو Spigot 1.8.8–1.21.4
إصدار Minecraft: 1.8.8–1.21.4
الإضافات المطلوبة: PlaceholderAPI (اختياري، للمتغيرات في الهولوغرامات)
التنزيل: SpigotMC / GitHub
إذا كنت بحاجة إلى شخصيات NPC بسيطة للوبي أو للزينة، فقد يتبيّن أن Citizens ثقيل أكثر من اللازم. تحلّ ZNPCs المهمة نفسها بطريقة أبسط: فهي ملف .jar واحد بلا كومة من المتطلبات، يتيح لك وضع شخصيات لها سكين خاص بها ونص ورد فعل عند النقر.
الإمكانيات الأساسية
لكل شخصية NPC معرّف رقمي فريد. يمكنك إنشاء لاعب عادي بسكين عبر الاسم المستعار أو عبر رابط URL، أو وضع مخلوق مثل ZOMBIE أو SKELETON.
عندما ينقر اللاعب على شخصية NPC، تنفّذ الإضافة الإجراءات المحددة. قد يكون ذلك رسالة، أو أمرًا باسم اللاعب أو باسم وحدة التحكم، أو حتى إرسال اللاعب إلى خادم آخر عبر BungeeCord. وإذا كانت الإجراءات متعددة، فإنها تُنفّذ بالتتابع. كما يمكنك ضبط فترة انتظار (cooldown) لكل إجراء.
النص فوق الرأس (Lines)
يمكن إضافة نص فوق شخصية NPC باستخدام أمر lines. تدعم الإضافة أكواد الألوان، وإذا كانت PlaceholderAPI مثبّتة فإنها تدعم أيضًا المتغيرات مثل %player_name% أو %server_online%. كما يمكنك تغيير ارتفاع النص بأمر height.
المسارات (Paths)
ليس بالضرورة أن تظل شخصية NPC واقفة في مكانها. ولتعليمها المشي، يجب تفعيل وضع التسجيل (/znpcs path create <الاسم>) ثم اسلك المسار المطلوب بنفسك. بعد الانتهاء يجب كتابة /znpcs path exit. بعد ذلك يُسنَد هذا المسار إلى شخصية NPC محددة (/znpcs path set <id> <الاسم>)، فتبدأ تلك الشخصية بقطعه إلى ما لا نهاية.
ملاحظة مهمة: الحركة بسيطة جدًا. لا تستخدم ZNPCs البحث عن المسار الأصلي (Pathfinder)، لذلك لن تتفادى الشخصيات العوائق ولن تتفاعل مع اللاعبين الآخرين.
التجهيز والمظهر
يمكن إلباس الشخصيات درعًا وإعطاؤها أغراضًا في أيديها. يكفي أن تأخذ الغرض المطلوب وتكتب /znpcs equip <id> <الخانة> (الخانات المتاحة: HAND، OFFHAND، HELMET، CHESTPLATE، LEGGINGS، BOOTS).
كما يمكن ضبط سلوك شخصية NPC عبر أمر toggle: جعلها تنظر إلى أقرب اللاعبين (look)، أو عكس سكين اللاعب الذي ينظر إليها (mirror)، أو إضافة توهج (glow) باللون المختار.
الأوامر
تتطلب هذه الأوامر صلاحيات المسؤول (znpcs.admin).
الأمر | الوصف | الصلاحية |
| ينشئ شخصية NPC عند إحداثياتك | znpcs.admin |
| يحذف شخصية NPC | znpcs.admin |
| يعرض قائمة الشخصيات NPC ومعرّفاتها | znpcs.admin |
| ينقل شخصية NPC إليك آنيًا | znpcs.admin |
| ينقلك آنيًا إلى شخصية NPC | znpcs.admin |
| يغيّر نوع شخصية NPC قائمة | znpcs.admin |
| يغيّر سكين الشخصية | znpcs.admin |
| يعطي الغرض الذي في يدك إلى شخصية NPC | znpcs.admin |
| يغيّر النص الموجود فوق شخصية NPC | znpcs.admin |
| يغيّر ارتفاع النص (القيمة الافتراضية 1) | znpcs.admin |
| يضيف إجراءً عند النقر | znpcs.admin |
| يعرض قائمة إجراءات شخصية NPC (مع معرّفاتها) | znpcs.admin |
| يحذف إجراءً عبر معرّفه | znpcs.admin |
| يحدّد فترة انتظار لتنفيذ الإجراء | znpcs.admin |
| يسجّل مسارًا جديدًا | znpcs.admin |
| يخرج من وضع تسجيل المسار | znpcs.admin |
| يُسنِد مسارًا إلى شخصية NPC | znpcs.admin |
| يفعّل/يعطّل الخيارات (look، holo، mirror) | znpcs.admin |
| يضيف تأثير توهج باللون المختار | znpcs.admin |
أنواع الإجراءات لـ action add:
CMD (ينفّذ أمرًا باسم اللاعب)
CONSOLE (ينفّذ أمرًا من وحدة التحكم)
CHAT (يكتب اللاعب رسالة في الدردشة)
MESSAGE (يرسل رسالة إلى اللاعب)
SERVER (ينقله إلى خادم آخر عبر BungeeCord)
صلاحيات الوصول
كل شيء هنا في غاية البساطة. يكفي لكل شيء تقريبًا عقدة (node) واحدة فقط:
العقدة | ما الذي تمنحه |
znpcs.admin | وصول كامل إلى جميع الأوامر |
الإعدادات
config.json
المعامل | القيمة | الوصف |
| 500 | الحد الأقصى لعدد النقاط (الخطوات) التي يمكن تسجيلها لمسار NPC واحد. إذا كان المسار طويلًا أكثر من اللازم، فسيتوقف التسجيل تلقائيًا عند بلوغ هذا الحد. |
| "DEFAULT" | خوارزمية توليد الأسماء الداخلية للشخصيات NPC. تضمن القيمة القياسية الربط الصحيح للمعرّف. |
| TRUE | يحاذي شخصية NPC تلقائيًا في منتصف الكتلة تمامًا أثناء إنشائها. يمنع انزياح النموذج نحو حافة الكتلة. |
| "-" | الرمز الذي تستخدمه الإضافة لاستبدال المسافات في نص الأوامر أو عند توليد المعرّفات. |
| 600 | فترة الحفظ التلقائي للشخصيات المنشأة في ملف npcs.json (600 ثانية = 10 دقائق). يحمي من فقدان البيانات عند تعطّل الخادم المفاجئ. |
| TRUE | تفعيل وضع التصحيح. ستبدأ الإضافة بإخراج معلومات تقنية مفصّلة وسجلات الأخطاء إلى وحدة تحكم الخادم. يُنصح بتعطيله (false) على الخوادم المستقرة للحفاظ على نظافة وحدة التحكم. |
| 0.3 | المسافة بين أسطر الهولوغرام (النص) فوق رأس شخصية NPC. القيمة الأصغر تجعل النص أكثر تراصًّا. |
| 32 | نصف القطر (بالكتل) الذي يبدأ الخادم ضمنه بإرسال الحزم إلى اللاعب لعرض نموذج شخصية NPC. خفض القيمة يوفّر موارد الخادم والعميل. |
| FALSE | دعم التغيير الديناميكي للألوان (تدرّج RGB) لنص الهولوغرامات. قد يؤدي تفعيله إلى حمل إضافي على العميل. |
npcs.json
تُسجَّل جميع الشخصيات NPC المنشأة في ملف npcs.json. تولّده الإضافة تلقائيًا، لذا من الأفضل عدم تحريره يدويًا. المبرّر الوحيد للتدخل في هذا الملف هو عندما تحتاج إلى نقل شخصيات NPC المُعدّة إلى خادم آخر.
conversations.json
تُحفظ جميع الحوارات هنا.
paths
المجلد الذي تُحفظ فيه جميع المسارات المسجّلة.
data.json
تُحفظ هنا جميع المعلومات التفصيلية عن الشخصيات NPC المنشأة.
عمليات التكامل
إذا كانت PlaceholderAPI مثبّتة على الخادم، فستلتقطها ZNPCs تلقائيًا دون إضافات خاصة. ويكون ذلك مفيدًا، على سبيل المثال، إذا أردت أن تعرض فوق شخصية NPC عدّادًا ديناميكيًا للمتصلين.
التوافق
تعمل ZNPCs الأصلية بشكل سليم حتى الإصدار 1.21.1 فقط. أما للخوادم الأحدث (1.21.1 فما فوق) فيجب تثبيت النسخة المتفرّعة ZNPC Plus.
كما أن الإضافة لن تعمل على Folia بسبب خصوصيات تعاملها مع الكيانات.
متى يُستحسن استخدام ZNPCs
إذا كنت بحاجة إلى وضع شخصية NPC عند نقطة الظهور (spawn) تقتصر على فتح قائمة، أو تسليم حزمة بدء، أو نقل اللاعبين إلى خوادم ألعاب مصغّرة أخرى، فإن ZNPCs خيار ممتاز. فهي تفعل بالضبط ما تَعِد به، ولا تُثقل الخادم بوظائف لا لزوم لها.
لكن إذا كنت تخطط لإنشاء حوارات متفرّعة أو مهام معقّدة، فأنت بحاجة إلى منظومة Citizens + Denizen. فإن ZNPCs ليست مُعدّة لذلك.
التثبيت
التثبيت النموذجي يستغرق حوالي 5 دقائق. الخطوات نفسها؛ يختلف فقط المُحمّل والبناء المطابق.
- 1Stop your Minecraft server.
- 2Drop the plugin .jar into the server /plugins folder.
- 3Start the server once so the plugin generates its config files.
- 4Edit /plugins/<name>/config.yml as needed, then run /reload confirm or restart.








