XML 格式

Sponge 使用一种预定义的 XML 格式来表示文本的颜色等样式。下面是一些 XML 元素和属性的说明:

元素

属性

说明

a(链接)

href

代表一个链接,其中的 href 属性指示此文本将在单击时打开的链接。

b(加粗)

代表被 加粗 的一段文本。

c(颜色)

n

代表彩色的文本,其颜色由 n (名称)属性决定。

i(斜体)

代表一段 倾斜 的文本。

o(混乱)

代表混乱的文本,也就是连续变化的随机字符替换原字符得到的文本。

s(删除)

代表被删除线标注的文本。

span

onClick onHover

代表拥有单击或鼠标悬停操作的文本, onClickonHover 分别代表单击和鼠标悬停时的操作。

tr(翻译)

key

代表一段需要翻译的文本。

u(底线)

代表一段添加了下划线的文本。

例如,带下划线的红色文本 “Hello World!” 将会以如下方式表达为 XML 格式文本:

<c n="red">
    <u>Hello World!</u>
</c>

可以使用下面的代码生成 JSON 格式︰

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 xmlText = TextSerializers.TEXT_XML.serialize(text);