User Tools

Site Tools


zh_cn:tutorial:tooltip

添加物品提示

物品的物品提示

在您的物品类中,像这样重写 appendTooltip(有关如何翻译提示,请参见lang)。

对于 1.18.2 及之前的版本:

@Override
public void appendTooltip(ItemStack itemStack, World world, List<Text> tooltip, TooltipContext tooltipContext) {
 
    // 默认为白色文本
    tooltip.add(new TranslatableText("item.tutorial.custom_item.tooltip"));
 
    // 格式化为红色文本
    tooltip.add(new TranslatableText("item.tutorial.custom_item.tooltip").formatted(Formatting.RED) );
}

对于 1.19 之后的版本:

@Override
public void appendTooltip(ItemStack itemStack, World world, List<Text> tooltip, TooltipContext tooltipContext) {
    tooltip.add(Text.translatable("item.tutorial.custom_item.tooltip"));
}

对于 1.20.5 之后的版本:

@Override
public void appendTooltip(ItemStack itemStack, TooltipContext context, List<Text> tooltip, TooltipType type) {
    tooltip.add(Text.translatable("item.tutorial.custom_item.tooltip"));
}

:!: 该方法自从 1.21.5 开始被弃用。要在 1.21.5 添加物品提示,请使用 Fabric API。

方块的物品提示

你也可以在方块类中通过重写类似方法来添加物品提示:

@Override
public void appendTooltip(ItemStack itemStack, BlockView world, List<Text> tooltip, TooltipContext 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 appendTooltip(ItemStack itemStack, Item.TooltipContext context, List<Text> 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 教程中创建的物品添加自定义的物品提示。

zh_cn/tutorial/tooltip.txt · Last modified: 2025/04/01 08:15 by solidblock