PlainTextContents.java

net.minecraft.network.chat.contents.PlainTextContents

信息

  • 全限定名:net.minecraft.network.chat.contents.PlainTextContents
  • 类型:public interface
  • 包:net.minecraft.network.chat.contents
  • 源码路径:src/main/java/net/minecraft/network/chat/contents/PlainTextContents.java
  • 起始行号:L11
  • 继承:ComponentContents
  • 职责:

    TODO

字段/常量

  • MAP_CODEC

    • 类型: MapCodec<PlainTextContents>
    • 修饰符: package-private
    • 源码定位: L12
    • 说明:

      TODO

  • EMPTY

    • 类型: PlainTextContents
    • 修饰符: public public
    • 源码定位: L15
    • 说明:

      TODO

内部类/嵌套类型

  • net.minecraft.network.chat.contents.PlainTextContents.LiteralContents
    • 类型: record
    • 修饰符: public
    • 源码定位: L38
    • 说明:

      TODO

构造器

方法

下面的方法块按源码顺序生成。

static PlainTextContents create(String text) @ L27

  • 方法名:create
  • 源码定位:L27
  • 返回类型:PlainTextContents
  • 修饰符:static

参数:

  • text: String

说明:

TODO

String text() @ L31

  • 方法名:text
  • 源码定位:L31
  • 返回类型:String
  • 修饰符:package-private

参数:

说明:

TODO

default MapCodec<PlainTextContents> codec() @ L33

  • 方法名:codec
  • 源码定位:L33
  • 返回类型:MapCodec
  • 修饰符:default

参数:

说明:

TODO

代码

public interface PlainTextContents extends ComponentContents {
    MapCodec<PlainTextContents> MAP_CODEC = RecordCodecBuilder.mapCodec(
        i -> i.group(Codec.STRING.fieldOf("text").forGetter(PlainTextContents::text)).apply(i, PlainTextContents::create)
    );
    PlainTextContents EMPTY = new PlainTextContents() {
        @Override
        public String toString() {
            return "empty";
        }
 
        @Override
        public String text() {
            return "";
        }
    };
 
    static PlainTextContents create(String text) {
        return (PlainTextContents)(text.isEmpty() ? EMPTY : new PlainTextContents.LiteralContents(text));
    }
 
    String text();
 
    @Override
    default MapCodec<PlainTextContents> codec() {
        return MAP_CODEC;
    }
 
    public record LiteralContents(String text) implements PlainTextContents {
        @Override
        public <T> Optional<T> visit(FormattedText.ContentConsumer<T> output) {
            return output.accept(this.text);
        }
 
        @Override
        public <T> Optional<T> visit(FormattedText.StyledContentConsumer<T> output, Style currentStyle) {
            return output.accept(currentStyle, this.text);
        }
 
        @Override
        public String toString() {
            return "literal{" + this.text + "}";
        }
    }
}

引用的其他类