Memformat kode & Format warisan

Text can be represented by using a special character indicating a formatting of some kind followed by a unique character indicating the specific formatting to be used. In SpongeAPI, there are two different characters that are supported by default: the ampersand (&) and the section character (§).

<https://minecraft.gamepedia.com/Formatting_codes>`_. Penting untuk dicatat bahwa Wiki Minecraft hanya menampilkan penggunaan karakter bagian (§), namun kode yang sama juga bekerja dengan ampersand (&) juga.

Peringatan

Text serialization using any kind of formatting code is limited to representing only some of the capabilities of a Text, namely formatting. It cannot represent any kind of click or hover actions. If brevity is not an issue (as it is in Minecraft chat), it is recommended to use the Format JSON.

Ampersand Format

Secara default, Sponge mendukung karakter pemformatan & (ampersand). Menggunakan format ampersand memungkinkan input pengguna format teks yang lebih mudah dan berguna dalam kasus seperti ini jika memerlukan singkat, seperti di konsol obrolan Minecraft.

Untuk menggunakan format ini, anda dapat mengakses :javadoc:'TextSerializer' itu sendiri yang sesuai dengan :javadoc:'TextSerializers#FORMATTING_CODE'. Dari sana, anda dapat menggunakan metode "serialize" atau "deserialize" seperti biasa:

import org.spongepowered.api.text.Text;
import org.spongepowered.api.text.format.TextColors;
import org.spongepowered.api.text.format.TextStyles;
import org.spongepowered.api.text.serializer.TextSerializers;

Text text = Text.of(TextColors.RED, TextStyles.UNDERLINE, "Hello World!");
String ampersandFormattedText = TextSerializers.FORMATTING_CODE.serialize(text);

Misalnya, Teks "Hello World!", diformat dengan warna merah dan sebuah garis bawah akan memiliki perwakilan berikut dengan kode format ampersand: '&c&Hello World!'

Warisan Format

Warisan perwakilan teks adalah format yang digunakan secara luas dalam versi lama Minecraft, diwakili oleh penampang karakter (§). Sponge menyediakan serialisasi dan deserialiasi menggunakan format warisan only for compatibility. Ia tidak boleh digunakan kecuali jika benar-benar diperlukan. Sebaliknya, disarankan untuk menggunakan dengan format ampersand, seperti yanng dirincinkan di atas. Format warisan yang memiliki beberapa batasan yang tidak dimiliki format ampersand, yang paling jelas di antara mereka ialah pengguna yang tidak dapat dengan mudah mengetik bagian karakter ke dalam obrolan.

Untuk menggunakan format ini, anda dapat mengakses yang sesuai dengan "TextSerializer" :javadoc:'TextSerializers#LEGACY_FORMATTING_CODE'. Dari sana, anda dapat menggunakan metode "serialize" atau "deserialize" seperti biasa:

Text text = Text.of(TextColors.RED, TextStyles.UNDERLINE, "Hello World!");
String legacyText = TextSerializers.LEGACY_FORMATTING_CODE.serialize(text);

Misalnya, teks "Hello World!", diformat dengan warna merah dan sebuah garis bawah akan mempunyai gambaran berikut dalam format warisan: '§c§nHello World!'

Tip

Meskipun menggunakan itu sendiri tidaklah disarankan, anda bisa mendapatkan sebuah :javadoc:'FormattingCodeTextSerializer' menggunakan karakter pemformatan manapun yang anda butuhkan dengan memanggil :javadoc:'TextSerializers#formattingCode(char)', dalam melewati sebuah "char" sebagai argumen satu-satunya.