PaperMC-ն պարզ հիմք է ապահովում Minecraft-ի սերվերի կողմը փոքր պլագիններով ընդլայնելու համար՝ առանց հաճախորդներից որևէ բան տեղադրելու պահանջի: Պլագիններ մշակելիս հարց է առաջանում, թե ինչպես ցուցադրել դինամիկ տեղեկատվություն խաղացողին: Պատասխանը թաքնված է հաճախ անտեսվող ստանդարտ գործառույթում՝ boss bar-ում : Սկզբնապես նախատեսված լինելով վերջնական բոսերի համար, boss bar-ը կարող է վերաօգտագործվել և օգտագործվել որպես մինիմալիստական HUD:
Թվերը բացատրելու փոխարեն, կարող եք աշխատել կարճ կարգավիճակներով, որոնք փոխանցում են միայն զգացողություն: Սա հաճախ ավելի ուժեղ ազդեցություն ունի, քան մեկ այլ ցուցատախտակ կամ չաթի հաղորդագրություններ: Bossbar API-ն զարմանալիորեն հզոր է. գույնը, ոճը և առաջընթացը կարող են դինամիկ կերպով փոխվել: Ի տարբերություն ցուցատախտակների, 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);
Օրինակ 2. Ջրի տակ թթվածին: Սեգմենտավորված ցուցադրումը կատարյալ է դիսկրետ արժեքների, ինչպիսիք են շնչառությունները, համար։ 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");
Դուք կարող եք միաժամանակ դարսել մինչև հինգ բոսս բար, ինչը հնարավորություն է տալիս միացնել բարդ HUD համակարգերը: Բարը գրեթե անտեսանելի դարձնելու համար դուք կարգավորում եք առաջընթացը... 0.0001 – Խաղը մնում է տեսանելի, բայց առաջընթացի վահանակը անհետանում է։ Հետևաբար, բոսսի վահանակը թերագնահատված գործիք է մթնոլորտային խաղային մեխանիկայի համար։ Հատկապես սարսափ կամ գոյատևման խաղերում այն կարող է օգտագործվել իրավիճակներ առաջարկելու համար՝ առանց խաղացողին ճշգրիտ թվեր բացահայտելու։
Նման մեխանիզմները արդյունավետորեն իրականացնելու համար խորհուրդ եմ տալիս օգտագործել իմ փոքրիկ boilerplate-ը , որը սահմանում է պլագինի կառուցվածքը: Gradle-ի կոնֆիգուրացիայից բացի, պահոցը պարունակում է նաև տեղական և արտադրական միջավայրերի համար նախատեսված կառուցման սկրիպտներ, ինչպես նաև հատուկ զենքերի և ռեսուրսների փաթեթների օրինակներ: Սա թույլ է տալիս արագորեն փորձարկել HUD-ի նոր գաղափարներ, քանի որ ամեն անգամ ստիպված չեք լինի զբաղվել փաթեթավորման, սերվերի կարգավորման և տեղակայման մանրամասներով: