文本组件
文本组件是MC中富文本的基本单元,包括样式、颜色、hoverEvent
和clickEvent
,文本组件是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
不是可翻译组件,key
和args
均得到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
文档待完善