public void loadCraftingRecipes(String outputId, Object... results) { if (outputId.equals("chisel2.chisel")) { for (String name : Carving.chisel.getSortedGroupNames()) { ICarvingGroup g = Carving.chisel.getGroup(name); if (!g.getVariations().isEmpty()) { addCached(getVariationStacks(g)); } } } else { super.loadCraftingRecipes(outputId, results); } }
private static List<ItemStack> getVariationStacks(ICarvingGroup g) { List<ItemStack> stacks = new ArrayList<ItemStack>(); for (ICarvingVariation v : g.getVariations()) { stacks.add(CarvingUtils.getStack(v)); } String oreName = g.getOreName(); if (oreName != null) { check: for (ItemStack ore : OreDictionary.getOres(oreName)) { for (ItemStack stack : stacks) { if (NEIServerUtils.areStacksSameTypeCrafting(stack, ore)) { continue check; } } stacks.add(ore.copy()); } } return stacks; }