UniLib: نظرة عامة على مود المكتبة الخاص بالمطورين وتوافق الحزم في Minecraft
نظرة تقنية تفصيلية على مود المكتبة UniLib من CDAGaming_: التسجيل عبر المنصات، عرض الواجهة، والتبعيات.
نظرة تقنية تفصيلية على مود المكتبة UniLib من CDAGaming_: التسجيل عبر المنصات، عرض الواجهة، والتبعيات.
التبعيات:
المُحمِّل (Loader): Fabric / Forge / NeoForge / Quilt / Rift / Risugami's Modloader
إصدار Minecraft: 1.0 – 26.1.2
تفرض عملية تطوير تعديلات Minecraft عبر منصات متعددة على المطورين مواءمة الكود مع إصدارات اللعبة المختلفة ومع أنواع المُحمِّلات (Loaders) المختلفة. تحل مكتبة UniLib هذه المشكلة من خلال توفير مجموعة أدوات موحدة وواجهة برمجة تطبيقات (API) موحّدة تُبسّط التعامل مع محرك اللعبة. تتولى المكتبة مهمة التوافق، مما يتيح للمودات المعتمدة عليها العمل على أكثر من 50 إصدارًا من Minecraft دون الحاجة لإعادة كتابة الكود. وبفضل ذلك، يحصل اللاعبون على حزم تعديلات (modpacks) مستقرة، بينما يوفّر المطورون الوقت في صيانة كل من إصدارات اللعبة القديمة والجديدة.
الغرض من المكتبة وأهم ميزاتها
في محرك Minecraft، تختلف عملية تسجيل الكتل والعناصر والكيانات (entities) وكيانات الكتل (block entities) الجديدة اختلافًا كبيرًا بين مُحمِّلي Fabric وForge، كما أنها تتغير باستمرار من إصدار إلى آخر. توفر UniLib للمطورين طريقة موحدة لتسجيل الكائنات. فبدلًا من كتابة أصناف (classes) منفصلة لكل مُحمِّل، يستخدم مؤلف المود الدوال القياسية في UniLib التي تتكيّف تلقائيًا مع البيئة الحالية. وهذا يمنع حدوث أعطال أثناء تهيئة اللعبة ويسهّل نقل الكود.
عرض واجهات المستخدم عبر المنصات
غالبًا ما ينكسر عرض شاشات القوائم والأزرار وعناصر الواجهة الرسومية الأخرى عند تحديث إصدارات Minecraft بسبب التغييرات في المكتبات الداخلية للعبة. تحتوي UniLib على مجموعة أدوات مدمجة لرسم النوافذ والأزرار تعمل بنفس الطريقة سواء على إصدارات اللعبة القديمة جدًا أو على الإصدارات الحديثة مثل 1.20 و1.21. وهذا يتيح للمودات الأخرى إنشاء تخصيصات واجهة معقدة مع الحفاظ على نفس المظهر والأداء على أي نظام.
نظام الترجمة والتحديثات
غالبًا ما تؤدي التغييرات في نظام ترجمة Minecraft إلى توقف أسماء العناصر أو الترجمات المصاحبة عن الظهور بشكل صحيح بلغات مختلفة. تحل UniLib هذه المشكلة من خلال أصناف مساعدة خاصة بها للترجمة، تجد ملفات الترجمة الصحيحة بغض النظر عن التغييرات في كود اللعبة الأصلي (vanilla). كما تحتوي المكتبة على أداة للتحقق من التحديثات تُنبّه اللاعب تلقائيًا في القائمة الرئيسية عند صدور إصدارات جديدة من المودات المعتمدة عليها.
المودات المعتمدة وأهميتها العملية
أشهر مود يتطلب وجود UniLib بشكل إلزامي هو CraftPresence. يدمج هذا المود حالة اللاعب مع خاصية Discord Rich Presence، ناقلًا معلومات عن البُعد الحالي، والمنطقة الحيوية (biome)، والصحة، ووقت اللعب. يستخدم CraftPresence أدوات UniLib الرسومية لرسم قائمة الإعدادات الخاصة به، كما يعتمد على نظام التوافق بين الإصدارات ليعمل بثبات على عملاء Minecraft القديمة.
مثال آخر هو مود DropConfirm الذي يعرض تحذيرًا عند إسقاط عناصر ثمينة عن طريق الخطأ. وبدون تثبيت UniLib، لن تتمكن اللعبة التي تحتوي على هذه المودات من التشغيل وستظهر خطأ في التهيئة.
الخلاصة
مقارنةً بتطوير إصدارات منفصلة لكل مُحمِّل وكل تحديث للعبة، تتيح UniLib دمج منطق وواجهة المودات المساعدة في ملف عالمي واحد. أهم قيود المكتبة هو أنها موجهة حصريًا للجانب الخاص بالعميل (client) في اللعبة، ولذلك لا تدعم إضافات جانب الخادم (server). يناسب هذا المود اللاعبين الذين يستخدمون تكامل Discord Rich Presence أو الحماية من إسقاط العناصر عن طريق الخطأ في حزم التعديلات الخاصة بهم.
التثبيت
التثبيت النموذجي يستغرق حوالي 5 دقائق. الخطوات نفسها؛ يختلف فقط المُحمّل والبناء المطابق.
- 1Install a mod loader (Forge, Fabric or NeoForge) that matches your Minecraft version.
- 2Download the mod file (.jar) built for that same version.
- 3Place the .jar into your .minecraft/mods folder.
- 4Launch Minecraft with the modded profile and check the mod loads in-game.











