MC Toolkit

Guias / Comandos e dados

O mesmo texto vermelho quebra no Java e no Bedrock

Um código de cor que funciona perfeitamente em um plugin aparece como "e" comerciais literais no próximo. O formato é o motivo, não o plugin.

Um código § e uma tag MiniMessage podem descrever a mesma cor e ainda assim serem rejeitados pelo mesmo servidor. Texto colorido em servidores não é um único formato — são pelo menos cinco, e os plugins discordam sobre quais aceitam.

Os cinco dialetos

DialetoAparênciaOnde sobrevive
Section legado§cHelloChat vanilla, plugins mais antigos
Ampersand legado&cHelloArquivos de configuração, muitos plugins
Hex do BungeeCord&x&f&f&0&0&0&0Plugins de proxy, alguns chats
MiniMessage<red>Hello</red>Plugins modernos do Paper
Componente JSON{"text":"Hello","color":"red"}Comandos vanilla, /tellraw

O formato com ampersand não é um código de cor de verdade até que algo o traduza. Cole &c em um plugin que espera MiniMessage e os jogadores vão ler os caracteres literais.

Os códigos legados ficam sem cores

O sistema de section sign carrega um conjunto fixo de letras de cor mais alternadores de formatação. Não há como expressar uma cor arbitrária nele. O hex chegou depois, e o formato do BungeeCord o codifica um caractere por vez — &x seguido de seis dígitos hexadecimais prefixados com &, e é por isso que ele parece tão longo.

O MiniMessage aceita #ff0000 diretamente. O JSON aceita o mesmo hex como valor de string.

Java e Bedrock não concordam

O Bedrock também usa o section sign, mas seu conjunto de cores e seu tratamento de redefinições de formatação diferem do Java. Uma string que funciona corretamente em um servidor Java pode mostrar caracteres estranhos em clientes Bedrock, e proxies de cross-play muitas vezes traduzem entre os dois em vez de repassar o texto. Se o seu servidor aceita jogadores do Bedrock, teste a saída nos dois.

A armadilha do aninhamento

Os códigos legados têm estado: um código de cor redefine a formatação, então §c§lBold é vermelho e negrito, mas §l§cBold é apenas vermelho — o código de cor depois do negrito o limpa. Cor primeiro, formatação depois. O MiniMessage é uma árvore — <red><bold>text</bold></red> fecha de forma limpa. Converter uma string MiniMessage aninhada para códigos legados perde a estrutura, porque o legado não tem tag de fechamento.

Escape

O MiniMessage trata < como sintaxe. Um jogador chamado <Steve> quebra qualquer plugin que analise o nome dele como um componente. Os formatos legados têm o mesmo problema com &, e é por isso que muitos plugins exigem && ou uma flag de configuração para escapá-lo.

Escreva o texto uma vez, escolha o dialeto que seu plugin realmente analisa e copie a string exata do Server Text Studio.

Estúdio de texto para servidores →

Mais guias

Ver todos →