瀏覽代碼

Added workstation usage info when looking for usage of item/block

vhd 5 年之前
父節點
當前提交
40be176bd9
共有 1 個文件被更改,包括 14 次插入10 次删除
  1. 14 10
      src/main/java/me/shedaniel/rei/impl/RecipeHelperImpl.java

+ 14 - 10
src/main/java/me/shedaniel/rei/impl/RecipeHelperImpl.java

@@ -170,19 +170,23 @@ public class RecipeHelperImpl implements RecipeHelper {
         Map<Identifier, List<RecipeDisplay>> categoriesMap = new HashMap<>();
         categories.forEach(f -> categoriesMap.put(f.getIdentifier(), Lists.newArrayList()));
         for (Map.Entry<Identifier, List<RecipeDisplay>> entry : recipeCategoryListMap.entrySet()) {
-            RecipeCategory<?> category = getCategory(entry.getKey());
+            boolean isWorkstationCategory = getWorkingStations(entry.getKey()).stream().anyMatch(ws -> ws.contains(stack));
             for (RecipeDisplay recipeDisplay : entry.getValue()) {
-                boolean found = false;
-                for (List<EntryStack> input : recipeDisplay.getInputEntries()) {
-                    for (EntryStack otherEntry : input) {
-                        if (otherEntry.equals(stack)) {
-                            categoriesMap.get(recipeDisplay.getRecipeCategory()).add(recipeDisplay);
-                            found = true;
-                            break;
+                if (isWorkstationCategory) {
+                    categoriesMap.get(recipeDisplay.getRecipeCategory()).add(recipeDisplay);
+                } else {
+                    boolean found = false;
+                    for (List<EntryStack> input : recipeDisplay.getInputEntries()) {
+                        for (EntryStack otherEntry : input) {
+                            if (otherEntry.equals(stack)) {
+                                categoriesMap.get(recipeDisplay.getRecipeCategory()).add(recipeDisplay);
+                                found = true;
+                                break;
+                            }
                         }
+                        if (found)
+                            break;
                     }
-                    if (found)
-                        break;
                 }
             }
         }