تلصق تقرير عطل في ChatGPT فيسمّي بثقة مودًا غير موجود أصلًا في حزمتك. تطلب وصفة KubeJS فتحصل على event.recipes.minecraft.shaped(...)، وهي صيغة قديمة لا تطابق أمثلة وصفات KubeJS الحالية. تطلب كتلة FTB Quests فيعطيك فواصل بنمط JSON، وهو ما قد يكسر تنسيق FTB SNBT متعدد الأسطر المستخدم في ملفات المهام من حقبة 1.21.1.
الأداة ليست معطلة. الموجّه هو المعطل. غالبًا ما ترتد نماذج الذكاء الاصطناعي إلى أمثلة قديمة لتعديل Minecraft، وهو أمر محفوف بالمخاطر لملفات KubeJS وFTB Quests الحالية. أعطِ النموذج إصدار اللعبة الدقيق وبنية المُحمّل وتنسيق الملف المستهدف ومثالًا عاملًا من شفرتك، فينتقل الناتج من «خطأ بثقة» إلى «صحيح في معظمه، تحقق من الباقي».
هذا هو جوهر الأمر: تعمل هذه الموجّهات في أي مساعد تدفع مقابله بالفعل (ChatGPT أو Claude أو Copilot)، دون تسجيل في أداة أعطال ودون اشتراك إضافي. وهي تفترض أنك تعرف قراءة الناتج. كود KubeJS المولَّد بالذكاء الاصطناعي اختصار للصياغة لمن يعرف KubeJS؛ وإن لم تستطع رصد معرّف عنصر مُختلق فسيلدغك. فيما يلي خمسة موجّهات مخصصة لكل مهمة وتراعي الإصدار، مع مثال واقعي لما يعود به كل منها وملاحظة عن موضع الخلل.
الخلاصة السريعة
أفضل موجّهات ChatGPT لتطوير حزم مودات Minecraft تقدّم ثلاثة أشياء في كل مرة: إصدار Minecraft الدقيق، ومُحمّل المودات الدقيق وإصداره، ومثالًا عاملًا من شفرتك أنت. بهذا السياق ينتج الذكاء الاصطناعي مسودات أولى أنفع لفرز الأعطال ووصفات KubeJS وSNBT الخاص بـFTB Quests وقوائم المودات ورسائل الالتزام. لكنك أنت من يتحقق من كل معرّف عنصر واستدعاء واجهة برمجية ومعرّف مهمة ست عشري. الذكاء الاصطناعي يسرّع مطوّر مودات كفؤًا، لكنه لا يؤلّف الحزمة.
ما لن تفعله هذه الموجّهات
اضبط توقعاتك قبل أن تنسخ أي شيء:
- لن تبني لك حزمة مودات. كل موجّه يصوغ عنصرًا واحدًا (وصفة أو كتلة مهمة أو تشخيصًا) تضعه في حزمة تصممها أنت أصلًا.
- لن تعلّمك KubeJS أو SNBT. إذا بدت لك الصيغة أدناه غير مألوفة، فستمرّ أنماط الفشل من أمامك دون أن تلاحظها. تعلّم التنسيق أولًا، ثم استخدم الذكاء الاصطناعي للتسريع.
- لن تحلّ محل خادم اختبار حقيقي. يحلل الذكاء الاصطناعي تتبّع الاستدعاءات، لكنه لا يستطيع أن يخبرك بأن الحزمة تُقلع فعلًا مع تحميل 150 مودًا.
- لن تضمن ناتجًا صحيحًا. تعامل مع كل ما يعيده الذكاء الاصطناعي كمسودة أولى تراجعها، لا كإجابة نهائية.
لماذا يحتاج الذكاء الاصطناعي إلى السياق الصحيح قبل أن يكتب أي شيء

