FormattedText.java
net.minecraft.network.chat.FormattedText
信息
- 全限定名:net.minecraft.network.chat.FormattedText
- 类型:public interface
- 包:net.minecraft.network.chat
- 源码路径:src/main/java/net/minecraft/network/chat/FormattedText.java
- 起始行号:L8
- 职责:
TODO
字段/常量
-
STOP_ITERATION- 类型:
Optional<Unit> - 修饰符:
package-private - 源码定位:
L9 - 说明:
TODO
- 类型:
-
EMPTY- 类型:
FormattedText - 修饰符:
public public - 源码定位:
L10 - 说明:
TODO
- 类型:
内部类/嵌套类型
-
net.minecraft.network.chat.FormattedText.ContentConsumer- 类型:
interface - 修饰符:
public - 源码定位:
L95 - 说明:
TODO
- 类型:
-
net.minecraft.network.chat.FormattedText.StyledContentConsumer- 类型:
interface - 修饰符:
public - 源码定位:
L99 - 说明:
TODO
- 类型:
构造器
- 无
方法
下面的方法块按源码顺序生成。
<T> Optional<T> visit(FormattedText.ContentConsumer<T> output) @ L22
- 方法名:visit
- 源码定位:L22
- 返回类型:
Optional - 修饰符:package-private
参数:
- output: FormattedText.ContentConsumer
说明:
TODO
<T> Optional<T> visit(FormattedText.StyledContentConsumer<T> output, Style parentStyle) @ L24
- 方法名:visit
- 源码定位:L24
- 返回类型:
Optional - 修饰符:package-private
参数:
- output: FormattedText.StyledContentConsumer
- parentStyle: Style
说明:
TODO
static FormattedText of(String text) @ L26
- 方法名:of
- 源码定位:L26
- 返回类型:FormattedText
- 修饰符:static
参数:
- text: String
说明:
TODO
static FormattedText of(String text, Style style) @ L40
- 方法名:of
- 源码定位:L40
- 返回类型:FormattedText
- 修饰符:static
参数:
- text: String
- style: Style
说明:
TODO
static FormattedText composite(FormattedText... parts) @ L54
- 方法名:composite
- 源码定位:L54
- 返回类型:FormattedText
- 修饰符:static
参数:
- parts: FormattedText…
说明:
TODO
static FormattedText composite(List<?extends FormattedText> parts) @ L58
- 方法名:composite
- 源码定位:L58
- 返回类型:FormattedText
- 修饰符:static
参数:
- parts: List<?extends FormattedText>
说明:
TODO
default String getString() @ L86
- 方法名:getString
- 源码定位:L86
- 返回类型:String
- 修饰符:default
参数:
- 无
说明:
TODO
代码
public interface FormattedText {
Optional<Unit> STOP_ITERATION = Optional.of(Unit.INSTANCE);
FormattedText EMPTY = new FormattedText() {
@Override
public <T> Optional<T> visit(FormattedText.ContentConsumer<T> output) {
return Optional.empty();
}
@Override
public <T> Optional<T> visit(FormattedText.StyledContentConsumer<T> output, Style parentStyle) {
return Optional.empty();
}
};
<T> Optional<T> visit(final FormattedText.ContentConsumer<T> output);
<T> Optional<T> visit(final FormattedText.StyledContentConsumer<T> output, final Style parentStyle);
static FormattedText of(String text) {
return new FormattedText() {
@Override
public <T> Optional<T> visit(FormattedText.ContentConsumer<T> output) {
return output.accept(text);
}
@Override
public <T> Optional<T> visit(FormattedText.StyledContentConsumer<T> output, Style parentStyle) {
return output.accept(parentStyle, text);
}
};
}
static FormattedText of(String text, Style style) {
return new FormattedText() {
@Override
public <T> Optional<T> visit(FormattedText.ContentConsumer<T> output) {
return output.accept(text);
}
@Override
public <T> Optional<T> visit(FormattedText.StyledContentConsumer<T> output, Style parentStyle) {
return output.accept(style.applyTo(parentStyle), text);
}
};
}
static FormattedText composite(FormattedText... parts) {
return composite(ImmutableList.copyOf(parts));
}
static FormattedText composite(List<? extends FormattedText> parts) {
return new FormattedText() {
@Override
public <T> Optional<T> visit(FormattedText.ContentConsumer<T> output) {
for (FormattedText part : parts) {
Optional<T> result = part.visit(output);
if (result.isPresent()) {
return result;
}
}
return Optional.empty();
}
@Override
public <T> Optional<T> visit(FormattedText.StyledContentConsumer<T> output, Style parentStyle) {
for (FormattedText part : parts) {
Optional<T> result = part.visit(output, parentStyle);
if (result.isPresent()) {
return result;
}
}
return Optional.empty();
}
};
}
default String getString() {
StringBuilder builder = new StringBuilder();
this.visit(contents -> {
builder.append(contents);
return Optional.empty();
});
return builder.toString();
}
public interface ContentConsumer<T> {
Optional<T> accept(final String contents);
}
public interface StyledContentConsumer<T> {
Optional<T> accept(final Style style, final String contents);
}
}