مود Better Beds: تحسين تصيير ونماذج أسرة ثلاثية الأبعاد في ماين كرافت
مراجعة فنية مفصلة لمود تحسين العميل Better Beds لماين كرافت لزيادة معدل الإطارات (FPS).
مراجعة فنية مفصلة لمود تحسين العميل Better Beds لماين كرافت لزيادة معدل الإطارات (FPS).
المتطلبات:
محمل المودات: Fabric / NeoForge / Quilt
إصدار ماين كرافت: 1.16 – 1.21.x
يقوم مود Better Beds بإعادة كتابة آلية تصيير الأسرة في ماين كرافت، مستبدلاً مصير كيانات الكتل الثقيل في اللعبة الأساسية بمحرك النماذج الثابتة القياسي. في اللعبة الأساسية، تتم معالجة الأسرة كـ Block Entity Renderer (BER)، مما يجبر المعالج المركزي (CPU) على إعادة حساب هندستها في كل إطار. يحول Better Beds الأسرة إلى كتل كلاسيكية بنماذج JSON، وبفضل ذلك يتم نقل تصييرها بالكامل إلى بطاقة الرسوميات (GPU). يوفر هذا زيادة كبيرة في معدل الإطارات (FPS) بالقرب من القرى أو في ردهات الألعاب الجماعية ويسمح بتخصيص الأسرة عبر حزم الموارد القياسية.
المشاكل الفنية لتصيير الأسرة في اللعبة الأساسية
في ماين كرافت الأساسية (Vanilla)، يتم التعامل مع الأسرة، الصناديق، اللافتات، والرايات ككائنات خاصة — كيانات الكتل (Block Entities). على عكس الحجر أو الخشب العادي، والتي يتم دمجها في شبكة القطعة (Chunk Mesh) الثابتة أثناء تحميلها، تتطلب كيانات الكتل مصيراً فردياً (Block Entity Renderer).
المشاكل التي يسببها هذا النهج في اللعبة الأساسية:
حمل زائد على وحدة المعالجة المركزية (CPU). يُجبر المعالج في كل مللي ثانية على الاستعلام عن إحداثيات كل سرير قريب وإرسال تعليمات رسم منفصلة إلى بطاقة الرسوميات.
نقص تحسين الإقصاء (Occlusion Culling). يقوم مصير الكيانات في اللعبة الأساسية برسم الأسرة حتى عندما تكون خلف الجدران أو تحت الأرضية، مما يهدر موارد حاسوبك.
انخفاض الأداء (FPS lag). إذا دخلت قرية كبيرة بها العشرات من القرويين أو لعبت على خوادم في أوضاع مثل BedWars حيث يتم وضع العديد من الأسرة في القواعد، يمكن أن ينخفض معدل الإطارات فجأة وبشكل كبير بسبب التحميل الزائد على وحدة المعالجة المركزية من مسارات التصيير.
التحسين وآلية عمل Better Beds
يزيل مود Better Beds مصير كيان الكتلة (Block Entity Renderer) للأسرة تماماً، ويحولها إلى كتل ثلاثية الأبعاد قياسية.
كيف يعمل التحسين:
أثناء تحميل القطعة (Chunk)، تقرأ اللعبة نموذج السرير ككائن ثابت، على غرار السلالم أو الأسوار.
يتم دمج هندسة السرير (تُخبز) في شبكة القطعة ثلاثية الأبعاد العامة (Chunk Mesh).
تقوم بطاقة الرسوميات برسم القطعة بأكملها مع السرير في تمريرة واحدة (Draw Call واحد)، دون إشراك المعالج المركزي في العمليات الحسابية لكل إطار على الإطلاق.
إذا كان السرير مخفياً خلف كتل غير شفافة أخرى، فإن خوارزميات الإقصاء (Occlusion Culling) توقف تصييره تلقائياً، مما يوفر ذاكرة بطاقة الرسوميات.
نظراً لأن التعديل يعمل حصرياً على جانب العميل، فإنه لا يغير منطق اللعبة. تحتفظ الأسرة بجميع وظائفها: يمكنك النوم عليها، إعادة تعيين نقطة التكاثر الخاصة بك، ويتعرف عليها القرويون دون مشاكل كأماكن عمل أو نوم. لا يتطلب المود تثبيته على الخادم، لذلك يمكنك استخدامه بحرية أثناء اللعب في وضع تعدد اللاعبين.

