diff options
Diffstat (limited to 'src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_DustGeneration.java')
-rw-r--r-- | src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_DustGeneration.java | 443 |
1 files changed, 0 insertions, 443 deletions
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_DustGeneration.java b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_DustGeneration.java deleted file mode 100644 index a346464eeb..0000000000 --- a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_DustGeneration.java +++ /dev/null @@ -1,443 +0,0 @@ -package gtPlusPlus.xmod.gregtech.loaders; - -import java.util.HashSet; -import java.util.Set; - -import net.minecraft.item.ItemStack; - -import gregtech.api.enums.GT_Values; -import gregtech.api.enums.ItemList; -import gregtech.api.util.GT_ModHandler; -import gregtech.api.util.GT_Utility; -import gtPlusPlus.api.interfaces.RunnableWithInfo; -import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.api.objects.data.AutoMap; -import gtPlusPlus.core.lib.CORE; -import gtPlusPlus.core.material.Material; -import gtPlusPlus.core.material.MaterialGenerator; -import gtPlusPlus.core.material.MaterialStack; -import gtPlusPlus.core.material.state.MaterialState; -import gtPlusPlus.core.recipe.common.CI; -import gtPlusPlus.core.util.math.MathUtils; -import gtPlusPlus.core.util.minecraft.ItemUtils; -import gtPlusPlus.core.util.minecraft.RecipeUtils; -import net.minecraftforge.fluids.FluidStack; - -public class RecipeGen_DustGeneration extends RecipeGen_Base { - - public final static Set<RunnableWithInfo<Material>> mRecipeGenMap = new HashSet<RunnableWithInfo<Material>>(); - static { - MaterialGenerator.mRecipeMapsToGenerate.put(mRecipeGenMap); - } - - public RecipeGen_DustGeneration(final Material M){ - this(M, false); - } - - public RecipeGen_DustGeneration(final Material M, final boolean O){ - this.toGenerate = M; - this.disableOptional = O; - mRecipeGenMap.add(this); - } - - @Override - public void run() { - generateRecipes(this.toGenerate, this.disableOptional); - } - - private void generateRecipes(final Material material, final boolean disableOptional){ - - Logger.WARNING("Generating Shaped Crafting recipes for "+material.getLocalizedName()); - - final ItemStack normalDust = material.getDust(1); - final ItemStack smallDust = material.getSmallDust(1); - final ItemStack tinyDust = material.getTinyDust(1); - - final ItemStack[] inputStacks = material.getMaterialComposites(); - final ItemStack outputStacks = material.getDust(material.smallestStackSizeWhenProcessing); - - - if (ItemUtils.checkForInvalidItems(tinyDust) && ItemUtils.checkForInvalidItems(normalDust)) { - if (RecipeUtils.addShapedRecipe( - tinyDust, tinyDust, tinyDust, - tinyDust, tinyDust, tinyDust, - tinyDust, tinyDust, tinyDust, - normalDust)){ - Logger.WARNING("9 Tiny dust to 1 Dust Recipe: "+material.getLocalizedName()+" - Success"); - } - else { - Logger.WARNING("9 Tiny dust to 1 Dust Recipe: "+material.getLocalizedName()+" - Failed"); - } - - if (RecipeUtils.addShapedRecipe( - normalDust, null, null, - null, null, null, - null, null, null, - material.getTinyDust(9))){ - Logger.WARNING("9 Tiny dust from 1 Recipe: "+material.getLocalizedName()+" - Success"); - } - else { - Logger.WARNING("9 Tiny dust from 1 Recipe: "+material.getLocalizedName()+" - Failed"); - } - } - - if (ItemUtils.checkForInvalidItems(smallDust) && ItemUtils.checkForInvalidItems(normalDust)) { - if (RecipeUtils.addShapedRecipe( - smallDust, smallDust, null, - smallDust, smallDust, null, - null, null, null, - normalDust)){ - Logger.WARNING("4 Small dust to 1 Dust Recipe: "+material.getLocalizedName()+" - Success"); - } - else { - Logger.WARNING("4 Small dust to 1 Dust Recipe: "+material.getLocalizedName()+" - Failed"); - } - if (RecipeUtils.addShapedRecipe( - null, normalDust, null, - null, null, null, - null, null, null, - material.getSmallDust(4))){ - Logger.WARNING("4 Small dust from 1 Dust Recipe: "+material.getLocalizedName()+" - Success"); - } - else { - Logger.WARNING("4 Small dust from 1 Dust Recipe: "+material.getLocalizedName()+" - Failed"); - } - } - - //Macerate blocks back to dusts. - final ItemStack materialBlock = material.getBlock(1); - final ItemStack materialFrameBox = material.getFrameBox(1); - - if (ItemUtils.checkForInvalidItems(materialBlock)) { - GT_ModHandler.addPulverisationRecipe(materialBlock, material.getDust(9)); - } - - if (ItemUtils.checkForInvalidItems(materialFrameBox)) { - GT_ModHandler.addPulverisationRecipe(materialFrameBox, material.getDust(2)); - } - - if (ItemUtils.checkForInvalidItems(smallDust) && ItemUtils.checkForInvalidItems(tinyDust)) { - generatePackagerRecipes(material); - } - - ItemStack ingot = material.getIngot(1); - if (ItemUtils.checkForInvalidItems(normalDust) && ItemUtils.checkForInvalidItems(ingot)) { - addFurnaceRecipe(material); - addMacerationRecipe(material); - } - - //Is this a composite? - if ((inputStacks != null) && !disableOptional){ - //Is this a composite? - Logger.WARNING("mixer length: "+inputStacks.length); - if ((inputStacks.length != 0) && (inputStacks.length <= 4)){ - //Log Input items - Logger.WARNING(ItemUtils.getArrayStackNames(inputStacks)); - final long[] inputStackSize = material.vSmallestRatio; - Logger.WARNING("mixer is stacksizeVar null? "+(inputStackSize != null)); - //Is smallest ratio invalid? - if (inputStackSize != null){ - //set stack sizes on an input ItemStack[] - for (short x=0;x<inputStacks.length;x++){ - if ((inputStacks[x] != null) && (inputStackSize[x] != 0)){ - inputStacks[x].stackSize = (int) inputStackSize[x]; - } - } - //Relog input values, with stack sizes - Logger.WARNING(ItemUtils.getArrayStackNames(inputStacks)); - - //Get us four ItemStacks to input into the mixer - ItemStack[] input = new ItemStack[4]; - - input[0] = (inputStacks.length >= 1) ? ((inputStacks[0] == null) ? null : inputStacks[0]) : null; - input[1] = (inputStacks.length >= 2) ? ((inputStacks[1] == null) ? null : inputStacks[1]) : null; - input[2] = (inputStacks.length >= 3) ? ((inputStacks[2] == null) ? null : inputStacks[2]) : null; - input[3] = (inputStacks.length >= 4) ? ((inputStacks[3] == null) ? null : inputStacks[3]) : null; - - - if (inputStacks.length == 1) { - input[1] = input[0]; - input[0] = CI.getNumberedCircuit(inputStacks.length+10); - } - else if (inputStacks.length == 2) { - input[2] = input[1]; - input[1] = input[0]; - input[0] = CI.getNumberedCircuit(inputStacks.length+10); - - } - else if (inputStacks.length == 3) { - input[3] = input[2]; - input[2] = input[1]; - input[1] = input[0]; - input[0] = CI.getNumberedCircuit(inputStacks.length+10); - } - - - /*for (int g = 0; g<4; g++) { - if(inputStacks.length > g) { - input[g] = inputStacks[g] != null ? inputStacks[g] : null; - } - else { - input[g] = CI.getNumberedCircuit(g+10); - break; - } - }*/ - - //Add mixer Recipe - FluidStack oxygen = GT_Values.NF; - if (material.getComposites() != null){ - for (final MaterialStack x : material.getComposites()){ - if (!material.getComposites().isEmpty()){ - if (x != null){ - if (x.getStackMaterial() != null){ - if (x.getStackMaterial().getDust(1) == null){ - if (x.getStackMaterial().getState() != MaterialState.SOLID && x.getStackMaterial().getState() != MaterialState.ORE && x.getStackMaterial().getState() != MaterialState.PLASMA){ - oxygen = x.getStackMaterial().getFluid(1000); - break; - } - } - } - } - } - } - } - - input = ItemUtils.cleanItemStackArray(input); - - //Add mixer Recipe - if (GT_Values.RA.addMixerRecipe( - input[0], input[1], - input[2], input[3], - oxygen, - null, - outputStacks, - (int) Math.max(material.getMass() * 2L * 1, 1), - material.vVoltageMultiplier)) //Was 6, but let's try 2. This makes Potin LV, for example. - { - Logger.WARNING("Dust Mixer Recipe: "+material.getLocalizedName()+" - Success"); - } - else { - Logger.WARNING("Dust Mixer Recipe: "+material.getLocalizedName()+" - Failed"); - } - - //Add Shapeless recipe for low tier alloys. - /*if (tVoltageMultiplier <= 30){ - if (RecipeUtils.addShapedGregtechRecipe(inputStacks, outputStacks)){ - Logger.WARNING("Dust Shapeless Recipe: "+material.getLocalizedName()+" - Success"); - } - else { - Logger.WARNING("Dust Shapeless Recipe: "+material.getLocalizedName()+" - Failed"); - } - }*/ - } - } - } - - - - - - - } - - public static boolean addMixerRecipe_Standalone(final Material material){ - final ItemStack[] inputStacks = material.getMaterialComposites(); - final ItemStack outputStacks = material.getDust(material.smallestStackSizeWhenProcessing); - //Is this a composite? - if ((inputStacks != null)){ - //Is this a composite? - Logger.WARNING("mixer length: "+inputStacks.length); - if ((inputStacks.length >= 1) && (inputStacks.length <= 4)){ - //Log Input items - Logger.WARNING(ItemUtils.getArrayStackNames(inputStacks)); - final long[] inputStackSize = material.vSmallestRatio; - Logger.WARNING("mixer is stacksizeVar not null? "+(inputStackSize != null)); - //Is smallest ratio invalid? - if (inputStackSize != null){ - //set stack sizes on an input ItemStack[] - for (short x=0;x<inputStacks.length;x++){ - if ((inputStacks[x] != null) && (inputStackSize[x] != 0)){ - inputStacks[x].stackSize = (int) inputStackSize[x]; - } - } - //Relog input values, with stack sizes - Logger.WARNING(ItemUtils.getArrayStackNames(inputStacks)); - - //Get us four ItemStacks to input into the mixer - ItemStack input1, input2, input3, input4; - input1 = inputStacks[0]; - input2 = (inputStacks.length >= 2) ? (input2 = (inputStacks[1] == null) ? null : inputStacks[1]) : null; - input3 = (inputStacks.length >= 3) ? (input3 = (inputStacks[2] == null) ? null : inputStacks[2]) : null; - input4 = (inputStacks.length >= 4) ? (input4 = (inputStacks[3] == null) ? null : inputStacks[3]) : null; - - if (inputStacks.length == 1) { - input2 = input1; - input1 = CI.getNumberedCircuit(20); - } - else if (inputStacks.length == 2) { - input3 = input2; - input2 = input1; - input1 = CI.getNumberedCircuit(20); - - } - else if (inputStacks.length == 3) { - input4 = input3; - input3 = input2; - input2 = input1; - input1 = CI.getNumberedCircuit(20); - } - - //Add mixer Recipe - FluidStack oxygen = GT_Values.NF; - if (material.getComposites() != null){ - int compSlot = 0; - for (final MaterialStack x : material.getComposites()){ - if (!material.getComposites().isEmpty()){ - if (x != null){ - if (x.getStackMaterial() != null){ - if (x.getStackMaterial().getDust(1) == null){ - MaterialState f = x.getStackMaterial().getState(); - if (f == MaterialState.GAS || f == MaterialState.LIQUID || f == MaterialState.PURE_LIQUID){ - oxygen = x.getStackMaterial().getFluid((int) (material.vSmallestRatio[compSlot] * 1000)); - } - } - } - } - } - compSlot++; - } - - } - - //Add mixer Recipe - try { - if (GT_Values.RA.addMixerRecipe( - input1, input2, - input3, input4, - oxygen, - null, - outputStacks, - (int) Math.max(material.getMass() * 2L * 1, 1), - material.vVoltageMultiplier)) //Was 6, but let's try 2. This makes Potin LV, for example. - { - Logger.WARNING("Dust Mixer Recipe: "+material.getLocalizedName()+" - Success"); - return true; - } - else { - Logger.WARNING("Dust Mixer Recipe: "+material.getLocalizedName()+" - Failed"); - return false; - } - } - catch (Throwable t) { - t.printStackTrace(); - } - } - else { - Logger.WARNING("inputStackSize == NUll - "+material.getLocalizedName()); - } - } - else { - Logger.WARNING("InputStacks is out range 1-4 - "+material.getLocalizedName()); - } - } - else { - Logger.WARNING("InputStacks == NUll - "+material.getLocalizedName()); - } - return false; - } - - public static boolean generatePackagerRecipes(Material aMatInfo) { - AutoMap<Boolean> aResults = new AutoMap<Boolean>(); - //Small Dust - aResults.put(GT_Values.RA.addBoxingRecipe(GT_Utility.copyAmount(4L, new Object[]{aMatInfo.getSmallDust(4)}), ItemList.Schematic_Dust.get(0L, new Object[0]), aMatInfo.getDust(1), 100, 4)); - //Tiny Dust - aResults.put(GT_Values.RA.addBoxingRecipe(GT_Utility.copyAmount(9L, new Object[]{aMatInfo.getTinyDust(9)}), ItemList.Schematic_Dust.get(0L, new Object[0]), aMatInfo.getDust(1), 100, 4)); - - for (boolean b : aResults) { - if (!b) { - return false; - } - } - return true; - } - - private void addMacerationRecipe(Material aMatInfo){ - try { - Logger.MATERIALS("Adding Maceration recipe for "+aMatInfo.getLocalizedName()+" Ingot -> Dusts"); - final int chance = (aMatInfo.vTier*10)/MathUtils.randInt(10, 20); - GT_ModHandler.addPulverisationRecipe(aMatInfo.getIngot(1), aMatInfo.getDust(1), null, chance); - } - catch (Throwable t) { - t.printStackTrace(); - } - } - - private void addFurnaceRecipe(Material aMatInfo){ - - ItemStack aDust = aMatInfo.getDust(1); - ItemStack aOutput; - try { - if (aMatInfo.requiresBlastFurnace()) { - aOutput = aMatInfo.getHotIngot(1); - if (ItemUtils.checkForInvalidItems(aOutput)) { - if (addBlastFurnaceRecipe(aMatInfo, aDust, null, aOutput, null, aMatInfo.getMeltingPointK())){ - Logger.MATERIALS("Successfully added a blast furnace recipe for "+aMatInfo.getLocalizedName()); - } - else { - Logger.MATERIALS("Failed to add a blast furnace recipe for "+aMatInfo.getLocalizedName()); - } - } - else { - Logger.MATERIALS("Failed to add a blast furnace recipe for "+aMatInfo.getLocalizedName()); - } - } - else { - aOutput = aMatInfo.getIngot(1); - if (ItemUtils.checkForInvalidItems(aOutput)) { - if (CORE.RA.addSmeltingAndAlloySmeltingRecipe(aDust, aOutput)){ - Logger.MATERIALS("Successfully added a furnace recipe for "+aMatInfo.getLocalizedName()); - } - else { - Logger.MATERIALS("Failed to add a furnace recipe for "+aMatInfo.getLocalizedName()); - } - } - } - } - catch (Throwable t) { - t.printStackTrace(); - } - - } - - private boolean addBlastFurnaceRecipe(Material aMatInfo, final ItemStack input1, final ItemStack input2, final ItemStack output1, final ItemStack output2, final int tempRequired){ - - try { - int timeTaken = 125*aMatInfo.vTier*10; - - if (aMatInfo.vTier <= 4){ - timeTaken = 25*aMatInfo.vTier*10; - } - int aSlot = aMatInfo.vTier; - if (aSlot < 2) { - aSlot = 2; - } - long aVoltage = aMatInfo.vVoltageMultiplier; - - return GT_Values.RA.addBlastRecipe( - input1, - input2, - GT_Values.NF, GT_Values.NF, - output1, - output2, - timeTaken, - (int) aVoltage, - tempRequired); - } - catch (Throwable t) { - t.printStackTrace(); - return false; - } - } - -} - |