SearchTree.java

net.minecraft.client.searchtree.SearchTree

信息

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

    TODO

字段/常量

内部类/嵌套类型

构造器

方法

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

static <T> SearchTree<T> empty() @ L13

  • 方法名:empty
  • 源码定位:L13
  • 返回类型: SearchTree
  • 修饰符:static

参数:

说明:

TODO

static <T> SearchTree<T> plainText(List<T> elements, Function<T,Stream<String>> idGetter) @ L17

  • 方法名:plainText
  • 源码定位:L17
  • 返回类型: SearchTree
  • 修饰符:static

参数:

  • elements: List
  • idGetter: Function<T,Stream>

说明:

TODO

List<T> search(String text) @ L32

  • 方法名:search
  • 源码定位:L32
  • 返回类型:List
  • 修饰符:package-private

参数:

  • text: String

说明:

TODO

代码

@FunctionalInterface
@OnlyIn(Dist.CLIENT)
public interface SearchTree<T> {
    static <T> SearchTree<T> empty() {
        return text -> List.of();
    }
 
    static <T> SearchTree<T> plainText(List<T> elements, Function<T, Stream<String>> idGetter) {
        if (elements.isEmpty()) {
            return empty();
        } else {
            SuffixArray<T> tree = new SuffixArray<>();
 
            for (T element : elements) {
                idGetter.apply(element).forEach(elementId -> tree.add(element, elementId.toLowerCase(Locale.ROOT)));
            }
 
            tree.generate();
            return tree::search;
        }
    }
 
    List<T> search(String text);
}

引用的其他类