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 efektivigi tiajn mekanikojn efike, estas konsilinde uzi mian malgrandan boilerplate , kiu precizigas la kromprogramon. Krom la Gradle-agordo, la deponejo ankaŭ enhavas konstruajn skriptojn por lokaj kaj produktadmedioj same kiel ekzemplojn por kutimaj armiloj kaj rimedpakaĵoj. Ĉi tio ebligas al vi provi novajn HUD-ideojn tre rapide ĉar vi ne devas pasigi tempon kun pakado, agordo de serviloj kaj detaloj pri deplojo ĉiufoje.