PLUGIN بلغة KOTLIN بالذكاء الاصطناعي
plugin.yml صحيح وملف JAR يمكنه تجميعه لك قبل أن تنزّله.لماذا تولّد plugin بلغة Kotlin
أمان من القيم الفارغة حيث يحتاجه Bukkit
يُرجع Bukkit قيمة null باستمرار: لاعبون غير متصلين وعوالم مفقودة ومفاتيح إعدادات غائبة. تجعل Kotlin هذه الحالات صريحة وقت التجميع بدل أن تظهر في وحدة تحكم الخادم الساعة الثانية فجراً.
مشروع Gradle حقيقي
ملف build.gradle.kts مهيّأ لـ plugin Kotlin JVM ومستودعات Paper/Spigot، بالهيكل القياسي للمصادر. لا ملف واحد تبحث له عن مكان.
كود متكرر أقل بكثير
data classes لنماذج الإعدادات، ودوال امتدادية على Player وItemStack، ودوال النطاق بدل فحوصات null المتداخلة. المنطق نفسه بكود أقل بوضوح.
يستهدف Folia والبروكسي أيضاً
إذا كنت على فرع Paper متعدد الخيوط، فلاحظ أن Folia يزيل الخيط الرئيسي الوحيد ويحتاج إلى جدولة تراعي المناطق. اختر منصة Folia في مولّد plugins لتكون الجدولة صحيحة من البداية. وللعمل على مستوى الشبكة استخدم مولّد plugins البروكسي. ويشرح توثيق plugins الفروق.
أمثلة على الأوصاف
أسئلة شائعة عن مولّد plugins بلغة Kotlin
هل تعمل plugins بلغة Kotlin على خادم Spigot أو Paper عادي؟
+
نعم. تُترجم Kotlin إلى bytecode عادي لـ JVM، فلا يعرف الخادم ولا يهتم باللغة التي كُتب بها الـ plugin. يُحمَّل تماماً مثل plugin بلغة Java.
هل أحتاج إلى تثبيت شيء على الخادم؟
+
لا. تُدمج مكتبة Kotlin القياسية داخل ملف JAR وقت البناء، فيكون الـ plugin مكتفياً بذاته. وهذا يجعل ملف JAR أكبر من plugin Java مكافئ.
Maven أم Gradle؟
+
Gradle. تستخدم منصة Kotlin المستهدفة plugin ـ Gradle Kotlin، وهو سلسلة الأدوات القياسية لـ Kotlin على JVM. أما منصات Java فتستخدم Maven.
ماذا تضيف لي Kotlin هنا فعلاً؟
+
في الغالب الأمان من القيم الفارغة وطقوس أقل. تُرجع واجهات Bukkit قيمة null في أماكن كثيرة (getPlayer وgetWorld وقراءات الإعدادات)، ويجبرك نظام الأنواع في Kotlin على معالجتها وقت التجميع بدل اكتشافها كـ NullPointerException في الإنتاج. كما تقلل data classes والدوال الامتدادية ودوال النطاق كثيراً من الكود المتكرر في كود الإعدادات والمستمعين.
هل يمكنني خلط Java وKotlin في plugin واحد؟
+
ينتج المولّد مجموعة مصدر Kotlin. يستطيع Gradle تجميع مصادر مختلطة، فيمكنك إضافة ملفات Java لاحقاً، لكن المشروع المولَّد يعتمد Kotlin أولاً.
هل أختار Kotlin أم Java؟
+
اختر Java إذا أردت أقصى توافق مع الدروس والمقاطع الجاهزة وأكواد الآخرين، فمعظم مواد Bukkit تفترض Java. واختر Kotlin إذا كنت مرتاحاً معها وتريد كوداً أكثر إيجازاً وأماناً من القيم الفارغة، فواجهة الـ API هي نفسها في الحالتين.
مولّدات Codexe الأخرى
Prefer Java, or working somewhere else in the stack? Codexe also generates:
كيف يبني Codexe هذه المشاريع ويفحصها، وما يجب كتابته في الطلب، والمشكلات الشائعة: دليل Spigot and Paper plugins (Java or Kotlin).
جاهز لـ plugin جديد؟
تتجدد في الخطة المجانية 50K توكن يومياً، وهي تكفي لإنجاز plugin صغير بلغة Kotlin دفعة واحدة.
ابدأ الصنع