NarrationThunk.java
net.minecraft.client.gui.narration.NarrationThunk
信息
- 全限定名:net.minecraft.client.gui.narration.NarrationThunk
- 类型:public class
- 包:net.minecraft.client.gui.narration
- 源码路径:src/main/java/net/minecraft/client/gui/narration/NarrationThunk.java
- 起始行号:L12
- 职责:
TODO
字段/常量
-
contents- 类型:
T - 修饰符:
private final - 源码定位:
L13 - 说明:
TODO
- 类型:
-
converter- 类型:
BiConsumer<Consumer<String>,T> - 修饰符:
private final - 源码定位:
L14 - 说明:
TODO
- 类型:
-
EMPTY- 类型:
NarrationThunk<?> - 修饰符:
public static final - 源码定位:
L15 - 说明:
TODO
- 类型:
内部类/嵌套类型
- 无
构造器
private NarrationThunk(T contents, BiConsumer<Consumer<String>,T> converter) @ L17
- 构造器名:NarrationThunk
- 源码定位:L17
- 修饰符:private
参数:
- contents: T
- converter: BiConsumer<Consumer
,T>
说明:
TODO
方法
下面的方法块按源码顺序生成。
public static NarrationThunk<?> from(String text) @ L22
- 方法名:from
- 源码定位:L22
- 返回类型:NarrationThunk<?>
- 修饰符:public static
参数:
- text: String
说明:
TODO
public static NarrationThunk<?> from(Component text) @ L26
- 方法名:from
- 源码定位:L26
- 返回类型:NarrationThunk<?>
- 修饰符:public static
参数:
- text: Component
说明:
TODO
public static NarrationThunk<?> from(List<Component> lines) @ L30
- 方法名:from
- 源码定位:L30
- 返回类型:NarrationThunk<?>
- 修饰符:public static
参数:
- lines: List
说明:
TODO
public void getText(Consumer<String> output) @ L34
- 方法名:getText
- 源码定位:L34
- 返回类型:void
- 修饰符:public
参数:
- output: Consumer
说明:
TODO
public boolean equals(Object o) @ L38
- 方法名:equals
- 源码定位:L38
- 返回类型:boolean
- 修饰符:public
参数:
- o: Object
说明:
TODO
public int hashCode() @ L47
- 方法名:hashCode
- 源码定位:L47
- 返回类型:int
- 修饰符:public
参数:
- 无
说明:
TODO
代码
@OnlyIn(Dist.CLIENT)
public class NarrationThunk<T> {
private final T contents;
private final BiConsumer<Consumer<String>, T> converter;
public static final NarrationThunk<?> EMPTY = new NarrationThunk<>(Unit.INSTANCE, (o, c) -> {});
private NarrationThunk(T contents, BiConsumer<Consumer<String>, T> converter) {
this.contents = contents;
this.converter = converter;
}
public static NarrationThunk<?> from(String text) {
return new NarrationThunk<>(text, Consumer::accept);
}
public static NarrationThunk<?> from(Component text) {
return new NarrationThunk<>(text, (o, c) -> o.accept(c.getString()));
}
public static NarrationThunk<?> from(List<Component> lines) {
return new NarrationThunk<>(lines, (o, c) -> lines.stream().map(Component::getString).forEach(o));
}
public void getText(Consumer<String> output) {
this.converter.accept(output, this.contents);
}
@Override
public boolean equals(Object o) {
if (this == o) {
return true;
} else {
return !(o instanceof NarrationThunk<?> thunk) ? false : thunk.converter == this.converter && thunk.contents.equals(this.contents);
}
}
@Override
public int hashCode() {
int result = this.contents.hashCode();
return 31 * result + this.converter.hashCode();
}
}引用的其他类
- Component
- 引用位置:
参数
- 引用位置: