Tooltip.java
net.minecraft.client.gui.components.Tooltip
信息
- 全限定名:net.minecraft.client.gui.components.Tooltip
- 类型:public class
- 包:net.minecraft.client.gui.components
- 源码路径:src/main/java/net/minecraft/client/gui/components/Tooltip.java
- 起始行号:L19
- 实现:NarrationSupplier
- 职责:
TODO
字段/常量
-
MAX_WIDTH- 类型:
int - 修饰符:
private static final - 源码定位:
L20 - 说明:
TODO
- 类型:
-
message- 类型:
Component - 修饰符:
private final - 源码定位:
L21 - 说明:
TODO
- 类型:
-
cachedTooltip- 类型:
List<FormattedCharSequence> - 修饰符:
private - 源码定位:
L22 - 说明:
TODO
- 类型:
-
splitWithLanguage- 类型:
Language - 修饰符:
private - 源码定位:
L23 - 说明:
TODO
- 类型:
-
style- 类型:
Identifier - 修饰符:
private final - 源码定位:
L24 - 说明:
TODO
- 类型:
-
narration- 类型:
Component - 修饰符:
private final - 源码定位:
L25 - 说明:
TODO
- 类型:
-
component- 类型:
Optional<TooltipComponent> - 修饰符:
private final - 源码定位:
L26 - 说明:
TODO
- 类型:
内部类/嵌套类型
- 无
构造器
private Tooltip(Component message, Component narration, Optional<TooltipComponent> component, Identifier style) @ L28
- 构造器名:Tooltip
- 源码定位:L28
- 修饰符:private
参数:
- message: Component
- narration: Component
- component: Optional
- style: Identifier
说明:
TODO
方法
下面的方法块按源码顺序生成。
public static Tooltip create(Component message) @ L35
- 方法名:create
- 源码定位:L35
- 返回类型:Tooltip
- 修饰符:public static
参数:
- message: Component
说明:
TODO
public static Tooltip create(Component message, Component narration) @ L39
- 方法名:create
- 源码定位:L39
- 返回类型:Tooltip
- 修饰符:public static
参数:
- message: Component
- narration: Component
说明:
TODO
public static Tooltip create(Component message, Optional<TooltipComponent> component, Identifier style) @ L43
- 方法名:create
- 源码定位:L43
- 返回类型:Tooltip
- 修饰符:public static
参数:
- message: Component
- component: Optional
- style: Identifier
说明:
TODO
public Optional<TooltipComponent> component() @ L47
- 方法名:component
- 源码定位:L47
- 返回类型:Optional
- 修饰符:public
参数:
- 无
说明:
TODO
public Identifier style() @ L51
- 方法名:style
- 源码定位:L51
- 返回类型:Identifier
- 修饰符:public
参数:
- 无
说明:
TODO
public void updateNarration(NarrationElementOutput output) @ L55
- 方法名:updateNarration
- 源码定位:L55
- 返回类型:void
- 修饰符:public
参数:
- output: NarrationElementOutput
说明:
TODO
public List<FormattedCharSequence> toCharSequence(Minecraft minecraft) @ L62
- 方法名:toCharSequence
- 源码定位:L62
- 返回类型:List
- 修饰符:public
参数:
- minecraft: Minecraft
说明:
TODO
public static List<FormattedCharSequence> splitTooltip(Minecraft minecraft, Component message) @ L72
- 方法名:splitTooltip
- 源码定位:L72
- 返回类型:List
- 修饰符:public static
参数:
- minecraft: Minecraft
- message: Component
说明:
TODO
代码
@OnlyIn(Dist.CLIENT)
public class Tooltip implements NarrationSupplier {
private static final int MAX_WIDTH = 170;
private final Component message;
private @Nullable List<FormattedCharSequence> cachedTooltip;
private @Nullable Language splitWithLanguage;
private final @Nullable Identifier style;
private final @Nullable Component narration;
private final Optional<TooltipComponent> component;
private Tooltip(Component message, @Nullable Component narration, Optional<TooltipComponent> component, @Nullable Identifier style) {
this.message = message;
this.narration = narration;
this.component = component;
this.style = style;
}
public static Tooltip create(Component message) {
return new Tooltip(message, message, Optional.empty(), null);
}
public static Tooltip create(Component message, @Nullable Component narration) {
return new Tooltip(message, narration, Optional.empty(), null);
}
public static Tooltip create(Component message, Optional<TooltipComponent> component, @Nullable Identifier style) {
return new Tooltip(message, message, component, style);
}
public Optional<TooltipComponent> component() {
return this.component;
}
public @Nullable Identifier style() {
return this.style;
}
@Override
public void updateNarration(NarrationElementOutput output) {
if (this.narration != null) {
output.add(NarratedElementType.HINT, this.narration);
}
}
public List<FormattedCharSequence> toCharSequence(Minecraft minecraft) {
Language currentLanguage = Language.getInstance();
if (this.cachedTooltip == null || currentLanguage != this.splitWithLanguage) {
this.cachedTooltip = splitTooltip(minecraft, this.message);
this.splitWithLanguage = currentLanguage;
}
return this.cachedTooltip;
}
public static List<FormattedCharSequence> splitTooltip(Minecraft minecraft, Component message) {
return minecraft.font.split(message, 170);
}
}引用的其他类
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
实现
- 引用位置:
-
- 引用位置:
字段/方法调用 - 关联成员:
Language.getInstance()
- 引用位置:
-
- 引用位置:
参数/字段
- 引用位置:
-
- 引用位置:
参数/字段/返回值
- 引用位置:
-
- 引用位置:
字段/返回值
- 引用位置:
-
- 引用位置:
参数/字段/返回值
- 引用位置: