دليل

كيف تصنع عناصر مخصصة بـ plugin

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

السيوف والعصي السحرية والمفاتيح والأدوات المخصصة من أكثر ميزات الـ plugins طلباً. لا يستطيع الـ plugin إضافة عنصر جديد فعلاً إلى اللعبة، لكنه يستطيع أخذ عنصر أصلي ومنحه اسماً ووصفاً ووسماً مخفياً، والتفاعل عندما يستخدمه اللاعب. ينضم اللاعبون باللعبة العادية، دون أي mods.

غيّر العناصر لتصبح عناصرك.

ولّد هذا بـ Codexe

خطوة بخطوة

  1. 1.اكتب قائمة العناصر

    لكل عنصر: المادة الأساسية، والاسم المعروض، وأسطر الوصف وما يفعله. "قضيب blaze اسمه Fire Wand يطلق كرة نار عند النقر الأيمن، بمهلة انتظار 5 ثوانٍ" عنصر مكتمل الوصف.

  2. 2.وسّمها بـ PersistentDataContainer

    خزّن معرّفاً مثل fire_wand في PersistentDataContainer الخاص بالعنصر باستخدام NamespacedKey. يتعرّف الـ plugin على العنصر من هذا الوسم لا من اسمه، فلا تنشأ نسخة عند إعادة تسميته في السندان.

  3. 3.اكتب القدرات

    كل قدرة هي مستمع أحداث: PlayerInteractEvent للنقرات اليمنى، وEntityDamageByEntityEvent للضربات، وBlockBreakEvent للأدوات. أضف مهلات انتظار لكل لاعب ولكل عنصر.

  4. 4.قرّر كيف يحصل عليها اللاعبون

    أمر /give إداري، أو وصفة صناعة، أو متجر، أو غنائم من الوحوش، أو مكافآت صناديق.

  5. 5.اجعل كل شيء قابلاً للضبط

    الأسماء والوصف والضرر ومهلات الانتظار والوصفات في config.yml، لتتمكن من موازنة العناصر دون بناء جديد.

  6. 6.ابنِ وجرّب كل عنصر

    دع Codexe يجمّع الـ plugin، وانضم إلى الخادم التجريبي عبر «جرّبه الآن»، وامنح نفسك كل عنصر واستخدمه.

لماذا الوسم وليس الاسم

التحقق من الاسم المعروض أو الوصف هو الخطأ الكلاسيكي: أي لاعب لديه سندان يستطيع إعادة تسمية عصا إلى "Fire Wand". يخزّن PersistentDataContainer (في Minecraft 1.14 وما بعده) بيانات على العنصر لا يستطيع اللاعبون تعديلها، وتبقى بعد إعادة التشغيل وفي الصناديق والمقايضات لأنها جزء من العنصر.

في الإصدارات من 1.8 إلى 1.13 لا يوجد PersistentDataContainer؛ تستخدم الـ plugins بيانات NBT عبر مكتبة أو علامة مخفية في الوصف. اذكر الإصدار في الطلب وسيكتب Codexe الأسلوب الذي يدعمه ذلك الإصدار.

القدرات والأحداث التي تقف خلفها

القدرةالحدثملاحظات
قوة بالنقر الأيمنPlayerInteractEventتحقّق من اليد، فالحدث يُطلق مرة لكل يد
ضرر إضافي أو تأثيرات عند الضربEntityDamageByEntityEventتحقّق من أن المهاجم لاعب يحمل العنصر
أداة تعدين لمساحةBlockBreakEventاحترم plugins الحماية مثل WorldGuard
تأثير تلقائي أثناء الحملمهمة متكررة أو PlayerItemHeldEventأزل التأثير عند إبعاد العنصر
قوس أو مقذوفEntityShootBowEvent وProjectileHitEventوسّم المقذوف لتعرف مصدره

الأنسجة والنماذج

يغيّر الـ plugin ما يفعله العنصر لا شكله. يحتاج المظهر المخصص إلى حزمة موارد ينزّلها اللاعبون: في الإصدارات الأقدم يحمل العنصر رقم CustomModelData تربطه الحزمة بنموذج، ومنذ 1.21.2 يمكن للعنصر أيضاً أن يشير إلى نموذجه الخاص عبر المكوّن item_model. وبدون حزمة يبدو العنصر مثل مادته الأساسية مع اسم مخصص، وهذا كافٍ لكثير من الخوادم.

مثال على وصف

"plugin لـ Paper 1.21.4 باسم MagicItems. ثلاثة عناصر، لكل منها معرّف في PersistentDataContainer: Fire Wand (قضيب blaze، النقر الأيمن يطلق كرة نار، مهلة انتظار 5 ثوانٍ)، وFrost Blade (سيف حديدي، ضرباته تمنح Slowness II لمدة 3 ثوانٍ)، وMiner's Pick (فأس ماسي يكسر 3x3 لكن ليس في مناطق WorldGuard التي لا يستطيع اللاعب البناء فيها). الأمر /mi give <player> <item> لـ magicitems.admin. وصفات مشكّلة لكل عنصر. الأسماء والوصف ومهلات الانتظار والوصفات في config.yml."

أسئلة

plugin أم mod للعناصر المخصصة؟

plugin إذا كان على اللاعبين الانضمام باللعبة العادية: العناصر عناصر أصلية بسلوك جديد. وmod إذا كنت تحتاج إلى عناصر أو كتل جديدة فعلاً بعرض خاص بها، وعندها يثبّته كل لاعب. راجع plugin مقابل mod.

هل يمكنني استخدام ItemsAdder أو Nexo معه؟

يمكن أن يعتمد الـ plugin الخاص بك عليهما، لكنهما plugins مدفوعة: لا يستطيع الخادم التجريبي في Codexe تثبيتهما، لذا لن يُفعَّل هناك أي plugin يتطلب أحدهما. أما الاعتماديات المجانية المذكورة في plugin.yml فتُثبَّت لك على الخادم التجريبي.

هل تتوقف العناصر عن العمل بعد تحديث؟

تحتفظ العناصر الموسومة بـ PersistentDataContainer بوسمها عبر تحديثات Minecraft. قد تحتاج القدرات إلى إعادة بناء للـ API الجديد؛ راجع تحديث plugin.

اصنع عناصرك المخصصة

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

“plugin لـ Paper 1.21.4 باسم MagicItems بثلاثة عناصر موسومة بـ PersistentDataContainer: Fire Wand (قضيب blaze، النقر الأيمن يطلق كرة نار، مهلة انتظار 5 ثوانٍ)، وFrost Blade (سيف حديدي، Slowness II لمدة 3 ثوانٍ عند الضرب)، وMiner's Pick (فأس ماسي يحفر 3x3). الأمر /mi give لـ magicitems.admin، ووصفة مشكّلة لكل عنصر، والأسماء والوصف ومهلات الانتظار والوصفات في config.yml.”

ولّد هذا بـ Codexe
كيف تصنع عناصر مخصصة بـ plugin لـ Minecraft | Codexe