Tablica wyników (ang. Scoreboard) – element obsługiwany przez komendy i bloki poleceń.
Umożliwia wyświetlanie różnych informacji na temat gracza, np.: liczba śmierci, liczba zabitych graczy, liczba zabitych mobów, status życia.
Pozwala również na tworzenie drużyn, w których mogą obowiązywać szczególne zasady takie jak blokada walk PvP w obrębie jednej drużyny, widzenie gracza z drużyny mimo użytej mikstury.
Tablica może być wyświetlana w trzech miejscach: w tabeli graczy on-line (po wciśnięciu klawisza Tab ⇆), przy prawej krawędzi oraz nad postacią gracza (w formie tekstowej).
Cele
Baza celu | Opis | Czy może być zmodyfikowany? |
---|---|---|
dummy | Nie jest związane z żadnym wydarzeniem, może zostać zmienione tylko dzięki komendom. | Tak |
deathCount | Zwiększa się automatycznie po śmierci. | Tak |
playerKillCount | Zwiększa się automatycznie po zabiciu innego gracza. | Tak |
totalKillCount | Zwiększa się automatycznie po zabiciu jakiegokolwiek moba. | Tak |
health | Pokazuje, ile dany gracz ma życia; 1 to pół serduszka. | Nie |
air | Pokazuje powietrze; wartości od 0 do 300. | Nie |
xp | Pokazuje liczbę punktów doświadczenia zdobytych od czasu odrodzenia się. | Nie |
level | Pokazuje obecny poziom doświadczenia gracza. | Nie |
food | Pokazuje poziom głodu gracza; wartości od 0 do 20. | Nie |
armor | Pokazuje poziom uzbrojenia gracza.; wartości od 0 do 20. | Nie |
W snapshocie 13w36a dodano również setki nowych i bardziej zaawansowanych celów. Nowe cele posiadają dużo więcej wartości, a są one oddzielane kropką („.”). Na przykład cel podający ilość śmierci gracza przez byt „zombie” zapisuje się tak: „stat.entityKilledBy.Zombie”. Lista znanych celów znajduje się poniżej:
Baza celu | Opis | Czy może być zmodyfikowany? | Ilość podcelów |
---|---|---|---|
achievement | Akceptowalne pod kryteria: „makeBread”, „bakeCake”, „diamondsToYou”, „killCow”, „portal”, „buildFurnace”, „buildSword”, „cookFish”, „enchantments”, „mineWood”, „openInventory”, „exploreAllBiomes”, „buildWorkBench”, „theEnd”, „blazeRod”, „spawnWither”, „buildBetterPickaxe”, „acquireIron”, „theEnd2”, „bookcase”, „flyPig”, „ghast”, „snipeSkeleton”, „diamonds”, „killWither”, „fullBeacon”, „buildHoe”, „breedCow”, „onARail”, „overkill”, „killEnemy”, „potion”, „buildPickaxe”. Wartość celu jest zależna od ilości razy wykonanego osiągnięcia (np. gdy gracz stworzy piec, a cel nosi nazwę "achievement.buildFurnace", to każdy stworzony piec powiększa wartość o 1). | Tak | 33 |
stat | Rejestrowane statystyki graczy: „damageDealt”, „damageTaken”, „leaveGame”, „minecartOneCm”, „swimOneCm”, „walkOneCm”, „horseOneCm”, „pigOneCm”, „flyOneCm”, „boatOneCm”, „fallOneCm”, „climbOneCm”, „diveOneCm”, „fishCaught”, „junkFished”, „treasureFished”, „playOneMinute”, „playerKills”, „mobKills”, „animalsBred”, „jump”, „drop”, „deaths”. Za każdym razem, gdy gracz wykona pewną akcję (np. wyjdzie z gry), wartość celu automatycznie podnosi się o 1. | Tak | 23 |
stat.craftItem | Pod kryteria tej bazy są numerami ID przedmiotów, które mogą zostać zdobyte poprzez wytwarzanie bądź przetapianie. Wartość podnosi się gdy gracz wyjmie określony przedmiot z pola wyjściowego pieca lub stołu rzemieślniczego. Wartość jest również zależna od tego, w jaki sposób wyjmujemy przedmiot. Przyciskając klawisz ⇧ Shift, który automatycznie przenosi przedmioty do ekwipunku, mnoży wartość przez 2 (np. wyjmując 10 przepalonego szkła z pieca, przekładając ręcznie, zwiększa wartość celu o 10, zaś gdy wyjmiemy szkło, używając klawiszu ⇧ Shift, wartość powiększy się o 20, czyli 200%). Takie przedmioty jak ciasto czy kamienny kilof możemy również rejestrować, używając odpowiedniego pod kryterium bazy „achievement”. | Tak | 202 |
stat.useItem | Pod kryteria bazy „stat.useItem”, tak jak w przypadku „stat.craftItem”, są numerami ID odpowiednich przedmiotów lub bloków. Akceptowane są wszystkie numery ID, pomijając 0, 26, 34, 36, 55, 59, 63, 64, 68, 71, 74, 75, 83, 92, 93, 94, 104, 105, 115, 117, 118, 124, 132, 140, 144, 149, 150 oraz wszystkie bloki, które nie mają formy przedmiotu. Użycie może być zdefiniowane na wiele sposobów.
Cele nie rejestrują takich rzeczy jak konsumpcja mleka czy mikstur ani żadnego przedmiotu, który da się spożyć; przedmiotów, które pozwalają rozmnażać zwierzęta, znakować je, oswajać, karmić, osiodłać, przywiązywać. |
Tak | 320 |
stat.breakItem | Ta baza rejestruje jedynie przedmioty ze swoją określoną wytrzymałością (np.miecz czy nożyce), wykrywa zniszczenie danego przedmiotu. Po „stat.breakItem”, podobnie jak w „stat.useItem”, podaje się numer ID. Oznacza to, że gdy jakieś narzędzie zużyjemy całkowicie i zniknie nam z paska, wartość celu z wcześniej wpisanym odpowiednim ID powiększa się o jeden. | Tak | 50 |
stat.mineBlock | Po tym pod kryterium winno się wpisać numer ID interesującego nas bloku innego niż bloki z numerem 0, 7, 8, 9, 10, 11, 26, 34, 36, 51, 52, 55, 59, 63, 64, 68, 71, 74, 75, 83, 92, 93, 94, 96, 104, 105, 117, 118, 124, 132, 140, 141, 142, 144, 149 oraz 150. Wartość zwiększa się, gdy gracz wykopie blok z odpowiednim ID. Wykopanie zdefiniowane jest jako blok zniszczony na trybie przetrwania z włączoną zasadą „doTileDrops” oraz w przypadku, gdy blok wypadnie. Oznacza to, że gdy wykopiemy na przykład szkło ręką, wartość nie zwiększy się, lecz gdy szkło wykopiemy kilofem z zaklęciem Jedwabny dotyk oraz szkło wypadnie, wartość zostanie zwiększona. | Tak | 134 |
stat.killEntity | Jako pod kryterium powinno się wpisać nazwę moba. Poprawne nazwy to „Silverfish”, „Ocelot”, „Zombie”, „Blaze”, „Pig”, „Creeper”, „Cow”, „Ghast”, „Witch”, „Squid”, „Spider”, „Villager”, „Enderman”, „LavaSlime”, „PigZombie”, „Wolf”, „Sheep”, „EntityHorse”, „Chicken”, „Slime”, „Skeleton”, „Bat”, „MushroomCow”, „CaveSpider”. Wartość podnosi się, gdy gracz zabije wcześniej określonego moba. Przykład: wpisany cel nosi nazwę „stat.killEntity.Spider”, za każdym razem, gdy gracz zabije danego moba, wartość celu zostanie zwiększona o jeden. | Tak | 24 |
stat.entityKilledBy | Jest to odwrotność bazy „stat.killEntity”. Rejestruje po prostu ilość śmierci gracza spowodowanych przez danego moba. Pod kryteria są te same co w bazie „stat.killEntity”, czyli „Silverfish”, „Ocelot”, „Zombie”, „Blaze”, „Pig”, „Creeper”, „Cow”, „Ghast”, „Witch”, „Squid”, „Spider”, „Villager”, „Enderman”, „LavaSlime”, „PigZombie”, „Wolf”, „Sheep”, „EntityHorse”, „Chicken”, „Slime”, „Skeleton”, „Bat”, „MushroomCow”, „CaveSpider”. Mimo że na liście pod kryteriów znajdują się moby pasywne, ich wartość nigdy nie zostanie zwiększona, gdyż moby pasywne w żadnym wypadku nie zaatakują gracza. | Tak | 24 |
Wszystkie cele oprócz „health” możemy modyfikować za pomocą poleceń. W łatwy sposób możemy również sprawdzić wartość celu gracza za pomocą komendy wpisywanej w bloku poleceń oraz argumentów score_nazwa i score_nazwa_min. W tych argumentach „nazwa” to ciąg znaków, który wpisaliśmy przy tworzeniu celu, „score_nazwa” to maksymalna wartość celu, jaką posiadać ma gracz, a „score_nazwa_min” to minimalna wartość, jaką mieć ma cel gracza. Na przykład komendą testfor @p[score_śmierci=5,score_śmierci_min=1]
możemy sprawdzić, czy najbliższa osoba zginęła od 1 do 5 razy. Aby uzyskać wynik, należy podłączyć komparator (postawić tyłem do bloku poleceń) oraz zasilić blok poleceń. W przypadku gdy komparator zostanie zasilony, to cel został spełniony, czyli w użytym przykładzie oznacza to, że gracz zginął od jeden do pięciu razy. Jednak gdy komparator nie zostanie zasilony oznacza to, że gracz nigdy nie umarł albo że umarł więcej niż 5 razy.
Komendy związane z celami:
- scoreboard <cel> <nick> <drużyny> – dodaje cel;
- scoreboard objectives add <nazwa> <cel> <nazwa wyświetlana> – dodaje cel;
- scoreboard objectives remove <nazwa> – usuwa cel;
- scoreboard objectives setdisplay <sposób wyświetlania> <cel> – pokazuje wyniki w jednym z trzech sposobów;
- scoreboard players list <nick> - pokazuje wyniki graczy;
- scoreboard players set <nick> <cel> <liczba punktów> – ustawia tyle punktów wybranemu graczowi;
- scoreboard players reset <player> – resetuje danemu graczowi punkty (na 0);
- scoreboard players operation <nazwaCelu> <cel> <operacja> <selektor> <cel> – np. sumuje wyniki graczy w jeden itd.
Wyświetlanie punktów
Dzięki poleceniu „scoreboard objectives setdisplay” możemy ustawić, gdzie tabela wyników ma się wyświetlać. Aktualnie do wyboru są trzy możliwości umieszczenia tablicy wyników.
Miejsce (komenda) | Opis |
---|---|
list | Wyświetla żółty numer bez obramowania w menu pod tabulatorem, gdzie pokazywani są aktualni gracze. Wyświetla się również w trybie gry pojedynczej. |
sidebar | Pokazuje nowe okno po prawej stronie ekranu. Ustawia graczy chronologicznie, kierując się punktami. Okno ma obramowanie i pokazuje jako tytuł wyświetlaną nazwę, którą wybraliśmy przy wpisywaniu komendy. Mogą być pokazani gracze, których aktualnie nie ma na serwerze. |
belowName | Wyświetla punkty i wyświetlaną nazwę nad nazwą gracza. Odległość widzenia wynosi około 10 bloków. Jest niewidzialna, kiedy gracz się skrada. Tabela nie jest widoczna w trybie dla jednego gracza. |
Drużyny
Drużyny składają się z nazwy, nazwy wyświetlanej i koloru nicku członków.
Komenda | Opis |
scoreboard teams list [teamname] | Pokazuje wyniki wybranych drużyn. |
scoreboard teams add <nazwa drużyny> <nazwa wyświetlana> | Tworzy drużynę. |
scoreboard teams remove <nazwa drużyny> | Usuwa drużynę. |
scoreboard teams empty <nazwa drużyny> | Czyści drużynę z graczy. |
scoreboard teams join <nazwa drużyny> <nick> | Dodaje graczy do drużyny. |
scoreboard teams leave <nick> | Usuwa graczy z drużyny, w której się aktualnie znajdują. |
scoreboard teams option <team> <friendlyfire/color> <value> | Ustawia przyjacielski ogień. |
scoreboard teams option <team> color/friendlyfire/seeFriendlyInvisibles <value> | color – Ustawia kolor drużyny. Dostępne kolory to „black”, „dark_blue”, „dark_green”, „dark_aqua”, „dark_red”, „dark_purple”, „gold”, „gray”, „dark_gray”, „blue”, „green”, „aqua”, „red”, „light_purple”, „yellow”, „white” i „reset” (podstawowy kolor). friendlyfire – ustawia możliwość walk PvP w danej drużynie; jako <value> należy podać TRUE/FALSE. seeFriendlyInvisibles – ustawia możliwość widzenia graczy, którzy użyli mikstury niewidzialności w obrębie drużyny; jako <value> należy podać TRUE/FALSE. |
Historia
Pełna wersja | |||||
---|---|---|---|---|---|
1.5 | 13w04a | Dodano tablice wyników. | |||
13w05a | Dodano drużyny. | ||||
1.7.2 | 13w36a | Dodano obiektywne kryteria bazowane na statystykach. | |||
1.8 | 14w02a | Byty inne niż gracze również mogą być częścią drużyn i mieć obiektywne wyniki. | |||
14w06a | Dodano kryteria trigger i zabicia dokonane przez drużynę. | ||||
Dodano polecenie /scoreboard players enable . | |||||
Kryteria statystyk używają ID słownych zamiast identyfikatorów numerycznych. | |||||
Dodano kryterium achievement.overpowered . | |||||
14w07a | Dodano polecenia /scoreboard players operation oraz /scoreboard players test . | ||||
Wyniki dla fałszywych graczy, którzy mają „#” w swojej nazwie, nie pojawiają się na pasku bocznym. | |||||
Dodano specyficzne dla drużyn miejsca na pasku bocznym. | |||||
Dodano opcję dla drużyn nametagVisibility . | |||||
14w10a | Dodano opcję dla drużyn deathMessageVisibility . | ||||
14w25a | Dodano działania = , < i > do polecenia /scoreboard players operation . | ||||
14w29a | Nazwy graczy/bytów na pasku bocznym są porządkowane na drugim miejscu w kolejności alfabetycznej. | ||||
14w30a | Dodano kryteria stat.talkedToVillager i stat.tradeWithVillager . | ||||
? | Dodano działanie >< do polecenia /scoreboard players operation . | ||||
1.9 | 15w32a | Dodano kryterium stat.sneakTime . | |||
15w32b | Dodano cele xp , food i air . | ||||
15w33a | Dodano kryteria stat.pickup oraz stat.drop . | ||||
Dodano cele armor i level . | |||||
1.13 | 1.13-pre7 | Dodano polecenie /scoreboard objectives modify . | |||
1.13-pre8 | Dodano polecenie /scoreboard objectives modify <objectiveName> rendertype hearts , które wyświetla pasek życia jako serduszka. | ||||
1.18 | 21w37a | Usunięto 16-znakowy limit dla tablic wyników, posiadaczy punktów i nazw drużyn. | |||
Bedrock Edition | |||||
1.7.0 | beta 1.7.0.2 | Dodano podstawową mechanikę tablic wyników. | |||
Dodano tablicę wyników z jednym kryterium: dummy . |