本篇教程的视频

本篇教程的源代码

GitHub地址:TutorialMod-1.20.1-Forge-Tooltip

为物品添加提示信息

工具信息(ToolTip)也被称为悬浮文本(HoverText),其实就是当我们鼠标悬停在物品上时,除了物品名外显示的额外的文本内容

这期教程其实很简单,我们只需要重写一个方法即可

这里我们到之前写的PickaxeAxeItem类里面,重写appendHoverText方法

1
2
3
4
5
6
7
8
9
@Override
public void appendHoverText(ItemStack pStack, @Nullable Level pLevel, List<Component> pTooltipComponents, TooltipFlag pIsAdvanced) {
super.appendHoverText(pStack, pLevel, pTooltipComponents, pIsAdvanced);
if (Screen.hasShiftDown()) {
pTooltipComponents.add(Component.translatable("tooltip.tutorial.pickaxe_axe.shift"));
} else {
pTooltipComponents.add(Component.translatable("tooltip.tutorial.pickaxe_axe"));
}
}

这里我们再添加一个功能,即按下Shift时,会显示更多的信息

这里的Component也就是文本组件,translatable里面填的东西待会到语言文件中翻译

文本翻译

我们来将上面的两个键进行翻译,还是使用数据生成

1
2
add("tooltip.tutorial.pickaxe_axe.shift", "This is a item that can be used as a pickaxe and an axe");
add("tooltip.tutorial.pickaxe_axe", "Hold §6§n§l§oSHIFT§r§r§r§r for more info!");

这里我们将SHIFT这个单词进行了特殊处理,这里就是使用了Minecraft自己的格式化代码

格式化代码又称为颜色代码,可以为文本添加特殊格式(如加粗斜体等),还有添加颜色

具体的可参见格式化代码 - 中文 Minecraft Wiki,Wiki上也有一个文本编辑器,大家也可以根据需要去设置文本格式

虽然说Wiki上提示颜色代码已弃用,不过现在还能用(甚至到26.1还能用),当然也不排除未来会真的被移除,也可以使用新版本新增的文本组件

最后我们就可以跑数据生成并启动游戏进行测试了