feat: added search filter to entitylist
This commit is contained in:
parent
a3491632e7
commit
385797718d
1 changed files with 17 additions and 0 deletions
|
@ -8,11 +8,15 @@ import java.util.List;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
import com.mojang.brigadier.CommandDispatcher;
|
import com.mojang.brigadier.CommandDispatcher;
|
||||||
|
import com.mojang.brigadier.arguments.StringArgumentType;
|
||||||
|
|
||||||
import ftbsc.bscv.ICommons;
|
import ftbsc.bscv.ICommons;
|
||||||
import ftbsc.bscv.modules.HudModule;
|
import ftbsc.bscv.modules.HudModule;
|
||||||
import net.minecraft.command.CommandSource;
|
import net.minecraft.command.CommandSource;
|
||||||
import net.minecraft.entity.Entity;
|
import net.minecraft.entity.Entity;
|
||||||
|
import net.minecraft.util.text.Color;
|
||||||
|
import net.minecraft.util.text.Style;
|
||||||
|
import net.minecraft.util.text.TextFormatting;
|
||||||
import net.minecraftforge.client.event.RenderGameOverlayEvent;
|
import net.minecraftforge.client.event.RenderGameOverlayEvent;
|
||||||
import net.minecraftforge.client.event.RenderGameOverlayEvent.ElementType;
|
import net.minecraftforge.client.event.RenderGameOverlayEvent.ElementType;
|
||||||
import net.minecraftforge.common.ForgeConfigSpec;
|
import net.minecraftforge.common.ForgeConfigSpec;
|
||||||
|
@ -20,8 +24,16 @@ import net.minecraftforge.eventbus.api.SubscribeEvent;
|
||||||
|
|
||||||
public class EntityList extends HudModule implements ICommons {
|
public class EntityList extends HudModule implements ICommons {
|
||||||
|
|
||||||
|
public final ForgeConfigSpec.ConfigValue<String> search;
|
||||||
|
|
||||||
public EntityList(ForgeConfigSpec.Builder builder, CommandDispatcher<CommandSource> dispatcher) {
|
public EntityList(ForgeConfigSpec.Builder builder, CommandDispatcher<CommandSource> dispatcher) {
|
||||||
super("EntityList", builder, dispatcher);
|
super("EntityList", builder, dispatcher);
|
||||||
|
|
||||||
|
this.search = this.option(
|
||||||
|
"search", "highlight names containing this text", "",
|
||||||
|
StringArgumentType.string(), String.class,
|
||||||
|
builder, dispatcher
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@SubscribeEvent
|
@SubscribeEvent
|
||||||
|
@ -52,6 +64,11 @@ public class EntityList extends HudModule implements ICommons {
|
||||||
.x(this.x.get())
|
.x(this.x.get())
|
||||||
.y(this.y.get() + offset)
|
.y(this.y.get() + offset)
|
||||||
.scale(this.scale.get())
|
.scale(this.scale.get())
|
||||||
|
.style(
|
||||||
|
this.search.get().length() > 0 && u.toLowerCase().contains(this.search.get().toLowerCase())
|
||||||
|
? Style.EMPTY.withBold(true).withColor(Color.fromLegacyFormat(TextFormatting.GOLD))
|
||||||
|
: Style.EMPTY.withColor(Color.fromLegacyFormat(TextFormatting.WHITE))
|
||||||
|
)
|
||||||
.render(event.getMatrixStack(), event.getWindow());
|
.render(event.getMatrixStack(), event.getWindow());
|
||||||
offset += MC.font.lineHeight;
|
offset += MC.font.lineHeight;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue