دليل

كيف تصنع plugin لـ Paper

حُدّث في 7 أكتوبر 2026

Paper هو أكثر برامج خوادم Minecraft استخداماً للـ plugins: يشغّل plugins الخاصة بـ Spigot ويضيف فوقها API أكبر وأسرع. الـ plugin لـ Paper مشروع Java (أو Kotlin) يُجمَّع مقابل paper-api. إليك ما يحتاجه، يدوياً أو بذكاء اصطناعي يبنيه لك.

مثال للبدء منه.

ولّد هذا بـ Codexe

خطوة بخطوة

  1. 1.اختر إصدار Minecraft

    استخدم الإصدار الذي يعمل عليه خادمك. فهو يحدد إصدار Java: Java 17 قبل 1.20.5، وJava 21 من 1.20.5، وJava 25 للإصدارات 26.x.

  2. 2.أنشئ المشروع

    مشروع Gradle أو Maven مع اعتمادية paper-api لذلك الإصدار، من مستودع PaperMC، بنطاق provided/compileOnly.

  3. 3.اكتب الفئة الرئيسية

    فئة تمتد من JavaPlugin، مع onEnable() لتسجيل الأوامر والمستمعين.

  4. 4.عرّف الـ plugin للخادم

    ملف plugin.yml (الاسم والإصدار والفئة الرئيسية وapi-version والأوامر والصلاحيات). يدعم Paper أيضاً paper-plugin.yml بقواعد تحميل خاصة به.

  5. 5.ابنِ واختبر

    ابنِ ملف .jar وضعه في مجلد plugins/ على خادم Paper تجريبي، وشغّله وتحقق من وحدة التحكم بحثاً عن أخطاء.

Paper أم Spigot؟

الكود المكتوب لواجهة Spigot API يعمل على Paper، لكن العكس غير صحيح: يضيف Paper أحداثاً ودوالاً (مثل مكونات نص Adventure والكثير من واجهات API غير المتزامنة) لا تملكها Spigot. اكتب لـ Paper إذا كان خادمك يعمل بـ Paper؛ واكتب لـ Spigot إذا كان يجب أن يعمل الـ plugin على خوادم Spigot أيضاً.

الطريقة السريعة

على Codexe، اختر plugin لـ Bukkit/Spigot/Paper، واذكر "Paper" والإصدار في الطلب، وصف ما يفعله. يعدّ Codexe المشروع وإصدار Java المناسب، ويجمّعه، ويصلح أخطاء البناء، ويتيح لك الانضمام إلى خادم Paper تجريبي مثبّت عليه الـ plugin.

مشكلات شائعة

  • UnsupportedClassVersionError: جُمّع الـ plugin بإصدار Java أحدث مما يعمل عليه الخادم.
  • NoSuchMethodError / NoClassDefFoundError: يستخدم الـ plugin واجهة API غير موجودة في إصدار الخادم، أو لم تُدمج اعتمادية داخل ملف .jar.
  • يُحمَّل الـ plugin لكن الأوامر لا تفعل شيئاً: الأمر غير موجود في plugin.yml أو لم يُسجَّل المنفّذ.

أسئلة

هل تعمل plugins الخاصة بـ Paper على Purpur أو Folia؟

Purpur فرع من Paper، فتعمل plugins الخاصة بـ Paper عليه. أما Folia فيغيّر نموذج الخيوط: يجب كتابة الـ plugin لمجدول المناطق فيه ليعمل على Folia.

هل يمكنني كتابة plugin لـ Paper بلغة Kotlin؟

نعم. يستطيع Codexe توليد مشروع Gradle بلغة Kotlin مع build.gradle.kts لواجهة Paper API نفسها.

ابنِ plugin لـ Paper الآن

يُفتح هذا الوصف جاهزاً للإرسال:

“plugin لـ Paper 1.21.4 باسم Bounties: الأمر /bounty set <player> <amount> باستخدام اقتصاد Vault، ويحصل القاتل على المكافأة، و/bounty list يعرض أعلى 10، وتُحفظ المكافآت عبر إعادات التشغيل، والرسائل في config.yml.”

ولّد هذا بـ Codexe
كيف تصنع plugin لـ Paper (Minecraft) | Codexe