Placeholdery
Co je to placeholder
Placeholder je text, který zastává nějakou proměnnou. Například placeholder %player_name% zastává jméno hráče.
S placeholdery se často můžete setkat například v scoreboardu.
Interní placeholdery
Interní placeholdery jsou placeholdery, které jsou specifické pro konkrétní plugin. Pokud plugin interní placeholdery má, naleznete jej v dokumentaci pluginu. Takový placeholder lze využít pouze v konfiguraci daného pluginu. Například v pluginu TAB je možno použít placeholder %online% (vrací počet hráčů na serveru), %world% (vrací název světa, ve kterém hráč je) a mnoho dalších viz https://github.com/NEZNAMY/TAB/wiki/Placeholders#internal-placeholders
Interní placeholdery narozdíl od PlaceholderAPI placeholderů nemusí mít formát %placeholder%, můžete se setkat i s formátem {placeholder}.
PlaceholderAPI placeholdery
PlaceholderAPI (PAPI) je plugin. PlaceholderAPI placeholdery lze použít v jakémkoli pluginu, který má pro PAPI podporu. PAPI placeholdery mají vždy formát %placeholder%.
Použití placeholderu
Aby byl PAPI placeholder dostupný, je nutno a) mít na serveru plugin, který takový placeholder poskytne, nebo b) nainstalovat PAPI expansion (= balíček placeholderů; v překladu rozšíření).
Nainstalovat expansion lze buď pomocí příkazu papi ecloud download <expansionName> (pokud se expansion na eCloudu nachází), nebo manuálně nahráním expansionu do /plugins/PlaceholderAPI/expansions/.
Pro načtení změn po stáhnutí/nahrání expansionu je nutno plugin reloadnout příkazem papi reload, nebo server restartovat.
Pokud má expansion možnost konfigurace, nejčastěji se nachází v samotném PAPI configu, tedy v /plugins/PlaceholderAPI/config.yml.
Hodnota placeholderu lze zjistit pomocí příkazu papi parse <player|me> %placeholder%.
U příkazu papi parse lze u placeholderů, které nevyžadují hráče, místo jména hráče či me použít argument --null, tedy např. papi parse --null %server_tps%, což se může hodit v případě, kdy je příkaz vykonávan z konzole, a na serveru není připojen žádný hráč.
Dokumentace pluginu, kde je k nalezení vše potřebné, naleznete na následujícím odkaze: https://wiki.placeholderapi.com/
Pokud jste noví, je dobré si seznam balíčků projít, ať o dostupných balíčcích máte nějakou základní představu. Velký seznam balíčků naleznete zde.
Níže jsou uvedeny příklady nejčastěji používaných balíčků.
Obsahuje “nepluginové” informace o hráči, např. jeho jméno, souřadnice, či životy.
Obsahuje informace o serveru, např. počet online hráčů, TPS, nebo využitou RAM.
Obsahuje statistiky hráče, např. odehraný čas (tyto statistiky jsou ukládány v složce hlavního světa automaticky bez jakéhokoli pluginu, jelikož se jedná o Vanilla funkci, více se dočtete zde).
Umožňuje využití matematických operací s placeholdery, např. %math_{world_name_world1}+{world_name_world2}%. Tento placeholder vrátí součet počtu hráčů ve světě world1 a world2.
Vault placeholdery jsou používány zejména pro zobrazení a prefixů a ekonomiky. Samotný plugin Vault pro fuknčnost placeholderů nestačí, je zapotřebí nainstalovat expansion Vault!
Expansion Pinger je nejčastěji používán na proxy serverech pro získání informací o jiném serveru.
Placeholder nefunguje (jak debugovat nefunkční placeholder)
V případě, kdy se místo hodnoty placeholderu zobrazuje samotný placeholder, postupujte následovně.
Zjistěte, zda funguje samotný placeholder.
Pomocí příkazu papi parse <player|me> %placeholder% zjistěte, zda samotný placeholder funguje (= ukazuje se hodnota placeholderu místo placeholderu samotného).
Samotný placeholder funguje
V případě, kdy se zobrazí hodnota placeholderu, chyba je v pluginu, který se jej snaží zobrazit. To v zásadě může znamenat následující:
- plugin PAPI placeholdery nepodporuje
Aby bylo možné PAPI placeholder zobrazit, plugin, který se jej snaží zobrazit, musí PAPI podporovat. Pokud chcete použít placeholder např. v chatu, musíte plugin, který zobrazení placeholderů ve zprávách umožní (což byste pravděpodobně dělat neměli, jedná se jen o příklad).
- plugin má pro placeholdery speciální formát
Ačkoli je to vzácné, některé pluginy mají pro PAPI placeholdery speciální formát. Např. v pluginu HolographicDisplays má PAPI placeholder ve výchozím nastavení následující formát: {papi: placeholder}. Více se dočtete v dokumentaci daného pluginu.
- nekompatibilní verze PlaceholderAPI
V případě, kdy v logu vidíte chyby související s PlaceholderAPI, ujistěte se, že používáte aktuální verzi PlaceholderAPI a pluginu, který placeholder zobrazuje. Pokud ano, obraťte se na autora pluginu.
- plugin obsahuje chybu
Pokud plugin PAPI podporuje, využíváte správný formát, a v dokumentaci nejsou žádné dálší informace, proč by placeholder nemusel fungovat (např. nutnost zapnout podporu PAPI v konfiguraci), obraťte se na autora či podporu pluginu.
Samotný placeholder nefunguje
V případě, kdy se zobrazí samotný placeholder místo jeho hodnoty, postupujte následovně.
Pokud placeholder poskytuje expansion, ujistěte se, že máte expansion nainstalovaný (seznam nainstalovaných expansionů zjistíte příkazem papi list). Pokud ne, můžete to provést příkazem papi ecloud download <expansion>, nebo nahráním expansionu manuálně do /plugins/PlaceholderAPI/expansions/. Nezapomeňte, že pro projevení změn je nutno plugin reloadnout papi reload, nebo server restartovat.
V případě, kdy balíček nainstalovaný máte, ujistěte se, že využíváte jeho aktuální verzi a v /plugins/PlaceholderAPI/expansions/ není nainstalováno více verzí jednoho expansionu.
Ujistěte, že máte verzi PlaceholderAPI kompatibilní s verzí serveru a v konzoli plugin PlaceholderAPI “nehází” žádné chyby, a také, že placeholder, který se snažíte použít, existuje.
Placeholder funguje, ale vrací nepravdivé informace
Placeholder může zobrazovat “zastaralé” informace ve dvou případech. Jakou hodnotu placeholder aktuálně vrací zjistíte pomocí příkazu papi parse me %placeholder%.
- Samotný placeholder vrací aktuální hodnotu, ale plugin, který jej zobrazuje, má nějakou dobu aktualizace
V takovém případě je nutno v pluginu, který placeholder zobrazuje, dobu aktualizace placeholderu zrychlit.
- Samotný placeholder má nějakou dobu aktualizace
Tato hodnota lze pravděpodobně změnit v PAPI configu. S takovou možností se nejčastěji setkáte u placeholderů, jejichž získání hodnoty trvá delší čas (nejčastěji placeholdery, které vrací informace získané pomocí internetu).
Jak zjistit placeholder/Vymýšlení placeholderů
Placeholdery nezkoušejte tipovat/vymýšlet! Vždy je dohledejte v dokumentaci daného pluginu/expansionu!
Ostatní
Je důležité si uvědomit, že placeholdery jsou specifické pro hráče, tedy např. placeholder %vault_eco_balance_formatted% ukáže každému hráči jiný zůstatek (zůstatek daného hráče). Pro zobrazení hodnoty placeholderu specifického hráče slouží expansion ParseOther.
Pokud chcete udělat žebříček, je zapotřebí, aby takový placeholder existoval. Např. CMI má pro nejbohatší hráče placeholder %cmi_baltop_name_[1-10]% a %cmi_baltop_money_[1-10]%.
Pokud plugin žádný takový placeholder nemá, lze jej vytvořit pomocí pluginu ajLeaderboards, avšak tento plugin může mít negativní dopad na výkon serveru.
Samotný plugin PlaceholderAPI je pouze Spigot plugin, tudíž na proxy nainstalovat nelze.