1. 文本组件(ITextComponent)
Minecraft 其实是有一点富文本(Rich text)的概念的:它支持粗体、斜体、下划线、删除线、十六种颜色、本地化、甚至点击特定文本后的回调。这些都是通过名为文本组件(ITextComponent
)的机制完成的。
1.1. 应用场景:需要翻译的左下角聊天窗口提示
开发 Mod 的时候难免会遇到需要给玩家发送聊天消息的需求。但如果这个消息需要翻译怎么办?有鉴于玩家消息本质上就是文本组件,那么我们用 TextComponentTranslation
就好了。
// 构造器里把 Translation Key 放进去即可。
player.sendMessage(new TextComponentTranslation("a.translation.key"));
或者,高端一点的可以加点特技:
player.sendMessage(new TextComponentTranslation("a.translation.key")
.setStyle(new Style()
.setHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT, new TextComponentTranslation("another.translation.key")))
)
);