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 (§).

<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

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.