Class RecipeMatcher

java.lang.Object
net.neoforged.neoforge.common.util.RecipeMatcher

public class RecipeMatcher extends Object
  • Constructor Details

    • RecipeMatcher

      public RecipeMatcher()
  • Method Details

    • findMatches

      public static <T> int[] findMatches(List<T> inputs, List<? extends Predicate<T>> tests)
      Attempts to match inputs to the specified tests. In the best way that all inputs are used by one test. Will return null in any of these cases: input/test lengths don't match. This is only for matching paired outputs. any input doesn't match a test any test doesn't match a input If we are unable to determine a proper pair
      Returns:
      An array mapping inputs to tests. ret[x] = y means input[x] = test[y]
    • claim

      private static boolean claim(int[] ret, BitSet data, int claimed, int elements)
    • backtrack

      private static boolean backtrack(BitSet data, int[] ret, int start, int elements)