@Override
public void setRecipe(IRecipeLayout recipeLayout, CarpenterRecipeWrapper recipeWrapper, IIngredients ingredients) {
IGuiItemStackGroup guiItemStacks = recipeLayout.getItemStacks();
IGuiFluidStackGroup guiFluidStacks = recipeLayout.getFluidStacks();
guiItemStacks.init(boxSlot, true, 73, 3);
guiItemStacks.init(craftOutputSlot, false, 70, 34);
for (int y = 0; y < 3; ++y) {
for (int x = 0; x < 3; ++x) {
int index = craftInputSlot + x + y * 3;
guiItemStacks.init(index, true, x * 18, 3 + y * 18);
}
}
guiFluidStacks.init(inputTank, true, 141, 1, 16, 58, 10000, false, tankOverlay);
ICarpenterRecipe recipe = recipeWrapper.getRecipe();
ItemStack box = recipe.getBox();
if (!box.isEmpty()) {
guiItemStacks.set(boxSlot, box);
}
List<List<ItemStack>> outputs = ingredients.getOutputs(ItemStack.class);
guiItemStacks.set(craftOutputSlot, outputs.get(0));
IDescriptiveRecipe craftingGridRecipe = recipe.getCraftingGridRecipe();
List<List<ItemStack>> craftingInputs = recipeWrapper.getInputStacks();
craftingGridHelper.setInputs(guiItemStacks, craftingInputs, craftingGridRecipe.getWidth(), craftingGridRecipe.getHeight());
List<List<FluidStack>> fluidInputs = ingredients.getInputs(FluidStack.class);
if (!fluidInputs.isEmpty()) {
guiFluidStacks.set(inputTank, fluidInputs.get(0));
}
}