From a70854c832fb9390ec6e7ab5a1aeb4399e6395c4 Mon Sep 17 00:00:00 2001 From: Kogepan229 <73163994+Kogepan229@users.noreply.github.com> Date: Sun, 25 May 2025 03:09:11 +0900 Subject: [PATCH] Restore NEI highlighting when searching for fluid in cells (#299) Co-authored-by: boubou19 --- ...EIItemFilter.java => NEISearchFilter.java} | 23 ++++++++++++++----- .../glodblock/github/nei/NEI_FC_Config.java | 2 +- 2 files changed, 18 insertions(+), 7 deletions(-) rename src/main/java/com/glodblock/github/nei/{NEIItemFilter.java => NEISearchFilter.java} (75%) diff --git a/src/main/java/com/glodblock/github/nei/NEIItemFilter.java b/src/main/java/com/glodblock/github/nei/NEISearchFilter.java similarity index 75% rename from src/main/java/com/glodblock/github/nei/NEIItemFilter.java rename to src/main/java/com/glodblock/github/nei/NEISearchFilter.java index 5bb2070e..c8fdfc98 100644 --- a/src/main/java/com/glodblock/github/nei/NEIItemFilter.java +++ b/src/main/java/com/glodblock/github/nei/NEISearchFilter.java @@ -3,6 +3,7 @@ package com.glodblock.github.nei; import java.util.regex.Pattern; import net.minecraft.item.ItemStack; +import net.minecraft.util.EnumChatFormatting; import com.glodblock.github.common.storage.IFluidCellInventory; import com.glodblock.github.common.storage.IFluidCellInventoryHandler; @@ -13,9 +14,10 @@ import appeng.api.storage.IMEInventoryHandler; import appeng.api.storage.StorageChannel; import appeng.api.storage.data.IAEFluidStack; import codechicken.nei.SearchField; +import codechicken.nei.SearchTokenParser; import codechicken.nei.api.ItemFilter; -public class NEIItemFilter implements SearchField.ISearchProvider { +public class NEISearchFilter implements SearchTokenParser.ISearchParserProvider { @Override public ItemFilter getFilter(String searchText) { @@ -24,8 +26,18 @@ public class NEIItemFilter implements SearchField.ISearchProvider { } @Override - public boolean isPrimary() { - return false; + public char getPrefix() { + return 0; + } + + @Override + public EnumChatFormatting getHighlightedColor() { + return null; + } + + @Override + public SearchTokenParser.SearchMode getSearchMode() { + return SearchTokenParser.SearchMode.ALWAYS; } public static class Filter implements ItemFilter { @@ -40,13 +52,13 @@ public class NEIItemFilter implements SearchField.ISearchProvider { public boolean matches(ItemStack itemStack) { if (itemStack.getItem() instanceof IStorageFluidCell) { final IMEInventoryHandler inventory = AEApi.instance().registries().cell() - .getCellInventory(itemStack, null, StorageChannel.FLUIDS); + .getCellInventory(itemStack, null, StorageChannel.FLUIDS); if (inventory instanceof final IFluidCellInventoryHandler handler) { final IFluidCellInventory cellInventory = handler.getCellInv(); if (cellInventory != null) { for (IAEFluidStack fluid : cellInventory.getContents()) { boolean result = pattern.matcher(fluid.getFluidStack().getLocalizedName().toLowerCase()) - .find(); + .find(); if (result) return true; } @@ -57,5 +69,4 @@ public class NEIItemFilter implements SearchField.ISearchProvider { } } - } diff --git a/src/main/java/com/glodblock/github/nei/NEI_FC_Config.java b/src/main/java/com/glodblock/github/nei/NEI_FC_Config.java index bae93cf9..1a586139 100644 --- a/src/main/java/com/glodblock/github/nei/NEI_FC_Config.java +++ b/src/main/java/com/glodblock/github/nei/NEI_FC_Config.java @@ -18,7 +18,7 @@ public class NEI_FC_Config implements IConfigureNEI { @Override public void loadConfig() { API.registerNEIGuiHandler(new AE2FC_NEIGuiHandler()); - API.addSearchProvider(new NEIItemFilter()); + API.addSearchProvider(new NEISearchFilter()); API.registerStackStringifyHandler(new FCStackStringifyHandler()); API.registerUsageHandler(new NEICellViewHandler());