Guides / Commands & Data

Tekst JSON w /tellraw: clickEvent, hoverEvent i dlaczego Twoja wiadomość się nie wyświetla

Jeden źle postawiony nawias sprawia, że tellraw zawodzi po cichu. Oto prawidłowa struktura komponentu, akcje kliknięcia i najechania, które faktycznie działają na czacie, oraz zasada ucieczki, którą ludzie często pomijają.

/tellraw przyjmuje komponent tekstowy JSON, a tryb awarii jest mało pomocny: źle sformułowany komponent nie generuje żadnej wiadomości ani błędu. Wszystko poniżej dotyczy prawidłowego ułożenia struktury za pierwszym razem.

Trzy prawidłowe struktury

"plain string"
{"text":"one component"}
["joined ",{"text":"list","color":"gold"}]

Forma listy jest tą, której należy używać do wszystkiego, co interesujące, ponieważ każdy element może mieć własne formatowanie. Formatowanie pierwszego elementu jest dziedziczone przez resztę, chyba że zostanie ono nadpisane — dlatego ludzie otrzymują całą wiadomość niespodziewanie złotą. Aby tego uniknąć, rozpocznij listę pustym ciągiem:

/tellraw @a ["",{"text":"Warning: ","color":"red"},{"text":"low health"}]

Akcje kliknięcia

clickEvent przyjmuje akcję i wartość:

AkcjaWartośćUwaga
run_command/spawnUruchamia jako Gracz, na jego poziomie uprawnień
suggest_command/msg Steve Wypełnia pole czatu, nie wysyła
open_urlhttps://…Pyta przed otwarciem
copy_to_clipboarddowolny tekstNajbardziej przyjazna opcja do udostępniania współrzędnych
change_pagenumer stronyTylko Książki

run_command to ta z pułapką: wykonuje się z uprawnieniami klikającego Gracza, a nie Bloku poleceń. Menu, które wywołuje /gamemode creative, nic nie robi dla zwykłego Gracza.

Akcje najechania

"hoverEvent":{"action":"show_text","contents":["Click to teleport"]}

show_text, show_item i show_entity. Zwróć uwagę na contents — starsze poradniki używają value, który został zastąpiony i teraz zawodzi po cichu. Ta pojedyncza zmiana nazwy odpowiada za wiele niedziałających podpowiedzi po najechaniu, skopiowanych z samouczków.

Ucieczka to miejsce, gdzie się psuje

Cały komponent jest jednym argumentem polecenia, więc cudzysłowy wewnątrz muszą przetrwać parser poleceń. W Bloku poleceń wpisz go bezpośrednio. W pliku funkcji ucieczka za pomocą ukośnika odwrotnego nie jest potrzebna. W /give Zapisanej książce JSON jest ciągiem znaków wewnątrz ciągu znaków i potrzebuje ucieczki — to jest przypadek, który generuje nieczytelne ściany \".

Zasada kciuka: jeśli zagnieżdżasz komponenty tekstowe w komponencie przedmiotu, zbuduj go za pomocą narzędzia, a nie ręcznie.

Selektory w tekście

{"selector":"@p","separator":{"text":", "}}

rozwiązuje się do nazw Graczy w momencie wysyłania. {"score":{"name":"@s","objective":"Kills"}} pobiera wartość z tablicy wyników. Obie metody są lepsze niż samodzielne próby łączenia wartości.

Klucze tłumaczeń podróżują między językami

{"translate":"block.minecraft.crafting_table"}

renderuje się w języku każdego Gracza — 제작대 dla klienta koreańskiego, 作業台 dla japońskiego. Dla serwera wielojęzycznego jest to zdecydowanie lepsze niż twarde kodowanie angielskiego.

Zbuduj komponent wizualnie, z akcjami kliknięcia i najechania w ich obecnej formie, w Kreatorze poleceń tekstowych i wyświetlających.

Kreator komend tekstu i wyświetlania →

More guides

Browse all →

Szukasz innych narzędzi do Minecrafta?

Zestaw generatorów, podglądów i konwerterów działających w przeglądarce — wszystkie za darmo.