Memformat kode & Format warisan
Teks dapat diwakili dengan menggunakan karakter khusus yang menunjukkan format of some kind* diikuti oleh karakter unik yang menunjukkan format spesifik yang akan digunakan. Di SpongeAPI, ada dua karakter berbeda yang didukung secara default: ampersand (&) dan karakter bagian (§).
Kedua skema pemformatan menggunakan kode yang ditemukan pada Minecraft Wiki. Ini penting untuk dicatat bahwa Wiki Minecraft hanya menampilkan penggunaan bagian karakter (§), namun kode yang sama bekerja dengan ampersand (&) juga.
Peringatan
Serialisasi teks menggunakan setiap macam dari kode format yang terbatas hanya untuk mewakili beberapa kemampuan dari sebuah :javadoc:'Text', yakni format. Ia tidak dapat mewakili apapun tindakan klik atau hover. Jika keringkasan bukanlah hal yang penting (seperti dalam obrolan Minecraft itu), Disarankan untuk menggunakan antara :doc:'./xml' atau :doc:'./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.