إليك الفرق بين موجّه ناجح وآخر عام من نوع «اصنع لي وصفة Minecraft»: السياق. أسقِط الإصدار والمُحمّل، وقد يولّد النموذج صيغة KubeJS قديمة لحزمتك على 1.21.1 وNeoForge، أو يخترع معرّفات عناصر غير موجودة، أو ينسّق FTB SNBT كأنه JSON عادي. قد لا يفعل السكربت شيئًا أو يفشل بخطأ مدفون في سجل عليك قراءته على أي حال.
لذلك يحمل كل موجّه في هذه المقالة السياق الثلاثي نفسه، وتملؤه أنت من حزمتك:
- إصدار Minecraft الدقيق: 1.20.1 أو 1.21.1 أو أيًّا كان الإصدار الذي تستخدمه فعلًا.
- مُحمّل المودات الدقيق وإصداره: Forge أو NeoForge أو Fabric أو Quilt، مع رقم البنية.
- مثال عامل من شفرتك أنت، كلما أمكنك تقديم واحد. وصفة حقيقية واحدة من
server_scripts/، وكتلة مهمة صالحة واحدة، ورسالة التزام سابقة واحدة. هذه أقوى رافعة للجودة على الإطلاق: يحاكي النموذج الأسلوب وواجهة البرمجة اللذين تعطيهما له بموثوقية أعلى بكثير مما يخمّنه.
نصيحة احترافية: سطر الإصدار ليس زخرفة اختيارية. فـKubeJS 6.x لـMinecraft 1.20.1 وKubeJS 7.2.x لـMinecraft 1.21.1 هدفان مختلفان، والبنية المثبتة بالضبط لا تزال مهمة. الموجّه الذي يغفل إصدارات اللعبة والمُحمّل وKubeJS الدقيقة إنما يطلب من النموذج أن يخمّن.
موجّه: فرز سجلات الأعطال

