دليل
كيف تصنع plugin مهام (quests) لـ Minecraft
حُدّث في 18 أكتوبر 2026
تمنح المهام اللاعبين سبباً للعب: اقتل 20 زومبي، احفر 64 حديداً، أحضر لقروي 10 أرغفة خبز. plugin المهام ثلاثة أشياء: أهداف تستمع لأحداث اللعبة، وتقدّم محفوظ لكل لاعب، ومكافآت. تعريف المهام في ملف إعدادات يتيح لك إضافة مهام جديدة دون لمس الكود.
غيّر المهام والمكافآت لتصبح خاصة بك.
ولّد هذا بـ Codexeخطوة بخطوة
1.اختر أنواع الأهداف
ابدأ ببضعة أنواع: قتل نوع من الوحوش، وكسر الكتل أو وضعها، وجمع العناصر، والصناعة، والوصول إلى مكان، والتحدث إلى NPC. كل مهمة تُبنى من هذه الأنواع.
2.عرّف المهام في ملف
كل مهمة في
quests.yml: معرّف، واسم، ووصف، وأهدافها مع الكميات، والمكافآت والمتطلبات (مهمة أخرى أولاً، أو صلاحية، أو مستوى).3.تتبّع التقدم لكل لاعب
استمع للأحداث التي تقف خلف كل هدف وأضف إلى تقدّم اللاعب. احفظه في SQLite أو في ملف ليصمد بعد تسجيل الخروج وإعادة التشغيل.
4.اعرض التقدم
قائمة
/questsبالمهام النشطة والمنتهية، إضافة إلى رسالة أو عنوان أو شريط زعيم عند تغيّر التقدم.5.امنح المكافآت
عناصر، وخبرة، ومال عبر Vault، أو أوامر من وحدة التحكم مثل
lp user %player% permission set ...لأي شيء آخر.6.ابنِ وأكمل مهمة داخل اللعبة
دع Codexe يجمّعه، وانضم إلى الخادم التجريبي، واقبل مهمة وأنهِها. ثم أعد التشغيل وتأكد أن التقدم والمكافآت حُفظت.
الأهداف والأحداث التي تقف خلفها
| الهدف | الحدث | تفصيل يجب تحديده |
|---|---|---|
| قتل الوحوش | EntityDeathEvent | احتساب ما يقتله اللاعب فقط، أم أيضاً ما تقتله حيواناته الأليفة وأسهمه |
| كسر الكتل | BlockBreakEvent | تجاهل الكتل التي وضعها اللاعب، وإلا سيضع اللاعبون الكتلة نفسها ويكسرونها |
| جمع العناصر | فحص المخزون أو حدث الالتقاط | هل تُؤخذ العناصر عند تسليم المهمة |
| صناعة العناصر | CraftItemEvent | الصناعة بالنقر مع Shift تصنع عدة عناصر دفعة واحدة |
| الوصول إلى مكان | PlayerMoveEvent | التحقق فقط عندما يغيّر اللاعب الكتلة، لا مع كل حركة |
| التحدث إلى NPC | PlayerInteractEntityEvent | أي كيان هو مانح المهمة |
مانحو المهام
أبسط مانح مهام هو أمر أو قائمة. ولشخصية في العالم، يعمل قروي أو حامل دروع باسم مخصص ووسم PersistentDataContainer دون plugins أخرى: يتعرّف عليه الـ plugin عندما ينقر عليه لاعب بالزر الأيمن. وإذا كان خادمك يستخدم أصلاً plugin لشخصيات NPC مثل Citizens، فاذكره في الطلب ليرتبط به الـ plugin.
مثال على وصف
"plugin مهام لـ Paper 1.21.4 باسم Quests. أنواع الأهداف: قتل الوحوش، وكسر الكتل (غير التي وضعها اللاعبون)، وجمع العناصر، والتحدث إلى قروي موسوم كمانح مهام. المهام معرّفة في quests.yml بالاسم والأهداف والمهمة المطلوبة والمكافآت (عناصر، وخبرة، ومال Vault، وأوامر وحدة التحكم). الأمر /quests يفتح قائمة بالمهام المتاحة والنشطة والمنتهية. التقدم معروض في شريط الإجراءات. حتى 3 مهام نشطة. تُعاد المهام اليومية عند منتصف الليل بتوقيت الخادم. التقدم محفوظ في SQLite."
المهام اليومية والقابلة للتكرار
- حدّد متى تُعاد: في وقت ثابت كل يوم، أو بعد 24 ساعة من إنهاء اللاعب لها.
- حدّد هل تكون المهام اليومية عشوائية لكل لاعب أم نفسها للجميع.
- خزّن وقت آخر إكمال، لا مجرد علامة، لتعمل إعادة الضبط حتى أثناء إيقاف الخادم.
أسئلة
هل يمكن أن تستخدم المهام PlaceholderAPI؟
نعم. اطلب عناصر نائبة مثل المهمة النشطة وتقدّمها، لتعرضها لوحات النقاط وقوائم Tab. اذكر PlaceholderAPI في الطلب ليُضاف كاعتمادية.
هل يمكنني كتابة المهام بـ Skript؟
أنظمة المهام الصغيرة تتسع في سكربت Skript مع متغيرات. أما أنواع الأهداف الكثيرة والقوائم والتقدم المحفوظ لمئات اللاعبين فيسهل إبقاؤها سريعة ومنظمة في plugin.
كيف أتحقق من أن المهام تعمل؟
العبها على الخادم التجريبي في Codexe، وأضف اختبارات بكلماتك، مثل "لاعب عادي ينفّذ /quests ويرى قائمة تُفتح". تتحقق الاختبارات من الرسائل والعناصر والقوائم، لا من الوحوش أو الكتل في العالم.
اصنع plugin المهام الخاص بك
يُفتح هذا الوصف جاهزاً للإرسال:
“plugin مهام لـ Paper 1.21.4: أنواع الأهداف قتل الوحوش، وكسر كتل لم يضعها اللاعبون، وجمع العناصر، والتحدث إلى قروي موسوم؛ المهام في quests.yml بالأهداف والمهمة المطلوبة والمكافآت (عناصر، وXP، ومال Vault، وأوامر وحدة التحكم)؛ قائمة /quests بالمهام المتاحة والنشطة والمنتهية؛ التقدم في شريط الإجراءات؛ 3 مهام نشطة كحد أقصى؛ المهام اليومية تُعاد عند منتصف الليل؛ التقدم محفوظ في SQLite.”
ولّد هذا بـ Codexe