文本组件

文本组件是MC中富文本的基本单元,包括样式、颜色、hoverEventclickEvent,文本组件是Text的实例可以嵌套

基本类型

literal

字面值组件是最常见的组件,包含一个字符串作为其显示内容

创建字面值组件:

Text t1 = Text.literal("Hello, world!");

获取字面值组件的文本(字串):

String str = t1.getLiteral(); // 若t1不是字面值组件,得到null

translatable

可翻译组件包含一个翻译键和若干个参数,一般根据客户端的语言文件显示内容

创建可翻译组件:

Text t2 = Text.translatable("item.minecraft.egg");
Text t3 = Text.translatable("pack.nameAndSource", Text.literal("testName"), Text.literal("testSource"));

获取可翻译组件的翻译键和参数:

String key = t2.getTranslatableKey();
Text[] args = t2.getTranslatableArgs();

(若t2不是可翻译组件,keyargs均得到null

keybindV1200

按键绑定组件包含一个按键绑定(按键的本地化键名),显示为客户端设置的对应按键

这种组件从MC1.12开始可用

创建按键绑定组件:

Text t4 = Text.keybindV1200("key.jump");

得到按键绑定组件的键名:

String keyKey = t4.getKeybindV1200();

(至少MC1.12开始才能调用,若t4不是按键绑定组件得到null

score

计分板组件,显示计分板中的一个值,不常用

开发中,暂不可用

selector

选择器组件,显示选择器选中的目标实体,不常用

颜色

TextColor的实例,若为null则使用父组件的颜色或默认颜色

设置组件颜色:

Text t5 = Text.literal("Red text").setColor(TextColor.RED);

fromRgbV1600

从MC1.16开始可以使用RGB颜色

设置RGB颜色:

Text t6 = Text.literal("RGB text").setColor(TextColor.fromRgbV1600(0xABCDEF));

样式

每种样式用一个Boolean表示,若为null则使用父组件的样式或默认样式

设置组件样式:

Text t7 = Text.literal("special text").setBold(true).setItalic(true).setUnderlined(true).setStrikethrough(true).setObfuscated(true);

hoverEvent

TODO

文档待完善

clickEvent

TODO

文档待完善