يحوّل هذا الموجّه جدارًا من تتبّع الاستدعاءات إلى قائمة مرتّبة بالمودات المشتبه بها وخطوة تالية، وهو أسرع طريق لاختصار بحث ثنائي أعمى.
You are helping me diagnose a Minecraft crash. Here is the context:
- Minecraft version: 1.21.1
- Mod loader + version: NeoForge [paste your exact build]
- What triggered it: crash on world load, ~150 mods
- (If it looks like a missing-dependency error, I'll paste the mod list too)
Here is the full crash report (or the first 100 lines plus every Caused by: block):
[paste the crash-report text or the top of latest.log]
Tell me:
1. The most likely cause, in one sentence.
2. A ranked list of the 2-3 mods most likely involved and why.
3. The single next step you'd take to confirm which one it is.
Keep it short. Don't guess at mods that aren't in the trace.
تبدو الإجابة الواقعية هكذا:
السبب المرجّح: تعارض mixin أثناء تحميل العالم. قد يكون موّدان يحقنان في الصنف نفسه. المشتبه بهم: (1) الإطار org.spongepowered.asm.mixin.transformer يشير إلى mixin يفشل في التطبيق؛ والمود المالك للصنف المستهدف هو المشتبه به الأول. (2) يظهر مود ثانٍ يمسّ عرض الكيانات في الإطار الأعلى. (3) وأقل احتمالًا، مود إعدادات حُمِّل قبيل الفشل. الخطوة التالية: انزع المشتبه بهما، وشغّل اللعبة، ثم أعدهما واحدًا تلو الآخر. هذا يؤكد الثنائي أسرع من حذف نصف القائمة.
ما ينبغي تعديله: إذا عاد التشخيص غامضًا («ثمة مود يتعارض»)، فأنت لم تعطه أثرًا كافيًا: الصق تقرير العطل كاملًا بدل أول 100 سطر، وأضف قائمة المودات بإصداراتها. وإن ظل مراوغًا، فالسجل فعلًا لا يسمّي جانيًا، وتعود إلى البحث الثنائي.
أين يخطئ: سيسمّي الذكاء الاصطناعي مودًا جانيًا بثقة تامة بينما السبب الحقيقي شيء آخر في الأثر. تعامل مع إجابته كفرضية مرتّبة لا كحكم. وأنت تؤكدها بنزع المودات فعليًا وتشغيل اللعبة.
هذا هو الجزء الذي يتخطاه الناس. يقرأ الذكاء الاصطناعي تتبّع الاستدعاءات، لكنه لا يستطيع إخبارك بأن الحزمة تُقلع نظيفة في الظروف الحقيقية، لأن بعض الأعطال لا تظهر إلا حين تُهيَّأ عدة مودات معًا على خادم لا في تشغيل فردي سريع. هنا تحتاج إلى خادم اختبار مؤقت. كما يوفّر سوق Cloudzy نشر Minecraft Forge بنقرة واحدة على Ubuntu Server 24.04 LTS. يذكر السوق 2 غيغابايت من الذاكرة كحد أدنى، لكن هذا هو الحد الأدنى للمنصة لا هدفًا لتحجيم حزمة مودات كبيرة. لحزمة اختبار صغيرة، يُعد 4 غيغابايت من الذاكرة و2 vCPU نقطة انطلاق معقولة؛ ولأكثر من 100 مود، ابدأ من نحو 8 غيغابايت و4 vCPU، ثم عدّل بحسب عدد اللاعبين وتوليد العالم والقياس الفعلي للأداء. شغّله، وأكّد الإصلاح تحت الحمل، ثم أزله.
استضف خوادم ألعاب خالية من التأخير مع استضافة VPS NVMe عالية السرعة.
خادم VPS للألعابموجّه: توليد وصفات KubeJS
يصوغ هذا الموجّه وصفة KubeJS بواجهة البرمجة نفسها التي تستخدمها حزمتك، شريطة أن تلصق أولًا وصفة عاملة من سكربتاتك ليطابقها النموذج.
Write a KubeJS recipe for me.
- Target: Minecraft 1.21.1 / NeoForge [paste exact build] / KubeJS [paste exact installed 7.2.x build]
(For the older line, use: Minecraft 1.20.1 / your exact loader build / your exact installed KubeJS 6.x build)
- Goal: a shaped recipe that crafts 3x create:andesite_alloy from
iron nuggets and andesite.
Here is one working recipe from my server_scripts/ so you match my API style:
[paste one real ServerEvents.recipes block from your pack]
Output only the recipe, inside a ServerEvents.recipes(event => {...}) block.
Use item IDs exactly as I'd find them in-game; flag any ID you're unsure exists.
مع خط KubeJS 7.2.x الخاص بـMinecraft 1.21.1 ومثال ملصوق، تحصل على صيغة event.shaped() الحالية كما ترد في وثائق وصفات KubeJS:
// KubeJS 7.2.x - Minecraft 1.21.1 / NeoForge
ServerEvents.recipes(event => {
event.shaped(
Item.of('create:andesite_alloy', 3),
['III', 'IAI', 'III'],
{ I: 'minecraft:iron_nugget', A: 'minecraft:andesite' }
)
})
ما ينبغي تعديله: لـMinecraft 1.20.1، حدّد بنية المُحمّل الدقيقة وبنية KubeJS 6.x المثبتة بالضبط ليطابق النموذج ذلك الخط. ولإزالة وصفة أصلية أو استبدالها، اطلب صراحةً event.remove({ output: '...' }) or event.replaceInput(...) بالاسم: سمِّ الدالة كي لا يرتجل.
أين يخطئ: يغلب هنا نوعان من الأخطاء: معرّفات العناصر المُختلقة (create:andesite_alloy حقيقي؛ create:andesite_gear قد لا يكون كذلك) والناتج بإصدار خاطئ حين تنسى سطر الهدف. تحقق من كل معرّف عنصر مقابل المودات المثبتة لديك، ثم ضع السكربت في حزمة الاختبار واقرأ kubejs/logs/server.log.
نصيحة احترافية: لصق مثال واحد تعرف أنه سليم من server_scripts/ قبل أن تطلب أي شيء جديد أثمن من أي صياغة للموجّه. فالنموذج يقلّد المثال الملموس الماثل أمامه بأمانة أكبر بكثير من واجهة البرمجة «الصحيحة» المجردة التي يتذكرها نصف تذكّر.
موجّه: كتابة كتب FTB Quests (بصيغة SNBT على 1.21.1)

يصوغ هذا الموجّه مدخلات FTB Quests بـ صيغة SNBT الموسّعة من FTB لـMinecraft 1.21.1. وهي أصعب مهام الذكاء الاصطناعي في هذه المجموعة، لأن SNBT يشبه JSON والنموذج يتوق للتعامل معه كأنه JSON. أما لـMinecraft 26.1.2 وما بعده، فـ يستخدم FTB Quests صيغة JSON5 بدلًا منها، لذا لا تستخدم موجّه SNBT هذا هناك.
Write an FTB Quests task block in FTB SNBT for Minecraft 1.21.1 / NeoForge.
FTB SNBT is NOT JSON. Follow these rules exactly:
- Do not use commas between fields in multiline objects.
- Match the 16-character UPPERCASE hexadecimal ID format used by my existing quests
(example: 7942A6A571A4C5EB).
- Put the required amount in the task-level count field as a long (count: 8L); keep the nested item stack count at 1.
- This is a task block only; do not add chapter-level fields such as filename or quests.
Goal: an "item" task requiring 8x minecraft:diamond.
Match this known-good block's structure exactly:
[paste a valid SNBT block from your existing chapter file]
Output only the SNBT block.
اجعل الناتج على غرار كتلة تعرف مسبقًا أنها صالحة:
{
id: "7942A6A571A4C5EB"
type: "item"
item: {
count: 1
id: "minecraft:diamond"
}
count: 8L
}
ما ينبغي تعديله: لفصل كامل بدل مهمة واحدة، اطلب غلاف الفصل مع filename و quests: [...] ثم اشترط معرّفًا ست عشريًا مميزًا من 16 حرفًا لكل مهمة. وإن أعاد استخدام المعرّفات أو غيّر التنسيق، فالصق معرّفين أو ثلاثة معروفة الصحة واطلب منه مطابقتها.
أين يخطئ: يضيف فواصل JSON إلى FTB SNBT متعدد الأسطر، ويضع الكمية المطلوبة داخل مكدّس العناصر المتداخل بدل حقل count على مستوى المهمة، أو يولّد معرّفات مهام مشوّهة. أيٌّ من هذه قد يمنع تحميل فصل أو يجعل عدّ المهمة خاطئًا. تحقق من كل كتلة مقابل بنية تعرف أنها تعمل، وراجع سجل الخادم قبل أن تقترب من config/ftbquests/.
موجّه: انتقاء المودات حسب الثيمة
يستخدم هذا الموجّه الذكاء الاصطناعي كاختصار لتوليد الأفكار (قائمة مختصرة بمودات ذات ثيمة لتذهب وتتحقق منها)، لا كمصدر حقيقة عمّا هو موجود.
Suggest mods for a modpack with this theme: [your theme, e.g. "steampunk
automation, tech-focused, no magic"].
- Minecraft version: 1.21.1
- Loader: NeoForge
For each suggestion, give me:
- The mod name and what it contributes to the theme.
- Whether you're confident it exists for 1.21.1 / NeoForge, or unsure.
Mark anything you're not certain about as UNVERIFIED. Do not assert
availability you're not sure of; I'll confirm each one on CurseForge/Modrinth.
الإجابة المفيدة تفصل الاختيارات المؤكدة عن التخمينات:
أمثلة مؤكدة لـ1.21.1 / NeoForge (تحقق من الملف بالضبط): إنشاء، للأتمتة والآليات؛ Immersive Engineering، للآلات متعددة الكتل والتقنية الصناعية. UNVERIFIED: [إضافات أصغر لا يستطيع النموذج تأكيدها]. راجع صفحة المشروع قبل إضافة أي شيء.
ما ينبغي تعديله: قيّده أكثر بأن تطلب فقط مودات لها صفحات مؤكدة على CurseForge أو Modrinth، واطلب سطرًا واحدًا عن التوافق لكل مود (التبعيات والتعارضات المعروفة) لتصير قائمتك قائمة تحقق بحثية أيضًا.
أين يخطئ: يختلق الذكاء الاصطناعي أسماء المودات وتوافر الإصدارات بلا قيد. سيخترع مودًا يبدو معقولًا لكنه غير موجود، أو يزعم وجود بنية لـ1.21 لشيء توقّف عند 1.19. كل اقتراح هو خيط تتحقق منه على CurseForge أو Modrinth، لا مدخل في قائمة مودات لديك.
موجّه: صياغة سجلات التغييرات ورسائل الالتزام
هذه أقل مهام الذكاء الاصطناعي خطرًا وأعلاها موثوقية في المجموعة كلها: أعطه فرقًا برمجيًا أنشأته أنت واطلب منه تلخيصه، فهو بارع في ذلك فعلًا.
Here are the changes in this modpack update (from my packwiz .pw.toml
adds/removes/updates):
[paste your git diff or a list of added/removed/updated mods]
Write two things:
1. A Conventional Commit message (type(scope): summary + a short body).
2. A short player-facing changelog entry, with a friendlier tone and no file names.
Only summarize the changes I gave you. Don't invent changes I didn't list.
أعطه فرقًا حقيقيًا فيعيد لك شيئًا تنشره فعلًا:
feat(mods): update Create stack and remove old storage entry
- Added Create: Steam 'n' Rails and Create Crafts & Additions
- Removed Simple Storage Network
- Updated JEI to the 1.21.1 build listed in the supplied diff
إلى اللاعبين: يوسّع هذا التحديث شجرة تقنيات Create بالقطارات والآلات الكهربائية، ويزيل مود التخزين المذكور في مجموعة التغييرات، ويحدّث فهرس وصفات JEI.
ما ينبغي تعديله: حدّد النبرة صراحةً: مقتضبة لسجل الالتزامات، وأدفأ للملاحظة الموجهة إلى اللاعبين. ولإصدار كامل، اجمع فرق التحديث كله واطلب أقسام سجل تغييرات مجمّعة (أُضيف / تغيّر / أُزيل).
أين يخطئ: لا شيء تقريبًا، ما دمت تُبقيه ملخِّصًا للفرق الذي زوّدته به. الخطر الحقيقي الوحيد هو أن يحشو سجل التغييرات بتغييرات لم تجرها، فلا تطلب منه «تخمين ما تغيّر أيضًا»؛ أعطه الفرق الفعلي وألزمه به.
متى لا تثق بالناتج (أنماط الفشل في لمحة)
إن حفظت قسمًا واحدًا فليكن هذا. في كل المهام أعلاه، يفشل الذكاء الاصطناعي بمجموعة صغيرة ومتوقعة من الطرق، ولكل منها حركة تعويضية تملك عناصرها بالفعل:
| نمط الفشل | أين يظهر | كيف تعوّضه |
|---|---|---|
| معرّفات عناصر مُختلقة | وصفات KubeJS وعناصر المهام | تحقق من كل معرّف مقابل موداتك الفعلية؛ والصق معرّفات حقيقية في الموجّه |
| إصدار خاطئ من واجهة KubeJS | وصفات KubeJS | ضع إصدار اللعبة وبنية المُحمّل وبنية KubeJS الدقيقة في كل موجّه |
| التعامل مع SNBT كأنه JSON (الفواصل) | FTB Quests | اذكر داخل الموجّه «لا فواصل بين الحقول من المستوى نفسه»؛ وتحقق مقابل كتلة معروفة الصحة |
| معرّفات مهام غير صالحة (أحرف صغيرة / طول خاطئ) | FTB Quests | اشترط 16 حرفًا ست عشريًا بأحرف كبيرة؛ وزوّده بمعرّفات صالحة كنموذج |
| توافر مودات مُختلق | انتقاء المودات | أكّد كل اقتراح على CurseForge/Modrinth قبل إضافته |
تغطي تقنيتان معظم الأمر. أولًا، ضع في كل موجّه إصدار اللعبة الدقيق وبنية المُحمّل والتنسيق المستهدف ومثالًا عاملًا. ثانيًا، اعمل بمرورين: ولّد العنصر، ثم أعد لصقه واطلب من النموذج مراجعته وفق قيود محددة مثل فواصل FTB SNBT أو صيغة معرّفات المهام. فهو يلتقط نصيبًا مفيدًا من أخطائه حين تجبره على النظر مرتين.
لا شيء من هذا يغنيك عن قراءة الناتج. كل ما يعنيه أن القراءة تستغرق دقائق بدل الساعات التي كنت ستقضيها في الكتابة من الصفر.
الخاتمة
يكون ChatGPT مفيدًا في تطوير حزم المودات حين تجعله يعمل ضمن القيود الحقيقية لحزمتك. أعطه إصدار اللعبة الدقيق وبنية المُحمّل والتنسيق المستهدف ومثالًا معروف الصحة؛ ثم تعامل مع كل وصفة وكتلة مهمة وتشخيص كمسودة يجب أن تنجو من السجلات ومن نسخة اختبار حقيقية. هكذا تحتفظ بميزة السرعة دون أن تمنح النموذج سلطة لم يكتسبها.
الأسئلة الشائعة
هل يستطيع الذكاء الاصطناعي قراءة سجلات أعطال Minecraft؟
نعم. الصق تقرير العطل كاملًا، أو على الأقل أول 100 سطر مع كل كتلة Caused by: مع إصدار Minecraft وبنية المُحمّل. النموذج الكفء يقرأ تتبّع الاستدعاءات ويرتّب المودات المرجّح تسبّبها. استخدمه لاختصار بحث ثنائي أعمى، ثم أكّد الفرضية على نسخة اختبار.
كيف أستخدم ChatGPT لوصفات KubeJS؟
اذكر دائمًا إصدار Minecraft وبنية المُحمّل وبنية KubeJS المثبتة بالضبط. فـKubeJS 6.x هو خط Minecraft 1.20.1، بينما KubeJS 7.2.x هو خط Minecraft 1.21.1. الصق وصفة عاملة من server_scripts/ ليطابق أسلوبك، ثم تحقق من كل معرّف عنصر وأكّد الواجهة البرمجية مقابل سجل KubeJS لديك.
ما الموجّهات التي تنجح في كتابة FTB Quests؟
لـMinecraft 1.21.1، اشرح قواعد SNBT متعدد الأسطر من FTB بوضوح: لا فواصل بين الحقول، ومطابقة صيغة المعرّف الست عشري المكوّن من 16 حرفًا التي تستخدمها المهام الحالية، والحفاظ على لواحق الأرقام المكتوبة حيث يستخدمها المصدر، وعدم خلط حقول المهمة بحقول الفصل مثل filename. أدرج كتلة معروفة الصحة وتحقق من الناتج قبل تحميله. وعلى Minecraft 26.1.2 وما بعده، يخزّن FTB Quests هذه البيانات بصيغة JSON5، فاستخدم مثال JSON5 مطابقًا للإصدار.
هل يكتب الذكاء الاصطناعي مودات أو حزم مودات جيدة لـMinecraft؟
ليس وحده. يسرّع الذكاء الاصطناعي مطوّرًا قادرًا على قراءة ناتجه والتحقق منه، إذ يصوغ الوصفات والمهام والتشخيصات أسرع من كتابتها من الصفر. لكنه لا ينتج بموثوقية مودات أو حزمًا عاملة دون مراجعة. فإن استُخدم كأداة صياغة بيد من يعرف المجال، فهو تسريع حقيقي؛ وإن عُومل كمؤلف مستقل، فسينشر أخطاء كان يمكن تفاديها.
أي إصدار من Minecraft وأي مُحمّل يجب أن أخبر الذكاء الاصطناعي به؟
كلاهما، في كل مرة. اذكر إصدار Minecraft الدقيق، مثل 1.21.1، والمُحمّل وبنيته بالضبط لـForge أو NeoForge أو Fabric أو Quilt. فبدونهما قد يختار النموذج صيغة قديمة أو غير متوافقة مع مُحمّلك. تحقق من النتيجة في حزمة اختبار قبل نقلها إلى الإنتاج.
