
Bad Wither No Cookie – Minecraft Java Edition 1.12.2–1.21.10+
التبعيات: · المُحمِّل: Forge / NeoForge / Fabric / Quilt · إصدار Minecraft: 1.12.2 – 1.21.10+ · إصدار التعديل: v3.20.4 · المكتبات المطلوبة…
التبعيات: · المُحمِّل: Forge / NeoForge / Fabric / Quilt · إصدار Minecraft: 1.12.2 – 1.21.10+ · إصدار التعديل: v3.20.4 · المكتبات المطلوبة: Cloth Config API (لـ Fabric)، Fabric API (لـ Fabric) يبث عميل Minecraft الأصلي
التبعيات:
· المُحمِّل: Forge / NeoForge / Fabric / Quilt
· إصدار Minecraft: 1.12.2 – 1.21.10+
· إصدار التعديل: v3.20.4
· المكتبات المطلوبة: Cloth Config API (لـ Fabric)، Fabric API (لـ Fabric)
يبث عميل Minecraft الأصلي بعض الأحداث الصوتية إلى عالم اللعب بأكمله بغض النظر عن المسافة بين المصدر واللاعب. يصاحب إنشاء أو موت الـ WITHER، وهلاك ENDER DRAGON، وصواعق البرق مؤثرات صوتية عالية يسمعها جميع المستخدمين على الخادم. وهذا يسبب إزعاجًا صوتيًا كبيرًا، خاصة على الخوادم العامة والمنصات التقنية الخاصة المزودة بمزارع آلية للزعماء. يحل تعديل Bad Wither No Cookie - Reloaded (BWNCR) هذه المشكلة عن طريق توطين البثوث الصوتية العالمية أو كتمها بالكامل على مستوى محرك العميل.
الآلية الأساسية لكتم الأصوات
يُدمج التعديل في نظام الصوت الخاص باللعبة باستخدام أدوات Mixin. فبدلًا من محاولة تصفية الأصوات بعد وصولها إلى قائمة التشغيل العامة، يعترض BWNCR حزم تشغيل المؤثرات الصوتية مباشرة قبل تمريرها إلى SoundManager. وهذا يمنع تحميل موارد صوتية زائدة إلى ذاكرة الحاسوب ويقلل الحمل على النظام الفرعي الصوتي.
بشكل افتراضي، يقوم التعديل بتوطين أو تعطيل بث الأصوات العالمية الحرجة بالكامل. يعرض الجدول أدناه قائمة بالأحداث الصوتية الأصلية التي تخضع للتصفية التلقائية بعد تثبيت التعديل:
الحدث الصوتي (Sound Event ID) | حدث اللعب الموصوف | المعالجة الافتراضية |
| ظهور الـ WITHER في العالم | مُوطَّن / مكتوم |
| قتل الـ WITHER بواسطة لاعب أو البيئة المحيطة | مُوطَّن / مكتوم |
| هلاك ENDER DRAGON | مُوطَّن / مكتوم |
| ضربة برق (رعد) | مُوطَّن / مكتوم |
| الضجيج الخلفي للتاجر الجوّال | مكتوم |
| الضجيج الخلفي للاما | مكتوم |
يعني التوطين أن الصوت يتوقف عن كونه عالميًا. سيسمع اللاعب انفجار الـ WITHER أو ضربة الرعد فقط عندما يكون مصدر الحدث الصوتي ضمن نطاق السمع المعتاد للصوت الأصلي (عادةً 16–32 مكعبًا). أما إذا وقع الحدث في قاعدة أخرى أو على بُعد عدة قِطع (chunks)، فيُحجب التدفق الصوتي بالكامل.
قيد: يحدث حجب الصوت حصريًا على جانب العميل. سيستمر اللاعبون الآخرون على الخادم الذين لا يملكون هذا التعديل في سماع البثوث العالمية بالكامل، ما لم يُضبط الجانب الخادمي من اللعبة على كتم هذه الأحداث عبر أدوات خارجية.
نظام التشخيص والأمر /bwncr listen
للتحكم المتقدم في الأصوات، دمج المطور في التعديل أمر التشخيص /bwncr listen. يساعد هذا الأمر على اكتشاف الأسماء الداخلية للأصوات مباشرة أثناء اللعب، مما يبسّط إضافة المؤثرات الصوتية الخارجية إلى القائمة السوداء.
مبدأ عمل وضع التشخيص:
1. يُدخل اللاعب الأمر /bwncr listen في دردشة اللعبة.
2. يُفعّل المحرك معترِض الأحداث الصوتية، الذي يبدأ بتتبع كل إشارة صوتية تصل إلى سماعات العميل.
3. عند تشغيل أي صوت بالقرب من اللاعب (مثل خطوات وحش، فتح باب، إطلاق موزّع، أو مؤثر من تعديل آخر)، يُعرض في الدردشة المعرّف الدقيق للحدث (مثل minecraft:block.wooden_door.use أو minecraft:entity.zombie.step).
4. إعادة إدخال الأمر /listen يُلغي تفعيل وضع التشخيص.
هذه الأداة بالغة الأهمية لإعداد حزم التعديلات الكبيرة. إذا أضاف تعديل خارجي آلات أو وحوشًا صاخبة، يمكن للاعب بسهولة التقاط بصمة الصوت باستخدام /bwncr listen وإدراجها في ملف الإعدادات.
تهيئة التعديل
يختلف هيكل ملفات التهيئة حسب إصدار Minecraft والمُحمِّل المختار. يدعم التعديل تنسيقين رئيسيين لملفات الإعدادات. (انظر لقطة الشاشة)
التهيئة الحديثة TOML (الإصدارات 1.18.2 – 1.21.10+)
في الإصدارات الأحدث من اللعبة، تُحفظ الإعدادات في الملف bwncr-client.toml (أو bwncr-common.toml) الموجود في الدليل .minecraft/config/. يحتوي الملف على المعاملات الأساسية التالية: (انظر لقطة الشاشة!!!)
التهيئة القديمة CFG (الإصدارات 1.12.2 – 1.16.5)
في إصدارات Forge القديمة، تُكتب الإعدادات في الملف badwithernocookiereloaded.cfg. يتخذ هيكل الملف الشكل الكلاسيكي لإعدادات Forge:
general { |
لتحرير ملف التهيئة، يجب استخدام محررات نصوص تدعم ترميز UTF-8 (مثل Notepad++ أو VS Code). تدخل التغييرات حيز التنفيذ بعد إعادة تشغيل عميل اللعبة. وعند توفر Cloth Config API، يمكن تعديل الإعدادات مباشرة من قائمة اللعبة دون تحرير الملفات يدويًا.
البنية وتحسين الأداء
اعتبارًا من الإصدار 1.18.2، أصبح Bad Wither No Cookie - Reloaded تعديلًا من جانب العميل فقط. فهو لا يجري أي حسابات على الخادم ولا يتطلب أي مزامنة من جانب اللاعبين المتصلين.
في الإصدار v3.20.3، أصلح المطور مشكلة توافق خطيرة في تحديد الجوانب (sidedness). فقد كانت فئات محرك الصوت الخاصة بالعميل تُستدعى سابقًا عند تهيئة التعديل على خادم مخصص، مما يؤدي إلى توقف الجانب الخادمي من اللعبة فجأة مع الخطأ NoClassDefFoundError. عزل التحديث فئات Mixin الخاصة بالعميل تمامًا عن محمّل الخادم.
في الإصدار v3.20.4، طُبّق تحسين مهم: يتحقق المحرك من حالة الصوت قبل تعديل مستوى الصوت. فإذا كان التدفق الصوتي مكتومًا بالفعل بواسطة عملية أخرى أو تعليمة سابقة للتعديل، فلا يُجري BWNCR كتابة متكررة في ذاكرة القناة الصوتية. وهذا يتيح تجنّب التجمّدات الدقيقة (microfreezes) على المعالجات الضعيفة عند كتم عشرات الإشارات الصوتية في آنٍ واحد.
الخلاصة
يُعد تعديل Bad Wither No Cookie - Reloaded أداة نظامية فعّالة للاعبين الذين يقضون وقتًا طويلًا على خوادم ذات أتمتة متطورة. فهو يزيل الضجيج العالمي المزعج، محسّنًا راحة اللعب دون الحاجة إلى التدخل في إعدادات الخادم.
القيد الرئيسي للتعديل هو الفقدان الكامل للإشارات الصوتية المرجعية. فلن يعلم اللاعب بهجوم على قاعدة لاعب آخر أو ببدء عاصفة (إذا كان المعامل silenceLightning مفعّلًا)، وهو ما قد يكون حرجًا على خوادم PvP أو خوادم من نوع Anarchy. وأقرب بديل له هو نظام ضبط مستوى الصوت الأصلي في فئتي «المخلوقات الودودة» و«الطقس»، إلا أنه لا يتيح تعطيل أصوات محددة بدقة (مثل إسكات اللاما مع إبقاء صوت البقرة) ولا يدعم حجب الأصوات الخارجية من تعديلات أخرى، مما يجعل استخدام BWNCR بلا بديل لحزم التقنية الكبيرة.
التثبيت
التثبيت النموذجي يستغرق حوالي 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.











