====== 添加物品提示 ====== ===== 物品的物品提示 ===== 在您的[[zh_cn:tutorial:items|物品]]类中,像这样重写 ''appendTooltip''(有关如何翻译提示,请参见[[zh_cn:tutorial:lang]])。 对于 1.18.2 及之前的版本: @Override public void method_7851(class_1799 itemStack, class_1937 world, List tooltip, class_1836 tooltipContext) { // 默认为白色文本 tooltip.add(new TranslatableText("item.tutorial.custom_item.tooltip")); // 格式化为红色文本 tooltip.add(new TranslatableText("item.tutorial.custom_item.tooltip").method_27692(class_124.field_1061) ); } 对于 1.19 之后的版本: @Override public void method_7851(class_1799 itemStack, class_1937 world, List tooltip, class_1836 tooltipContext) { tooltip.add(Text.translatable("item.tutorial.custom_item.tooltip")); } 对于 1.20.5 之后的版本: @Override public void method_7851(class_1799 itemStack, TooltipContext context, List tooltip, TooltipType type) { tooltip.add(Text.translatable("item.tutorial.custom_item.tooltip")); } > :!: 该方法自从 1.21.5 开始被弃用。要在 1.21.5 添加物品提示,请使用 Fabric API。 ===== 方块的物品提示 ===== 你也可以在[[zh_cn:tutorial:blocks|方块]]类中通过重写类似方法来添加物品提示: @Override public void method_9568(class_1799 itemStack, class_1922 world, List tooltip, class_1836 tooltipContext) { // 对于 1.18.2 及之前的版本 tooltip.add(new TranslatableText("block.tutorial.custom_block.tooltip")); // 对于 1.19 之后的版本 tooltip.add(Text.translatable("block.tutorial.custom_block.tooltip")); } 对于 1.20.5 之后、1.21.5 之前的版本: @Override public void method_9568(class_1799 itemStack, Item.TooltipContext context, List tooltip, TooltipType options) { tooltip.add(Text.translatable("block.tutorial.custom_block.tooltip")); } ===== 在 1.21.5 中添加物品提示 ===== 自 1.21.5 开始,物品提示的实现方式被重写。大多数物品提示改为使用物品组件实现,其是否显示会受到 ''tooltip_display'' 物品组件的影响。不过,还是可以借助 Fabric API 添加自定义的物品提示。可以在代码的模组初始化器部分加入以下代码: ItemTooltipCallback.EVENT.register((itemStack, tooltipContext, tooltipType, list) -> { if (!itemStack.isOf(TutorialItems.CUSTOM_ITEM)) { return; } list.add(Text.translatable("item.tutorial.custom_item.tooltip")); }); 这个例子将为我们在 [[items]] 教程中创建的物品添加自定义的物品提示。