diff options
Diffstat (limited to 'src/main/java/me')
| -rw-r--r-- | src/main/java/me/shedaniel/rei/gui/widget/ItemListOverlay.java | 74 | ||||
| -rw-r--r-- | src/main/java/me/shedaniel/rei/gui/widget/ItemSlotWidget.java | 4 |
2 files changed, 39 insertions, 39 deletions
diff --git a/src/main/java/me/shedaniel/rei/gui/widget/ItemListOverlay.java b/src/main/java/me/shedaniel/rei/gui/widget/ItemListOverlay.java index 03be6d686..ff903278a 100644 --- a/src/main/java/me/shedaniel/rei/gui/widget/ItemListOverlay.java +++ b/src/main/java/me/shedaniel/rei/gui/widget/ItemListOverlay.java @@ -97,6 +97,39 @@ public class ItemListOverlay extends Widget { return "ERROR"; } + public static boolean filterItem(ItemStack itemStack, List<SearchArgument[]> arguments) { + if (arguments.isEmpty()) + return true; + String mod = ClientHelper.getInstance().getModFromItem(itemStack.getItem()).toLowerCase(); + String tooltips = tryGetItemStackToolTip(itemStack, true).stream().skip(1).collect(Collectors.joining("")).replace(SPACE, EMPTY).toLowerCase(); + String name = tryGetItemStackName(itemStack).replace(SPACE, EMPTY).toLowerCase(); + for(SearchArgument[] arguments1 : arguments) { + boolean b = true; + for(SearchArgument argument : arguments1) { + if (argument.getArgumentType().equals(SearchArgument.ArgumentType.ALWAYS)) + return true; + if (argument.getArgumentType().equals(SearchArgument.ArgumentType.MOD)) + if (SearchArgument.getFunction(!argument.isInclude()).apply(mod.indexOf(argument.getText()))) { + b = false; + break; + } + if (argument.getArgumentType().equals(SearchArgument.ArgumentType.TOOLTIP)) + if (SearchArgument.getFunction(!argument.isInclude()).apply(tooltips.indexOf(argument.getText()))) { + b = false; + break; + } + if (argument.getArgumentType().equals(SearchArgument.ArgumentType.TEXT)) + if (SearchArgument.getFunction(!argument.isInclude()).apply(name.indexOf(argument.getText()))) { + b = false; + break; + } + } + if (b) + return true; + } + return false; + } + public int getFullTotalSlotsPerPage() { return width * height; } @@ -242,13 +275,9 @@ public class ItemListOverlay extends Widget { lastSearchArgument.add(new SearchArgument[]{SearchArgument.ALWAYS}); }); os.stream().filter(itemStack -> filterItem(itemStack, lastSearchArgument)).forEachOrdered(stacks::add); - List<ItemStack> workingItems = RoughlyEnoughItemsCore.getConfigManager().isCraftableOnlyEnabled() && !stacks.isEmpty() && !inventoryItems.isEmpty() ? Lists.newArrayList() : Lists.newArrayList(ol); - if (RoughlyEnoughItemsCore.getConfigManager().isCraftableOnlyEnabled()) { - RecipeHelper.getInstance().findCraftableByItems(inventoryItems).forEach(workingItems::add); - workingItems.addAll(inventoryItems); - } - if (!RoughlyEnoughItemsCore.getConfigManager().isCraftableOnlyEnabled()) + if (!RoughlyEnoughItemsCore.getConfigManager().isCraftableOnlyEnabled() || stacks.isEmpty() || inventoryItems.isEmpty()) return stacks; + List<ItemStack> workingItems = Lists.newArrayList(RecipeHelper.getInstance().findCraftableByItems(inventoryItems)); return stacks.stream().filter(itemStack -> workingItems.stream().anyMatch(stack -> stack.isEqualIgnoreTags(itemStack))).collect(Collectors.toList()); } @@ -256,39 +285,6 @@ public class ItemListOverlay extends Widget { return lastSearchArgument; } - public static boolean filterItem(ItemStack itemStack, List<SearchArgument[]> arguments) { - if (arguments.isEmpty()) - return true; - String mod = ClientHelper.getInstance().getModFromItem(itemStack.getItem()).toLowerCase(); - String tooltips = tryGetItemStackToolTip(itemStack, true).stream().skip(1).collect(Collectors.joining("")).replace(SPACE, EMPTY).toLowerCase(); - String name = tryGetItemStackName(itemStack).replace(SPACE, EMPTY).toLowerCase(); - for(SearchArgument[] arguments1 : arguments) { - boolean b = true; - for(SearchArgument argument : arguments1) { - if (argument.getArgumentType().equals(SearchArgument.ArgumentType.ALWAYS)) - return true; - if (argument.getArgumentType().equals(SearchArgument.ArgumentType.MOD)) - if (SearchArgument.getFunction(!argument.isInclude()).apply(mod.indexOf(argument.getText()))) { - b = false; - break; - } - if (argument.getArgumentType().equals(SearchArgument.ArgumentType.TOOLTIP)) - if (SearchArgument.getFunction(!argument.isInclude()).apply(tooltips.indexOf(argument.getText()))) { - b = false; - break; - } - if (argument.getArgumentType().equals(SearchArgument.ArgumentType.TEXT)) - if (SearchArgument.getFunction(!argument.isInclude()).apply(name.indexOf(argument.getText()))) { - b = false; - break; - } - } - if (b) - return true; - } - return false; - } - private boolean filterItem(ItemStack itemStack, SearchArgument... arguments) { if (arguments.length == 0) return true; diff --git a/src/main/java/me/shedaniel/rei/gui/widget/ItemSlotWidget.java b/src/main/java/me/shedaniel/rei/gui/widget/ItemSlotWidget.java index c5bdb84c2..60b83b611 100644 --- a/src/main/java/me/shedaniel/rei/gui/widget/ItemSlotWidget.java +++ b/src/main/java/me/shedaniel/rei/gui/widget/ItemSlotWidget.java @@ -11,6 +11,10 @@ import net.minecraft.item.ItemStack; import java.util.Collection; import java.util.List; +/** + * @deprecated Use {@link SlotWidget} + */ +@Deprecated public class ItemSlotWidget extends SlotWidget { public ItemSlotWidget(int x, int y, ItemStack itemStack, boolean drawBackground, boolean showToolTips) { super(x, y, itemStack, drawBackground, showToolTips); |