السياق التاريخي: لماذا أصبحت الأسرة كيانات
كان قرار Mojang بجعل الأسرة كيانات كتل خطوة ضرورية في الماضي. حتى الإصدار 1.12 ضمناً، استخدمت ماين كرافت نظام معرفات كتل (Block ID) قديماً يخصص 4 بتات فقط لبيانات كل كتلة الوصفية (بحد أقصى 16 حالة مختلفة).
بالنسبة للسرير، كان من الضروري ترميز:
16 لوناً مختلفاً من الصوف.
جزأين للسرير (الرأس والقدم).
4 اتجاهات للوضع (شمال، جنوب، شرق، غرب).
أعطى هذا 128 مجموعة من الحالات، والتي لم يكن من الممكن فيزيائياً أن تتناسب مع قيود النظام القديم. من أجل عدم إهدار العشرات من معرفات الكتل المجانية الثمينة، قام المطورون بتحويل السرير إلى Tile Entity (سلف Block Entity)، ونقلوا حفظ الألوان والاتجاهات إلى بيانات وصفية منفصلة، والتصيير إلى المصير القائم على وحدة المعالجة المركزية.
في الإصدار 1.13 ("The Flattening")، أعاد المطورون كتابة نظام المعرفات بالكامل، مما سمح بإنشاء كتل بعدد غير محدود من الحالات. ومع ذلك، ظل كود الأسرة دون تغيير. يحل Better Beds أساساً هذا الدين التقني القديم من خلال إعادة الأسرة إلى تنسيق الكتلة القياسي.
التخصيص ودعم حزم الموارد
تستخدم أسرة اللعبة الأساسية نسيجاً كبيراً واحداً ممتداً فوق نموذج كيان مسطح. تغيير هندسة السرير (على سبيل المثال، جعل الأرجل مستديرة أو إضافة بطانية ضخمة) باستخدام حزم الموارد العادية في اللعبة الأساسية أمر مستحيل دون تثبيت محسنات ثقيلة مثل OptiFine مع ميزة نماذج الكيانات المخصصة (CEM).
يجعل Better Beds الأسرة مفتوحة لأي تخصيص رسومي. نظراً لأن السرير أصبح الآن كتلة عادية، يمكنك إنشاء أو تنزيل حزمة موارد تحتوي على ملف bed.json في مجلد models/block/.
يتيح لك ذلك:
إنشاء نماذج أسرة ثلاثية الأبعاد كاملة مع وسائد، بطانيات، وأرجل مفصلة.
استخدام أنسجة متحركة أو إضافة عناصر تتوهج في الظلام (عبر تظليلات PBR).
إضافة تفاصيل حجمية تتجاوز الإطار المستطيل القياسي.
افتراضياً، يتضمن التعديل نماذج JSON مدمجة تنسخ مظهر أسرة اللعبة الأساسية تماماً، لذلك بدون تثبيت حزم موارد تابعة لجهات خارجية، لن تلاحظ أي اختلاف بصري، لكنك ستحصل على زيادة في الأداء.
التوافق والقيود
يتمتع التعديل بمستوى عالٍ من التوافق مع محسنات الرسومات الأخرى (Sodium، Embeddium، Iris، Lithium)، لأنه يستخدم نفس الروابط لتحسين تصيير القطع (Chunks).
القيود والتعارضات:
Bedspreads. هذا المود الشهير، الذي يسمح بتطبيق أنماط الرايات على الأسرة، غير متوافق مع Better Beds. السبب هو أن Bedspreads مرتبط بشكل صارم بمصير كيانات الكتل الأساسي لرسم الراية فوق السرير.
مودات الأسرة المخصصة. إذا أضاف مود آخر أنواعاً جديدة من الأسرة واستخدم مصير النماذج القياسي لذلك، فستحتاج إلى حزمة موارد منفصلة مع نماذج JSON لهذه الأسرة الجديدة. ستعمل المودات التي تسجل الأسرة عبر مصيرات BER مخصصة خاصة بها بشكل مستقر، لكنها لن تحصل على زيادة FPS من Better Beds.
رأي الكاتب
يعتبر Better Beds حلاً فنياً فعالاً لتحسين جانب العميل في ماين كرافت. إن استبدال طريقة تصيير الأسرة القديمة بنماذج JSON ثابتة يلغي تماماً الحمل على وحدة المعالجة المركزية لكل إطار، مما يسمح لبطاقة الرسوميات برسم الأسرة كجزء من المناظر الطبيعية.
بالمقارنة مع مودات تغيير نماذج الكيانات الثقيلة، يقدم Better Beds بديلاً خفيف الوزن يركز حصرياً على تحسين الأسرة وتوسيع الاحتمالات لمنشئي حزم الموارد. العيب الرئيسي هو عدم توافقه مع المودات التي تعدل مصير الكيانات في اللعبة الأساسية (مثل Bedspreads)، بالإضافة إلى الحاجة إلى إضافة نماذج الأثاث يدوياً من بعض مودات الجهات الخارجية. سيكون التعديل مثالياً لك إذا كنت تلعب على جهاز كمبيوتر ضعيف، أو تزور قواعد كبيرة أو قرى بها الكثير من الأسرة بشكل متكرر، أو تريد تثبيت أنسجة أثاث ثلاثية الأبعاد جميلة دون فقدان الأداء.
التثبيت
التثبيت النموذجي يستغرق حوالي 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.











