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);
    }
}

引用的其他类

  • Style

    • 引用位置: 参数
  • Unit

    • 引用位置: 字段