mcMMO Rewards: نظرة عامة على إضافة مكافآت المستويات في ماينكرافت
نظرة شاملة على إضافة mcMMO Rewards لخوادم ماينكرافت: إعداد محفزات ترقية المستوى، وتهيئة الأوامر، والتكامل مع واجهة برمجة تطبيقات mcMMO.
نظرة شاملة على إضافة mcMMO Rewards لخوادم ماينكرافت: إعداد محفزات ترقية المستوى، وتهيئة الأوامر، والتكامل مع واجهة برمجة تطبيقات mcMMO.
المتطلبات:
المُحمِّل (Loader): Paper / Spigot / Purpur
إصدار ماينكرافت: 1.20.x – 1.21.10
الإضافات: McMMO
يضيف نظام لعب الأدوار الشهير mcMMO إلى خوادم ماينكرافت آليات لترقية المهارات، مثل الصيد والتعدين وعلم الأعشاب. ومع ذلك، لم يوفّر مطورو الإضافة الأصلية نظامًا مرنًا لمنح العناصر أو العملة أو الألقاب المخصصة تلقائيًا عند بلوغ اللاعبين مستويات معينة. تحل الإضافة المكملة mcMMO Rewards هذه المشكلة بالتحديد. فهي تربط نظام مستويات mcMMO بأوامر وحدة تحكم الخادم، مما يتيح لأصحاب الخوادم إنشاء مكافآت تلقائية للاعبين النشطين دون كتابة نصوص برمجية معقدة.
معالجة الأحداث والتكامل مع واجهة البرمجة
تعمل إضافة mcMMO Rewards كمستمع أحداث (Event Listener) خفيف الوزن يتصل مباشرة بنواة خادم Spigot/Paper، ويتواصل مع واجهة برمجة التطبيقات الرسمية لإضافة mcMMO.
اعتراض حدث McMMOPlayerLevelUpEvent
في كل مرة يرتقي فيها اللاعب بمستوى في أي مهارة (على سبيل المثال بتعدين الخام أو حصاد المحاصيل)، تُصدر mcMMO حدث McMMOPlayerLevelUpEvent. تعترض إضافة mcMMO Rewards هذا الحدث وتنفذ المنطق التالي:
تقرأ اسم المهارة والمستوى الجديد الذي بلغه اللاعب.
تقارن هذه البيانات بقوائم المكافآت المحددة في ملف الإعداد
config.yml.إذا وُجدت مطابقة، تنفذ الإضافة نيابةً عن وحدة التحكم قائمة الأوامر المُعدة، مع استبدال العنصر النائب
%player%باسم اللاعب.
قيود مهمة على معالجة الأحداث
نظرًا لأن الإضافة مرتبطة حصريًا بحدث McMMOPlayerLevelUpEvent، فهي تستجيب فقط لترقيات المستوى الطبيعية التي تتحقق أثناء اللعب. ⚠️ إعادة تعيين المستويات وتعديلات قاعدة البيانات: إذا قام مسؤول بتغيير مستوى لاعب مباشرةً عبر ملفات قاعدة بيانات SQLite/MySQL (مثلًا أثناء ترحيل الإحصاءات أو عملية مسح شامل)، أو استخدم أوامر وحدة تحكم تغيّر قيمة المستوى دون إطلاق حدث الترقية القياسي، فلن يتم تفعيل المكافآت. كما لا تدعم الإضافة منح المكافآت بأثر رجعي: إذا كان اللاعب قد بلغ بالفعل المستوى 50 قبل تثبيت mcMMO Rewards، فلن يحصل على مكافآت المستويات التي تجاوزها سابقًا (10، 20، إلخ) حتى يبلغ المستوى التالي.
بنية ملف config.yml وإعداد المكافآت
تُعرَّف جميع المكافآت في ملف إعداد واحد، plugins/mcMMORewards/config.yml. وبفضل بساطة صيغة YAML، يمكن للمطورين بناء أنظمة تحفيز متعددة المستويات بسرعة.
وصف صيغة الإعداد
يتبع كل قسم من المكافآت تسلسلًا هرميًا صارمًا:
اسم المهارة (Skill): يجب أن يطابق الاسم الرسمي للمهارة في mcMMO (مثل
miningوwoodcuttingوswordsوherbalism).المستوى (Level): رقم صحيح يمثل المستوى الذي تُنفذ عنده الأوامر.
قائمة الأوامر: قائمة إجراءات وحدة التحكم. لا داعي لإضافة شرطة مائلة
/في بداية الأوامر، لأنها جميعًا تُنفَّذ مباشرة من قِبل الخادم نيابةً عن وحدة التحكم (بمستوى OP).
مثال على ملف الإعداد
فيما يلي مثال على ملف مُهيكل بشكل صحيح لمنح العناصر والأموال:
rewards:
mining:
10:
- "give %player% iron_ingot 5"
- "broadcast &6[RPG] &e%player% &fдосяг 10-го рівня видобутку руди!"
50:
- "eco give %player% 1000"
- "give %player% diamond 3"
swords:
25:
- "xp give %player% 500"في هذا المثال، عندما يبلغ اللاعب %player% المستوى 10 في مهارة mining، فإنه يحصل على سبائك حديد ويتم بث رسالة إلى الخادم بأكمله. وعند بلوغ المستوى 50، يحصل اللاعب على 1000 وحدة من العملة عبر إضافة اقتصادية (مثل EssentialsX) و3 قطع من الألماس.
إدارة الإضافة: الأوامر والصلاحيات
بما أن mcMMO Rewards إضافة صغيرة الحجم للغاية، فإن قائمة أوامرها وصلاحياتها تقتصر فقط على الوظائف الإدارية.
أمر إعادة تحميل الإعدادات
لا حاجة لإعادة تشغيل خادم ماينكرافت بأكمله أو مقاطعة اللعب لتطبيق أي تغييرات في ملف config.yml. يكفي تنفيذ الأمر: /mcmmorewards reload يقوم هذا الأمر بإلغاء تحميل الإعدادات القديمة من ذاكرة الخادم وإعادة قراءة ملف الإعداد، مما يطبق المكافآت الجديدة فورًا.
صلاحيات المسؤولين (Permissions)
لأمان الخادم، تقتصر القدرة على تنفيذ أمر إعادة التحميل على صلاحية مخصصة (permission node). لا يملك اللاعبون العاديون إمكانية الوصول إلى هذا الأمر. لمنح هذا الحق لمسؤول أو مشرف (عبر LuckPerms مثلًا)، استخدم العقدة التالية: mcmmorewards.reload افتراضيًا، تُمنح هذه الصلاحية تلقائيًا لأي لاعب يحمل صفة مشغّل الخادم (OP).
الخلاصة
تُعد إضافة mcMMO Rewards أداة مساعدة رائعة لخوادم ماينكرافت التي تحتوي على عناصر لعب أدوار وبقاء وتستخدم نظام مهارات mcMMO. فهي تتيح إعداد منح المكافآت التلقائي بسهولة مقابل النشاط داخل اللعبة، دون الحاجة إلى تعلم لغات برمجة نصية معقدة أو استخدام نصوص برمجية ثقيلة.
مقارنةً بالنصوص البرمجية المعقدة مثل Skript (التي تتطلب كتابة صيغة خاصة للاستماع إلى أحداث mcMMO) أو إضافات المهام الكاملة، تقدم mcMMO Rewards نظامًا في غاية البساطة والسرعة في الإعداد، ولا يكاد يستهلك موارد الخادم. ومع ذلك، فإن اعتمادها الكامل على تثبيت إضافة mcMMO، واقتصار تنفيذ الأوامر على وحدة التحكم فقط، يُعدّان من أبرز قيودها. تُعد هذه الإضافة مثالية للخوادم التي ترغب في إضافة مكافآت بسيطة وسريعة لجمع الموارد أو تطوير مهارات القتال.
التثبيت
التثبيت النموذجي يستغرق حوالي 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.











