يُوفر PaperMC أساسًا بسيطًا لتوسيع خادم Minecraft باستخدام إضافات صغيرة، دون الحاجة إلى تثبيت أي شيء من قِبل المستخدمين. عند تطوير الإضافات، يبرز التساؤل حول كيفية عرض المعلومات الديناميكية للاعب. يكمن الحل في ميزة أساسية غالبًا ما يتم تجاهلها في اللعبة الأصلية: شريط الزعيم . صُمم شريط الزعيم في الأصل للزعماء النهائيين، ولكن يُمكن إعادة استخدامه كواجهة مستخدم بسيطة.
بدلاً من شرح الأرقام، يمكنك استخدام حالات موجزة تُعبّر عن شعورٍ ما. غالبًا ما يكون لهذا تأثيرٌ أقوى من لوحة النتائج أو رسائل الدردشة. واجهة برمجة تطبيقات Bossbar قويةٌ بشكلٍ مُدهش: إذ يُمكن تغيير اللون والنمط والتقدم بشكلٍ ديناميكي. على عكس لوحات النتائج، يبقى Bossbar مُرتبًا في أعلى الشاشة.
BossBar bar = Bukkit.createBossBar("", BarColor.BLUE, BarStyle.SOLID);
bar.addPlayer(player);
مثال 1: عرض درجة الحرارة: يتم توحيد قيمة درجة الحرارة المئوية لتكون ضمن النطاق 0-1، ويتم اختيار اللون وفقًا لذلك: الأزرق للبرد، والأخضر للجو اللطيف، والأحمر للحر.:
bar.setTitle(String.format("🌡 %.0f°C", celsius));
bar.setProgress((celsius + 20) / 60.0);
bar.setColor(celsius < 10 ? BarColor.BLUE : celsius < 30 ? BarColor.GREEN : BarColor.RED);
المثال الثاني: الأكسجين تحت الماء: تُعد الشاشة المجزأة مناسبة تمامًا للقيم المنفصلة مثل عدد مرات التنفس. SEGMENTED_10 لديك عشر وحدات مرئية:
bar.setTitle("💨 Sauerstoff");
bar.setStyle(BarStyle.SEGMENTED_10);
bar.setProgress(player.getRemainingAir() / 300.0);
مثال 3: شريط الخوف النابض: تتسبب الموجة الجيبية في تذبذب التقدم بشكل إيقاعي. BukkitRunnable وهذا يخلق تأثيراً حيوياً.:
double pulse = 0.5 + 0.5 * Math.sin(phase);
bar.setProgress(fearLevel * pulse);
bar.setTitle(fearLevel > 0.7 ? "💀 GEFAHR" : "👁 Unruhe");
يمكنك تكديس ما يصل إلى خمسة أشرطة تقدم في وقت واحد، مما يتيح أنظمة عرض معلومات معقدة. لجعل شريط التقدم شبه غير مرئي، اضبط مستوى التقدم على... 0.0001 – يبقى العنوان ظاهرًا، لكن شريط التقدم يختفي. لذا، يُعدّ شريط التقدم أداةً قيّمةً في آليات اللعب، وإن كانت غير مُقدّرة حق قدرها. خاصةً في ألعاب الرعب أو البقاء، يُمكن استخدامه للتلميح إلى المواقف دون الكشف عن أرقامٍ مُحدّدة للاعب.
من أجل تنفيذ مثل هذه الآليات بكفاءة، فمن المستحسن استخدام النموذج المعياري الصغير الخاص بي، والذي يحدد بنية البرنامج المساعد. بالإضافة إلى تكوين Gradle، يحتوي المستودع أيضًا على نصوص بناء للبيئات المحلية وبيئات الإنتاج بالإضافة إلى أمثلة للأسلحة المخصصة وحزم الموارد. يتيح لك ذلك تجربة أفكار HUD الجديدة بسرعة كبيرة لأنك لن تضطر إلى قضاء بعض الوقت في تفاصيل التعبئة والتغليف وإعداد الخادم والنشر في كل مرة.