PaperMC menyediakan asas mudah untuk meluaskan bahagian pelayan Minecraft dengan pemalam kecil, tanpa memerlukan klien memasang apa-apa. Apabila membangunkan pemalam, persoalan timbul tentang cara memaparkan maklumat dinamik kepada pemain. Jawapannya terletak pada ciri vanila yang sering diabaikan: bar bos . Pada asalnya bertujuan untuk bos akhir, bar bos boleh digunakan semula dan digunakan sebagai HUD minimalis.
Daripada menerangkan nombor, anda boleh menggunakan status ringkas yang hanya menyampaikan perasaan. Ini selalunya mempunyai kesan yang lebih kuat daripada papan skor atau mesej sembang lain. API Bossbar sangat berkuasa: warna, gaya dan kemajuan boleh diubah secara dinamik. Tidak seperti papan skor, Bossbar kekal secara tersembunyi di bahagian atas skrin.
BossBar bar = Bukkit.createBossBar("", BarColor.BLUE, BarStyle.SOLID);
bar.addPlayer(player);
Contoh 1: Paparan suhu: Nilai Celsius dinormalkan kepada julat 0–1, dan warna dipilih sewajarnya: biru untuk sejuk, hijau untuk menyenangkan, dan merah untuk panas.:
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);
Contoh 2: Oksigen di bawah air: Paparan bersegmen sangat sesuai untuk nilai diskret seperti nafas. SEGMENTED_10 Anda mempunyai sepuluh unit yang boleh dilihat:
bar.setTitle("💨 Sauerstoff");
bar.setStyle(BarStyle.SEGMENTED_10);
bar.setProgress(player.getRemainingAir() / 300.0);
Contoh 3: Bar ketakutan berdenyut: Gelombang sinus menyebabkan kemajuan berubah-ubah secara berirama. Dalam a BukkitRunnable Ini mewujudkan kesan yang meriah.:
double pulse = 0.5 + 0.5 * Math.sin(phase);
bar.setProgress(fearLevel * pulse);
bar.setTitle(fearLevel > 0.7 ? "💀 GEFAHR" : "👁 Unruhe");
Anda boleh menyusun sehingga lima bar bos secara serentak, membolehkan sistem HUD yang kompleks. Untuk menjadikan bar hampir tidak kelihatan, anda menetapkan kemajuan kepada... 0.0001 – Tajuknya masih kelihatan, tetapi bar kemajuan hilang. Oleh itu, bar bos merupakan alat yang kurang diberi perhatian untuk mekanik permainan atmosfera. Terutamanya dalam persediaan seram atau survival, ia boleh digunakan untuk mencadangkan situasi tanpa mendedahkan nombor yang tepat kepada pemain.
Untuk melaksanakan mekanik sedemikian dengan cekap, saya cadangkan menggunakan boilerplate kecil saya, yang mentakrifkan struktur plugin. Selain konfigurasi Gradle, repositori ini juga mengandungi skrip binaan untuk persekitaran tempatan dan pengeluaran, serta contoh senjata tersuai dan pek sumber. Ini membolehkan anda mencuba idea HUD baharu dengan cepat kerana anda tidak perlu berurusan dengan pembungkusan, persediaan pelayan dan butiran penggunaan setiap masa.