package gtPlusPlus.xmod.gregtech.loaders; import gregtech.api.util.GT_ModHandler; import gtPlusPlus.core.lib.LoadedMods; import gtPlusPlus.core.material.Material; import gtPlusPlus.core.util.Utils; import gtPlusPlus.core.util.recipe.RecipeUtils; import net.minecraft.item.ItemStack; public class RecipeGen_ShapedCrafting implements Runnable{ final Material toGenerate; public RecipeGen_ShapedCrafting(final Material M){ this.toGenerate = M; } @Override public void run() { generateRecipes(this.toGenerate); } public static void generateRecipes(final Material material){ Utils.LOG_WARNING("Generating Shaped Crafting recipes for "+material.getLocalizedName()); //TODO //Plates //Single Plate Shaped/Shapeless GT_ModHandler.addCraftingRecipe( material.getPlate(1), gregtech.api.util.GT_ModHandler.RecipeBits.DO_NOT_CHECK_FOR_COLLISIONS | gregtech.api.util.GT_ModHandler.RecipeBits.BUFFERED, new Object[]{"h", "B", "I", Character.valueOf('I'), material.getIngot(1), Character.valueOf('B'), material.getIngot(1)}); GT_ModHandler.addShapelessCraftingRecipe( material.getPlate(1), new Object[]{gregtech.api.enums.ToolDictNames.craftingToolForgeHammer, material.getIngot(1), material.getIngot(1)}); //Double Plate Shaped/Shapeless GT_ModHandler.addCraftingRecipe( material.getPlateDouble(1), gregtech.api.util.GT_ModHandler.RecipeBits.DO_NOT_CHECK_FOR_COLLISIONS | gregtech.api.util.GT_ModHandler.RecipeBits.BUFFERED, new Object[]{"I", "B", "h", Character.valueOf('I'), material.getPlate(1), Character.valueOf('B'), material.getPlate(1)}); GT_ModHandler.addShapelessCraftingRecipe( material.getPlateDouble(1), new Object[]{gregtech.api.enums.ToolDictNames.craftingToolForgeHammer, material.getPlate(1), material.getPlate(1)}); //Ring Recipe if (!material.isRadioactive){ if (LoadedMods.DreamCraft){ if (RecipeUtils.recipeBuilder( "craftingToolHardHammer", null, null, "craftingToolFile", material.getRod(1), null, null, null, null, material.getRing(1))){ Utils.LOG_WARNING("GT:NH Ring Recipe: "+material.getLocalizedName()+" - Success"); } else { Utils.LOG_WARNING("GT:NH Ring Recipe: "+material.getLocalizedName()+" - Failed"); } } else { if (RecipeUtils.recipeBuilder( "craftingToolHardHammer", null, null, null, material.getRod(1), null, null, null, null, material.getRing(1))){ Utils.LOG_WARNING("Ring Recipe: "+material.getLocalizedName()+" - Success"); } else { Utils.LOG_WARNING("Ring Recipe: "+material.getLocalizedName()+" - Failed"); } } } //Framebox Recipe if (!material.isRadioactive){ final ItemStack stackStick = material.getRod(1); if (RecipeUtils.recipeBuilder( stackStick, stackStick, stackStick, stackStick, "craftingToolWrench", stackStick, stackStick, stackStick, stackStick, material.getFrameBox(2))){ Utils.LOG_WARNING("Framebox Recipe: "+material.getLocalizedName()+" - Success"); } else { Utils.LOG_WARNING("Framebox Recipe: "+material.getLocalizedName()+" - Failed"); } } /*final int tVoltageMultiplier = material.getMeltingPointK() >= 1600 ? 60 : 15; //Add a shapeless recipe for each dust this way - Compat mode. ItemStack[] inputStacks = material.getMaterialComposites(); ItemStack outputStacks = material.getDust(material.smallestStackSizeWhenProcessing); if (inputStacks.length > 0 && tVoltageMultiplier == 15){ Utils.LOG_WARNING(ItemUtils.getArrayStackNames(inputStacks)); long[] inputStackSize = material.vSmallestRatio; if (inputStackSize != null){ for (short x=0;x