مقارنة
datapack مقابل plugin
حُدّث في 18 أكتوبر 2026
الـ datapack مجلد من ملفات JSON و.mcfunction تقرؤه Minecraft الأصلية: وصفات، وغنائم، وإنجازات، وأوامر. أما الـ plugin فكود Java يشغّله خادم Paper أو Spigot. كثير من الأفكار يمكن تنفيذها بالطريقتين؛ والخيار الصحيح يعتمد على مكان تشغيلها ومدى تعقيد المنطق.
مثال يناسب الـ datapack جيداً.
ولّد هذا بـ Codexeجنباً إلى جنب
| Datapack | Plugin | |
|---|---|---|
| يحتاج إلى | لا شيء: اللعبة الأصلية تكفي | Paper أو Spigot أو أحد فروعهما |
| اللعب الفردي | نعم | لا |
| يُكتب بـ | JSON وأوامر Minecraft | Java أو Kotlin |
| يجيد | الوصفات، وجداول الغنائم، والإنجازات، والوسوم، وتوليد العالم، والآليات بالأوامر | الأوامر مع الوسائط، وواجهات GUI، والاقتصاد، وقواعد البيانات، والأحداث، والصلاحيات |
| التفاعل مع الأحداث | محدود: الإنجازات، والـ predicates، والدوالّ التي تعمل كل نبضة (tick) | مئات الأحداث: كسر الكتل، والدردشة، والضرر، والنقرات في المخزون، وغيرها |
| تخزين البيانات | لوحات النقاط وبيانات storage NBT في العالم | الملفات، وSQLite، وMySQL، وأي شيء تستطيع Java استخدامه |
| بين الإصدارات | التنسيقات تتغير كثيراً؛ والحزم تحتاج إلى تحديث | الـ API مستقر؛ وكثير من الـ plugins تستمر في العمل |
| يُثبَّت في | world/datapacks/ | plugins/ |
متى يكون الـ datapack الخيار الأفضل
- يجب أن يعمل في اللعب الفردي أو على خادم أصلي، أو سيتشاركه اللاعبون كإضافة للعالم.
- الفكرة في معظمها بيانات: وصفات جديدة، وغنائم معدّلة، وشجرة إنجازات، وتوليد عالم مخصص.
- لا تريد أي برنامج خادم خاص ولا بناء Java.
متى يكون الـ plugin الخيار الأفضل
- تحتاج إلى أوامر مع وسائط، أو صلاحيات، أو واجهات GUI، أو متجر.
- يجب حفظ البيانات لكل لاعب في ملف أو قاعدة بيانات، أو مشاركتها مع موقع ويب أو Discord.
- المنطق يتفاعل مع أحداث كثيرة، أو سيحتاج إلى دوالّ كثيرة تعمل كل نبضة، وهذا يكلّف أداءً في الـ datapack.
- تستخدم plugins أخرى: Vault أو LuckPerms أو PlaceholderAPI أو WorldGuard.
- إذا أردت منطقاً على الخادم دون Java ودون بناء، فهناك طريق وسط: Skript.
استخدام الاثنين على خادم واحد
يحمّل Paper وSpigot حزم datapacks من مجلد العالم مثل اللعبة الأصلية، فلا يلزمك الاختيار للخادم كله. تقسيم شائع: الوصفات وجداول الغنائم والإنجازات وتوليد العالم في datapack، حيث تكون بيانات بسيطة سهلة التعديل؛ والأوامر وواجهات GUI والاقتصاد وكل ما يُخزَّن لكل لاعب في plugin. تذكّر أن الـ datapack ينتمي إلى عالم واحد، بينما ينطبق الـ plugin على كل عوالم الخادم.
الاثنان على Codexe
يصنع Codexe الاثنين. يُحمَّل الـ datapack على خادم Minecraft حقيقي قبل أن يصبح Ready ويُقرأ السجل بحثاً عن أخطاء؛ ويُجمَّع الـ plugin. ويمكن اللعب بالاثنين على خادم تجريبي خاص من لعبتك، والـ datapack الذي يغيّر توليد العالم يحصل على خادم بعالم مولَّد حديثاً، فترى تضاريسه. تُحمَّل الـ datapacks تجريبياً على الإصدارات من 1.20.1 إلى 26.3؛ ويمكن أن تستهدف الـ plugins الإصدارات من 1.8.8 إلى 26.3.
أسئلة
هل يستطيع الـ datapack إضافة عناصر جديدة؟
ليست جديدة فعلاً. يستطيع منح العناصر الموجودة أسماءً ومكوّنات ونماذج مخصصة (مع حزمة موارد)، لكن لا سلوكاً جديداً يتجاوز ما تسمح به الأوامر.
هل تعمل الـ datapacks على خوادم Paper؟
نعم. يحمّل Paper حزم datapacks من مجلد العالم مثل اللعبة الأصلية، لذا يمكنك استخدام datapacks وplugins على الخادم نفسه.
أيهما أسرع؟
للأشياء الصغيرة، كلاهما جيد. دوالّ النبضات الثقيلة التي تفحص كل لاعب في كل نبضة تكلّف أكثر من plugin يستمع لحدث واحد.
هل يمكنني تحويل datapack إلى plugin لاحقاً؟
نعم، بإعادة كتابة منطقه بـ Java. ويمكن حتى أن تبقى الوصفات وجداول الغنائم والإنجازات في datapack بجانب الـ plugin، لأن Paper يحمّل الاثنين.
اصنعه كـ datapack أو plugin
يُفتح هذا الوصف جاهزاً للإرسال:
“datapack لـ Minecraft 1.21.4، بمساحة الأسماء "hunt": شجرة إنجازات "Monster Hunter" فيها 6 إنجازات لقتل زومبي وهيكل عظمي وcreeper وenderman وساحرة وEnder Dragon، كل منها يمنح XP، ودالة تحميل تضيف لوحة نقاط لعمليات القتل.”
ولّد هذا بـ Codexe