package net.minecraft.client.searchtree; import java.util.List; import java.util.Locale; import java.util.function.Function; import java.util.stream.Stream; import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.api.distmarker.OnlyIn; @FunctionalInterface @OnlyIn(Dist.CLIENT) public interface SearchTree { static SearchTree empty() { return p_344644_ -> List.of(); } static SearchTree plainText(List p_344984_, Function> p_343350_) { if (p_344984_.isEmpty()) { return empty(); } else { SuffixArray suffixarray = new SuffixArray<>(); for (T t : p_344984_) { p_343350_.apply(t).forEach(p_342612_ -> suffixarray.add(t, p_342612_.toLowerCase(Locale.ROOT))); } suffixarray.generate(); return suffixarray::search; } } List search(String p_119955_); }