1 package com.irtimaled.bbor.client.gui;
3 import net.minecraft.client.font.TextRenderer;
4 import net.minecraft.client.gui.widget.TextFieldWidget;
5 import net.minecraft.client.util.math.MatrixStack;
6 import net.minecraft.text.LiteralText;
8 public class SearchField extends TextFieldWidget implements IControl {
9 private final ControlList controlList;
11 SearchField(TextRenderer fontRenderer, int left, int top, int width, int height, ControlList controlList) {
12 super(fontRenderer, left, top, width, height, new LiteralText(""));
14 this.controlList = controlList;
15 this.setChangedListener(text -> this.controlList.filter(removeLeadingSpaces(text.toLowerCase())));
16 this.setRenderTextProvider((text, id) -> new LiteralText(removeLeadingSpaces(text)).asOrderedText());
17 this.setFocused(true);
20 private String removeLeadingSpaces(String text) {
21 return text.replaceFirst("^\\s++", "");
25 public void render(MatrixStack matrixStack, int mouseX, int mouseY) {
26 this.render(matrixStack, mouseX, mouseY, 0f);
30 public boolean isVisible() {
31 return super.isVisible();