@Override public void getIngredients(IIngredients ingredients) { ICentrifugeRecipe recipe = getRecipe(); ingredients.setInputs(ItemStack.class, Collections.singletonList(recipe.getInput())); Set<ItemStack> outputs = recipe.getAllProducts().keySet(); ingredients.setOutputs(ItemStack.class, new ArrayList<>(outputs)); } }
public static void getCentrifugeOutputs(ItemStack inputStack, NonNullList<ItemStack> outputItems) { for (ICentrifugeRecipe recipe : RecipeManagers.centrifugeManager.recipes()) { if (inputStack.isItemEqual(recipe.getInput())) { outputItems.addAll(recipe.getAllProducts().keySet()); } } }
@Override public void setRecipe(IRecipeLayout recipeLayout, CentrifugeRecipeWrapper recipeWrapper, IIngredients ingredients) { IGuiItemStackGroup guiItemStacks = recipeLayout.getItemStacks(); guiItemStacks.init(inputSlot, true, 4, 18); List<List<ItemStack>> inputs = ingredients.getInputs(ItemStack.class); guiItemStacks.set(inputSlot, inputs.get(0)); ForestryTooltipCallback tooltip = new ForestryTooltipCallback(); Map<ItemStack, Float> products = recipeWrapper.getRecipe().getAllProducts(); setResults(tooltip, products, guiItemStacks); guiItemStacks.addTooltipCallback(tooltip); }