From d128b0c22806bf5d425372e35e8fb842a9971bb4 Mon Sep 17 00:00:00 2001 From: Serenibyss <10861407+serenibyss@users.noreply.github.com> Date: Fri, 12 Jan 2024 23:57:54 -0600 Subject: [PATCH] Fix ME Interface Terminal input search not checking beyond first input (#364) --- .../gui/implementations/GuiInterfaceTerminal.java | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/src/main/java/appeng/client/gui/implementations/GuiInterfaceTerminal.java b/src/main/java/appeng/client/gui/implementations/GuiInterfaceTerminal.java index 91f503ae4..4e8f75794 100644 --- a/src/main/java/appeng/client/gui/implementations/GuiInterfaceTerminal.java +++ b/src/main/java/appeng/client/gui/implementations/GuiInterfaceTerminal.java @@ -50,6 +50,7 @@ import net.minecraft.nbt.NBTUtil; import net.minecraft.util.math.BlockPos; import net.minecraft.util.text.TextComponentString; import net.minecraftforge.common.DimensionManager; +import net.minecraftforge.common.util.Constants; import net.minecraftforge.fml.common.Loader; import org.lwjgl.input.Mouse; @@ -567,15 +568,15 @@ public class GuiInterfaceTerminal extends AEBaseGui { return searchTerm.matches(GuiText.InvalidPattern.getLocal()); } - NBTTagList tag = new NBTTagList(); - + final NBTTagList tag; if (pass == 0) { - tag = encodedValue.getTagList("in", 10); + tag = encodedValue.getTagList("in", Constants.NBT.TAG_COMPOUND); } else { - tag = encodedValue.getTagList("out", 10); + tag = encodedValue.getTagList("out", Constants.NBT.TAG_COMPOUND); } boolean foundMatchingItemStack = false; + final String[] splitTerm = searchTerm.split(" "); for (int i = 0; i < tag.tagCount(); i++) { final ItemStack parsedItemStack = new ItemStack(tag.getCompoundTagAt(i)); @@ -584,7 +585,7 @@ public class GuiInterfaceTerminal extends AEBaseGui { .getItemDisplayName(AEApi.instance().storage().getStorageChannel(IItemStorageChannel.class).createStack(parsedItemStack)) .toLowerCase(); - for (String term : searchTerm.split(" ")) { + for (String term : splitTerm) { if (term.length() > 1 && (term.startsWith("-") || term.startsWith("!"))) { term = term.substring(1); if (displayName.contains(term)) { @@ -592,8 +593,6 @@ public class GuiInterfaceTerminal extends AEBaseGui { } } else if (displayName.contains(term)) { foundMatchingItemStack = true; - } else { - return false; } } }