Príručka
Ako vytvoriť plugin so scoreboardom pre Minecraft
Aktualizované 18. októbra 2026
Bočný panel na pravej strane obrazovky je na mnohých serveroch to najviditeľnejšie: názov servera, rank hráča, peniaze, zabitia, hráči online. Plugin ho kreslí cez Scoreboard API z Bukkitu. Najťažšie je dať každému hráčovi vlastné riadky a plynulo ich aktualizovať.
Uprav riadky pre svoj server.
Vygeneruj to v CodexeKrok za krokom
1.Napíš riadky
Názov a každý riadok zhora nadol s hodnotami, ktoré ukazujú: „Rank: Admin“, „Coins: 1,250“, „Online: 34“. Bočný panel zobrazí najviac 15 riadkov.
2.Daj každému hráčovi scoreboard
Riadky, ktoré sa líšia podľa hráča, potrebujú scoreboard pre každého hráča, z
Bukkit.getScoreboardManager().getNewScoreboard(), nastavený pri pripojení cezplayer.setScoreboard(...).3.Vytvor objective pre bočný panel
Zaregistruj dummy objective a nastav jeho zobrazovací slot na
DisplaySlot.SIDEBAR. Každý riadok je záznam so skóre, ktoré určuje jeho pozíciu.4.Aktualizuj hodnoty
Opakovaná úloha, napríklad každú sekundu, aktualizuje iba riadky, ktoré sa zmenili. Na text používaj prefixy a sufixy tímov, aby riadky neblikali.
5.Pridaj placeholdery
S PlaceholderAPI zobrazia riadky ako
%vault_eco_balance%hodnoty z iných pluginov bez ďalšieho kódu.6.Zostav ho a pozri sa naň v hre
Nechaj Codexe plugin skompilovať, pripoj sa na testovací server a skontroluj každý riadok, potom zmeň hodnotu a sleduj, ako sa aktualizuje.
Ako funguje bočný panel
- V bočnom paneli sa na jeden scoreboard zobrazuje naraz jeden objective. Jeho zobrazovaný názov je nadpis.
- Riadky sú zoradené podľa skóre, od najvyššieho, takže skóre je iba číslo riadku v opačnom poradí.
- Každý riadok musí byť iný záznam: dva rovnaké riadky potrebujú neviditeľný rozdiel, napríklad iné farebné kódy.
- Červené čísla vpravo sa dajú skryť od Minecraftu 1.20.3, ktorý pridal formáty čísel pre skóre. Staršie verzie ich ukazujú vždy.
- Hráč vidí jeden scoreboard: ak iný plugin nastaví vlastný, vyhrá ten posledný. Na bočný panel používaj jeden plugin alebo uveď, ktoré ďalšie pluginy scoreboard zdieľajú.
Aktualizácia bez blikania
Odstránenie riadku a pridanie nového spôsobí bliknutie. Bežné riešenie je dať každému riadku pevný, neviditeľný záznam a viditeľný text vložiť do prefixu a sufixu tímu, ktorý tento záznam obsahuje; aktualizácia tímu zmení text na mieste. Napíš do zadania „bez blikania“ a plugin sa napíše takto.
Plugin, Skript, alebo datapack?
| Možnosť | Zvládne | Obmedzenie |
|---|---|---|
| Plugin | Riadky pre každého hráča, akákoľvek hodnota, animácie, placeholdery | Potrebuje Spigot, Paper alebo fork |
| Skript so SkBee | Bočné panely pre každého hráča zo skriptu | Potrebuje Skript a doplnok |
| Datapack | Zobraziť jeden objective, napríklad smrti alebo zabitia, v bočnom paneli | Rovnaké čísla pre všetkých, žiadny voľný text pre jednotlivých hráčov |
Príklad popisu
„Plugin pre Paper 1.21.4 s názvom Board. Bočný panel pre každého hráča so zlatým nadpisom, potom rank (z LuckPerms), mince (z Vaultu), zabitia, smrti, hráči online a adresa servera. Aktualizuje sa každú sekundu bez blikania, červené čísla skryté. Riadky, nadpis a interval aktualizácie v config.yml, v ktoromkoľvek riadku sú povolené placeholdery PlaceholderAPI. /board toggle ho skryje pre konkrétneho hráča a voľba sa uloží.“
Otázky
Koľko riadkov môže mať bočný panel?
Zobrazí sa 15 riadkov. Dlhší obsah potrebuje iné miesto, napríklad tab list, action bar alebo boss bar.
Funguje to na 1.8?
Áno, Scoreboard API existuje aj v 1.8, ale dĺžka textu na riadok je tam obmedzenejšia. Uveď verziu, aby sa plugin napísal pre ňu.
Prečo mi scoreboard mizne?
Zvyčajne iný plugin nastaví hráčovi vlastný scoreboard po tom tvojom. Odstráň druhý bočný panel alebo nech všetko zobrazuje jeden plugin.
Vytvor svoj bočný panel
Toto zadanie sa otvorí pripravené na odoslanie:
“Plugin s bočným scoreboardom pre Paper 1.21.4 s názvom Board: bočný panel pre každého hráča so zlatým nadpisom, rank z LuckPerms, mince z Vaultu, zabitia, smrti, hráči online a adresa servera, aktualizácia každú sekundu bez blikania, skryté červené čísla, riadky a interval v config.yml s podporou PlaceholderAPI, /board toggle uložený pre každého hráča.”
Vygeneruj to v Codexe