MC Toolkit

Poradniki / Polecenia i dane

Ten sam czerwony tekst psuje się na Java i Bedrock

Kod koloru, który działa bez zarzutu w jednym pluginie, w następnym wyświetla się jako dosłowne ampersandy. Powodem jest format, nie plugin.

Kod § i tag MiniMessage mogą opisywać ten sam kolor, a mimo to ten sam serwer je odrzuci. Kolorowy tekst na serwerze to nie jeden format — to co najmniej pięć, a pluginy nie zgadzają się co do tego, które akceptują.

Pięć dialektów

DialektWygląda jakGdzie przetrwa
Legacy section§cHelloVanilla chat, starsze pluginy
Ampersand legacy&cHelloPliki konfiguracyjne, wiele pluginów
BungeeCord hex&x&f&f&0&0&0&0Pluginy proxy, niektóre czaty
MiniMessage<red>Hello</red>Nowoczesne pluginy Paper
JSON component{"text":"Hello","color":"red"}Vanilla commands, /tellraw

Forma z ampersandem wcale nie jest kodem koloru, dopóki coś jej nie przetłumaczy. Wklej &c do pluginu, który oczekuje MiniMessage, a gracze zobaczą dosłowne znaki.

Kody legacy kończą się na kolorach

System z znakiem sekcji niesie ze sobą stały zestaw liter kolorów oraz przełączniki formatowania. Nie ma w nim sposobu na wyrażenie dowolnego koloru. Hex pojawił się później, a forma BungeeCord koduje go znak po znaku — &x, po którym następuje sześć cyfr hex z prefiksem &, i dlatego wygląda tak długo.

MiniMessage przyjmuje #ff0000 bezpośrednio. JSON przyjmuje ten sam hex jako wartość tekstową.

Java i Bedrock się nie zgadzają

Bedrock również używa znaku sekcji, ale jego zestaw kolorów i obsługa resetowania formatowania różnią się od Java. Tekst, który wyświetla się poprawnie na serwerze Java, może pokazywać zbłąkane znaki u klientów Bedrock, a proxy cross-play często tłumaczą między tymi dwoma formatami, zamiast przekazywać tekst dalej. Jeśli twój serwer przyjmuje graczy Bedrock, przetestuj wynik na obu.

Pułapka zagnieżdżania

Kody legacy są stanowe: kod koloru resetuje formatowanie, więc §c§lBold jest czerwony i pogrubiony, ale §l§cBold jest tylko czerwony — kod koloru po pogrubieniu go czyści. Najpierw kolor, potem formatowanie. MiniMessage to drzewo — <red><bold>text</bold></red> zamyka się czysto. Konwersja zagnieżdżonego tekstu MiniMessage na kody legacy gubi strukturę, ponieważ legacy nie ma tagu zamykającego.

Escapowanie

MiniMessage traktuje < jako składnię. Gracz o nicku <Steve> psuje każdy plugin, który parsuje jego nick jako komponent. Formaty legacy mają ten sam problem z &, dlatego wiele pluginów wymaga && lub flagi w konfiguracji, aby go escapować.

Napisz tekst raz, wybierz dialekt, który faktycznie parsuje twój plugin, i skopiuj dokładny tekst z Server Text Studio.

Studio tekstu serwera →

Więcej poradników

Zobacz wszystkie →