PaperMC provizas simplan fundamenton por etendi Minecraft-servilflankon per malgrandaj kromaĵoj, sen devi klientojn instali ion ajn. Kiam oni disvolvas kromaĵojn, ekestas la demando pri kiel montri dinamikajn informojn al la ludanto. La respondo kuŝas en ofte preteratentata vanila trajto: la estrobreto . Origine destinita por finaj estroj, la estrobreto povas esti reutiligita kaj uzata kiel minimumisma HUD.
Anstataŭ klarigi nombrojn, vi povas labori kun koncizaj statoj, kiuj esprimas nur senton. Tio ofte havas pli fortan efikon ol alia poenttabulo aŭ babilaj mesaĝoj. La Bossbar API estas surprize potenca: koloro, stilo kaj progreso povas esti ŝanĝitaj dinamike. Male al poenttabuloj, la Bossbar restas diskrete ĉe la supro de la ekrano.
BossBar bar = Bukkit.createBossBar("", BarColor.BLUE, BarStyle.SOLID);
bar.addPlayer(player);
Ekzemplo 1: Temperaturmontrado: La Celsius-valoro estas normigita al la intervalo 0–1, kaj la koloro estas elektita laŭe: blua por malvarma, verda por agrabla, kaj ruĝa por varma.:
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);
Ekzemplo 2: Oksigeno subakve: Segmentita ekrano perfekte taŭgas por diskretaj valoroj kiel ekzemple spiroj. SEGMENTED_10 Vi havas dek videblajn unuojn:
bar.setTitle("💨 Sauerstoff");
bar.setStyle(BarStyle.SEGMENTED_10);
bar.setProgress(player.getRemainingAir() / 300.0);
Ekzemplo 3: Pulsanta timstango: Sinusa ondo kaŭzas, ke progreso fluktuas ritme. En BukkitRunnable Tio kreas viglan efikon.:
double pulse = 0.5 + 0.5 * Math.sin(phase);
bar.setProgress(fearLevel * pulse);
bar.setTitle(fearLevel > 0.7 ? "💀 GEFAHR" : "👁 Unruhe");
Vi povas samtempe stakigi ĝis kvin estrostangojn, ebligante kompleksajn HUD-sistemojn. Por igi stangon preskaŭ nevidebla, vi agordas la progreson al... 0.0001 – La titolo restas videbla, sed la progresstango malaperas. La estrostango estas tial subtaksita ilo por atmosferaj ludmekanikoj. Precipe en hororaj aŭ supervivaj aranĝoj, ĝi povas esti uzata por sugesti situaciojn sen iam ajn malkaŝi konkretajn nombrojn al la ludanto.
Por efike efektivigi tiajn mekanikojn, mi rekomendas uzi mian malgrandan ŝablonon , kiu difinas la strukturon de la kromprogramo. Aldone al la Gradle-agordo, la deponejo ankaŭ enhavas konstruajn skriptojn por lokaj kaj produktadaj medioj, kaj ankaŭ ekzemplojn de kutimaj armiloj kaj rimedpakaĵoj. Ĉi tio permesas al vi rapide provi novajn HUD-ideojn, ĉar vi ne devas trakti pakadon, servilan agordon kaj deplojajn detalojn ĉiufoje.