FormattedCharSequence.java

net.minecraft.util.FormattedCharSequence

信息

  • 全限定名:net.minecraft.util.FormattedCharSequence
  • 类型:public interface
  • 包:net.minecraft.util
  • 源码路径:src/main/java/net/minecraft/util/FormattedCharSequence.java
  • 起始行号:L9
  • 职责:

    TODO

字段/常量

  • EMPTY
    • 类型: FormattedCharSequence
    • 修饰符: package-private
    • 源码定位: L10
    • 说明:

      TODO

内部类/嵌套类型

构造器

方法

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

boolean accept(FormattedCharSink output) @ L12

  • 方法名:accept
  • 源码定位:L12
  • 返回类型:boolean
  • 修饰符:package-private

参数:

  • output: FormattedCharSink

说明:

TODO

static FormattedCharSequence codepoint(int codepoint, Style style) @ L14

  • 方法名:codepoint
  • 源码定位:L14
  • 返回类型:FormattedCharSequence
  • 修饰符:static

参数:

  • codepoint: int
  • style: Style

说明:

TODO

static FormattedCharSequence forward(String plainText, Style style) @ L18

  • 方法名:forward
  • 源码定位:L18
  • 返回类型:FormattedCharSequence
  • 修饰符:static

参数:

  • plainText: String
  • style: Style

说明:

TODO

static FormattedCharSequence forward(String plainText, Style style, Int2IntFunction modifier) @ L22

  • 方法名:forward
  • 源码定位:L22
  • 返回类型:FormattedCharSequence
  • 修饰符:static

参数:

  • plainText: String
  • style: Style
  • modifier: Int2IntFunction

说明:

TODO

static FormattedCharSequence backward(String plainText, Style style) @ L26

  • 方法名:backward
  • 源码定位:L26
  • 返回类型:FormattedCharSequence
  • 修饰符:static

参数:

  • plainText: String
  • style: Style

说明:

TODO

static FormattedCharSequence backward(String plainText, Style style, Int2IntFunction modifier) @ L30

  • 方法名:backward
  • 源码定位:L30
  • 返回类型:FormattedCharSequence
  • 修饰符:static

参数:

  • plainText: String
  • style: Style
  • modifier: Int2IntFunction

说明:

TODO

static FormattedCharSink decorateOutput(FormattedCharSink output, Int2IntFunction modifier) @ L34

  • 方法名:decorateOutput
  • 源码定位:L34
  • 返回类型:FormattedCharSink
  • 修饰符:static

参数:

  • output: FormattedCharSink
  • modifier: Int2IntFunction

说明:

TODO

static FormattedCharSequence composite() @ L38

  • 方法名:composite
  • 源码定位:L38
  • 返回类型:FormattedCharSequence
  • 修饰符:static

参数:

说明:

TODO

static FormattedCharSequence composite(FormattedCharSequence part) @ L42

  • 方法名:composite
  • 源码定位:L42
  • 返回类型:FormattedCharSequence
  • 修饰符:static

参数:

  • part: FormattedCharSequence

说明:

TODO

static FormattedCharSequence composite(FormattedCharSequence first, FormattedCharSequence second) @ L46

  • 方法名:composite
  • 源码定位:L46
  • 返回类型:FormattedCharSequence
  • 修饰符:static

参数:

  • first: FormattedCharSequence
  • second: FormattedCharSequence

说明:

TODO

static FormattedCharSequence composite(FormattedCharSequence... parts) @ L50

  • 方法名:composite
  • 源码定位:L50
  • 返回类型:FormattedCharSequence
  • 修饰符:static

参数:

  • parts: FormattedCharSequence…

说明:

TODO

static FormattedCharSequence composite(List<FormattedCharSequence> parts) @ L54

  • 方法名:composite
  • 源码定位:L54
  • 返回类型:FormattedCharSequence
  • 修饰符:static

参数:

  • parts: List

说明:

TODO

static FormattedCharSequence fromPair(FormattedCharSequence first, FormattedCharSequence second) @ L68

  • 方法名:fromPair
  • 源码定位:L68
  • 返回类型:FormattedCharSequence
  • 修饰符:static

参数:

  • first: FormattedCharSequence
  • second: FormattedCharSequence

说明:

TODO

static FormattedCharSequence fromList(List<FormattedCharSequence> partCopy) @ L72

  • 方法名:fromList
  • 源码定位:L72
  • 返回类型:FormattedCharSequence
  • 修饰符:static

参数:

  • partCopy: List

说明:

TODO

代码

@FunctionalInterface
public interface FormattedCharSequence {
    FormattedCharSequence EMPTY = output -> true;
 
    boolean accept(final FormattedCharSink output);
 
    static FormattedCharSequence codepoint(int codepoint, Style style) {
        return output -> output.accept(0, style, codepoint);
    }
 
    static FormattedCharSequence forward(String plainText, Style style) {
        return plainText.isEmpty() ? EMPTY : output -> StringDecomposer.iterate(plainText, style, output);
    }
 
    static FormattedCharSequence forward(String plainText, Style style, Int2IntFunction modifier) {
        return plainText.isEmpty() ? EMPTY : output -> StringDecomposer.iterate(plainText, style, decorateOutput(output, modifier));
    }
 
    static FormattedCharSequence backward(String plainText, Style style) {
        return plainText.isEmpty() ? EMPTY : output -> StringDecomposer.iterateBackwards(plainText, style, output);
    }
 
    static FormattedCharSequence backward(String plainText, Style style, Int2IntFunction modifier) {
        return plainText.isEmpty() ? EMPTY : output -> StringDecomposer.iterateBackwards(plainText, style, decorateOutput(output, modifier));
    }
 
    static FormattedCharSink decorateOutput(FormattedCharSink output, Int2IntFunction modifier) {
        return (p, s, ch) -> output.accept(p, s, modifier.apply(ch));
    }
 
    static FormattedCharSequence composite() {
        return EMPTY;
    }
 
    static FormattedCharSequence composite(FormattedCharSequence part) {
        return part;
    }
 
    static FormattedCharSequence composite(FormattedCharSequence first, FormattedCharSequence second) {
        return fromPair(first, second);
    }
 
    static FormattedCharSequence composite(FormattedCharSequence... parts) {
        return fromList(ImmutableList.copyOf(parts));
    }
 
    static FormattedCharSequence composite(List<FormattedCharSequence> parts) {
        int size = parts.size();
        switch (size) {
            case 0:
                return EMPTY;
            case 1:
                return parts.get(0);
            case 2:
                return fromPair(parts.get(0), parts.get(1));
            default:
                return fromList(ImmutableList.copyOf(parts));
        }
    }
 
    static FormattedCharSequence fromPair(FormattedCharSequence first, FormattedCharSequence second) {
        return output -> first.accept(output) && second.accept(output);
    }
 
    static FormattedCharSequence fromList(List<FormattedCharSequence> partCopy) {
        return output -> {
            for (FormattedCharSequence part : partCopy) {
                if (!part.accept(output)) {
                    return false;
                }
            }
 
            return true;
        };
    }
}

引用的其他类

  • Style

    • 引用位置: 参数
  • FormattedCharSink

    • 引用位置: 参数/返回值
  • StringDecomposer

    • 引用位置: 方法调用
    • 关联成员: StringDecomposer.iterate(), StringDecomposer.iterateBackwards()