plugins لـ Folia
تغيّر المعالجة المتعددة الخيوط حسب المناطق في Folia طريقة جدولة الـ plugins لأعمالها. كيف يولّد Codexe plugins آمنة على Folia وما الذي تضعه في الطلب.
آخر تحديث
Folia نسخة مشتقة من Paper تعالج مناطق العالم المختلفة على خيوط مختلفة. لا يوجد "خيط رئيسي" واحد، لذا فإن الجدولة العادية في Bukkit (Bukkit.getScheduler().runTask(...)) غير صالحة.
#ما الذي يفعله Codexe بشكل مختلف
عندما تختار نوع Folia، فإن الـ plugin المولَّد:
- يجدول العمل باستخدام مجدولات المنطقة والكائن والمنطقة العامة وغير المتزامن بدلاً من مجدول Bukkit،
- يعلن
folia-supported: trueفيplugin.yml، - يُبنى على API الخاصة بـ Folia (Maven).
#ما الذي تضعه في الطلب
كل ما ورد في دليل Spigot وPaper، إضافة إلى التفاصيل الحساسة للتوقيت: "teleport after 3 seconds"، "repeat every minute for each online player". ففي هذه المواضع يختلف كود Folia أكثر من غيرها.
#البناء والتحقق
تُجمَّع plugins الخاصة بـ Folia وتُفحص مثل أي plugin آخر قبل أن تصبح Ready. يثبت التجميع أن الكود يُبنى على API الخاصة بـ Folia. أما أمان الخيوط وقت التشغيل فيعتمد على المنطق، لذا اختبره على خادم Folia.
#المشكلات الشائعة
| العَرَض | السبب المحتمل |
|---|---|
UnsupportedOperationException يتعلق بالمجدول | كود ما (غالباً من اعتمادية) يستخدم مجدول Bukkit. اطلب من المحادثة نقله إلى مجدول المنطقة أو الكائن. |
| يرفض الـ plugin التحميل على Folia | folia-supported: true غير موجود في plugin.yml. |