From 311ab89f93558233a40079f7cb16605b141b5346 Mon Sep 17 00:00:00 2001 From: Johann Bernhardt Date: Sun, 12 Dec 2021 19:38:06 +0100 Subject: Move sources and resources --- .../xmod/gregtech/loaders/RecipeGen_Ore.java | 573 --------------------- 1 file changed, 573 deletions(-) delete mode 100644 src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Ore.java (limited to 'src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Ore.java') diff --git a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Ore.java b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Ore.java deleted file mode 100644 index b7043b5983..0000000000 --- a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Ore.java +++ /dev/null @@ -1,573 +0,0 @@ -package gtPlusPlus.xmod.gregtech.loaders; - -import net.minecraft.item.ItemStack; - -import java.util.ArrayList; -import java.util.HashSet; -import java.util.Set; - -import gregtech.api.GregTech_API; -import gregtech.api.enums.GT_Values; -import gregtech.api.enums.Materials; -import gregtech.api.util.GT_ModHandler; -import gregtech.api.util.GT_Recipe; -import gtPlusPlus.api.interfaces.RunnableWithInfo; -import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.api.objects.data.AutoMap; -import gtPlusPlus.api.objects.data.Pair; -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.minecraft.ItemUtils; -import gtPlusPlus.core.util.minecraft.MaterialUtils; -import gtPlusPlus.core.util.minecraft.RecipeUtils; -import net.minecraftforge.fluids.FluidStack; - -public class RecipeGen_Ore extends RecipeGen_Base { - - public final static Set> mRecipeGenMap = new HashSet>(); - - static { - MaterialGenerator.mRecipeMapsToGenerate.put(mRecipeGenMap); - } - - public RecipeGen_Ore(final Material M){ - this.toGenerate = M; - mRecipeGenMap.add(this); - } - - @Override - public void run() { - generateRecipes(this.toGenerate); - } - - private static Material mStone; - - public static void generateRecipes(final Material material){ - - if (mStone == null) { - mStone = MaterialUtils.generateMaterialFromGtENUM(Materials.Stone); - } - - //if (material.getMaterialComposites().length > 1){ - Logger.MATERIALS("[Recipe Generator Debug] ["+material.getLocalizedName()+"]"); - int tVoltageMultiplier = MaterialUtils.getVoltageForTier(material.vTier); - - final ItemStack dustStone = ItemUtils.getItemStackOfAmountFromOreDict("dustStone", 1); - Material bonusA = null; //Ni - Material bonusB = null; //Tin - - if (material.getComposites().size() >= 1 && material.getComposites().get(0) != null){ - bonusA = material.getComposites().get(0).getStackMaterial(); - } - else { - bonusA = material; - } - - boolean allFailed = false; - - - //Setup Bonuses - ArrayList aMatComp = new ArrayList(); - for (Material j : MaterialUtils.getCompoundMaterialsRecursively(material)) { - aMatComp.add(j); - } - - if (aMatComp.size() < 3) { - while (aMatComp.size() < 3) { - aMatComp.add(material); - } - } - - AutoMap amJ = new AutoMap(); - int aIndexCounter = 0; - for (Material g : aMatComp) { - if (g.hasSolidForm()) { - if (getDust(g) != null && getTinyDust(g) != null) { - amJ.put(g); - } - } - } - - if (amJ.size() < 2) { - if (material.getComposites().size() >= 2 && material.getComposites().get(1) != null){ - bonusB = material.getComposites().get(1).getStackMaterial(); - //If Secondary Output has no solid output, try the third (If it exists) - if (!bonusB.hasSolidForm() && material.getComposites().size() >= 3 && material.getComposites().get(2) != null) { - bonusB = material.getComposites().get(2).getStackMaterial(); - //If Third Output has no solid output, try the Fourth (If it exists) - if (!bonusB.hasSolidForm() && material.getComposites().size() >= 4 && material.getComposites().get(3) != null) { - bonusB = material.getComposites().get(3).getStackMaterial(); - //If Fourth Output has no solid output, try the Fifth (If it exists) - if (!bonusB.hasSolidForm() && material.getComposites().size() >= 5 && material.getComposites().get(4) != null) { - bonusB = material.getComposites().get(4).getStackMaterial(); - //If Fifth Output has no solid output, default out to Stone dust. - if (!bonusB.hasSolidForm()) { - allFailed = true; - bonusB = mStone; - } - } - } - } - } - else { - allFailed = true; - } - } - else { - bonusA = amJ.get(0); - bonusB = amJ.get(1); - } - - //Default out if it's made of fluids or some shit. - if (bonusA == null) { - bonusA = tVoltageMultiplier > 100 ? material : mStone; - } - //Default out if it's made of fluids or some shit. - if (allFailed || bonusB == null) { - bonusB = tVoltageMultiplier > 100 ? material : mStone; - } - - AutoMap> componentMap = new AutoMap>(); - for (MaterialStack r : material.getComposites()){ - if (r != null){ - componentMap.put(new Pair(r.getPartsPerOneHundred(), r.getStackMaterial())); - } - } - - //Need two valid outputs - if (bonusA == null || bonusB == null || !bonusA.hasSolidForm() || !bonusB.hasSolidForm()) { - if (bonusA == null) { - bonusA = mStone; - } - if (bonusB == null) { - bonusB = mStone; - } - if (!bonusA.hasSolidForm()) { - bonusA = mStone; - } - if (!bonusB.hasSolidForm()) { - bonusB = mStone; - } - } - - ItemStack tinyDustA = getTinyDust(bonusA); - ItemStack tinyDustB = getTinyDust(bonusB); - ItemStack matDust = getDust(material); - ItemStack matDustA = getDust(bonusA); - ItemStack matDustB = getDust(bonusB); - - /** - * Package - */ - //Allow ore dusts to be packaged - if (ItemUtils.checkForInvalidItems(material.getSmallDust(1)) && ItemUtils.checkForInvalidItems(material.getTinyDust(1))) { - RecipeGen_DustGeneration.generatePackagerRecipes(material); - } - - - /** - * Macerate - */ - //Macerate ore to Crushed - if (GT_Values.RA.addPulveriserRecipe(material.getOre(1), new ItemStack[]{material.getCrushed(2)}, new int[]{10000}, 20*20, tVoltageMultiplier/2)){ - Logger.MATERIALS("[Macerator] Added Recipe: 'Macerate ore to Crushed ore'"); - } - //Macerate Crushed to Impure Dust - if (GT_Values.RA.addPulveriserRecipe(material.getCrushed(1), new ItemStack[]{material.getDustImpure(1), matDustA}, new int[]{10000, 1000}, 20*20, tVoltageMultiplier/2)){ - Logger.MATERIALS("[Macerator] Added Recipe: 'Macerate Crushed ore to Impure Dust'"); - } - //Macerate Washed to Purified Dust - if (GT_Values.RA.addPulveriserRecipe(material.getCrushedPurified(1), new ItemStack[]{material.getDustPurified(1), matDustA}, new int[]{10000, 1000}, 20*20, tVoltageMultiplier/2)){ - Logger.MATERIALS("[Macerator] Added Recipe: 'Macerate Washed ore to Purified Dust'"); - } - //Macerate Centrifuged to Pure Dust - if (GT_Values.RA.addPulveriserRecipe(material.getCrushedCentrifuged(1), new ItemStack[]{matDust, matDustA}, new int[]{10000, 1000}, 20*20, tVoltageMultiplier/2)){ - Logger.MATERIALS("[Macerator] Added Recipe: 'Macerate Centrifuged ore to Pure Dust'"); - } - - /** - * Wash - */ - //Wash into Purified Crushed - /*if (GT_Values.RA.addOreWasherRecipe(material.getCrushed(1), material.getCrushedPurified(1), bonusA.getTinyDust(1), dustStone, FluidUtils.getWater(1000), 25*20, 16)){ - Logger.MATERIALS("[OreWasher] Added Recipe: 'Wash Crushed ore into Purified Crushed ore'"); - }*/ - //.08 compat method - if (GT_ModHandler.addOreWasherRecipe(material.getCrushed(1), 1000, material.getCrushedPurified(1), tinyDustA, dustStone)){ - Logger.MATERIALS("[OreWasher] Added Recipe: 'Wash Crushed ore into Purified Crushed ore'"); - } - - - - - - /** - * Thermal Centrifuge - */ - /*//Crushed ore to Centrifuged Ore - if (GT_Values.RA.addThermalCentrifugeRecipe(material.getCrushed(1), material.getCrushedCentrifuged(1), tinyDustB, dustStone, 25*20, 24)){ - Logger.MATERIALS("[ThermalCentrifuge] Added Recipe: 'Crushed ore to Centrifuged Ore'"); - } - //Washed ore to Centrifuged Ore - if (GT_Values.RA.addThermalCentrifugeRecipe(material.getCrushedPurified(1), material.getCrushedCentrifuged(1), bonusA.getTinyDust(1), dustStone, 25*20, 24)){ - Logger.MATERIALS("[ThermalCentrifuge] Added Recipe: 'Washed ore to Centrifuged Ore'"); - }*/ - - Logger.MATERIALS("material.getCrushed(1): "+(material.getCrushed(1) != null)); - Logger.MATERIALS("material.getCrushedPurified(1): "+(material.getCrushedPurified(1) != null)); - - Logger.MATERIALS("material.getTinyDust(1): "+(ItemUtils.getItemName(bonusA.getCrushed(1)))); - Logger.MATERIALS("material.getTinyDust(1): "+(ItemUtils.getItemName(bonusB.getCrushed(1)))); - - try { - //.08 compat - if (GT_ModHandler.addThermalCentrifugeRecipe(material.getCrushed(1), 200, material.getCrushedCentrifuged(1), tinyDustB, dustStone)){ - Logger.MATERIALS("[ThermalCentrifuge] Added Recipe: 'Crushed ore to Centrifuged Ore' | Input: "+material.getCrushed(1).getDisplayName()+" | Outputs: "+material.getCrushedCentrifuged(1).getDisplayName()+", "+tinyDustB.getDisplayName()+", "+dustStone.getDisplayName()+"."); - } - } - catch (Throwable t) {} - try { - if (GT_ModHandler.addThermalCentrifugeRecipe(material.getCrushedPurified(1), 200, material.getCrushedCentrifuged(1), tinyDustA, dustStone)){ - Logger.MATERIALS("[ThermalCentrifuge] Added Recipe: 'Washed ore to Centrifuged Ore' | Input: "+material.getCrushedPurified(1).getDisplayName()+" | Outputs: "+material.getCrushedCentrifuged(1).getDisplayName()+", "+tinyDustA.getDisplayName()+", "+dustStone.getDisplayName()+"."); - } - } - catch (Throwable t) {} - - - /** - * Forge Hammer - */ - if (GT_Values.RA.addForgeHammerRecipe(material.getCrushedCentrifuged(1), matDust, 10, tVoltageMultiplier/4)){ - Logger.MATERIALS("[ForgeHammer] Added Recipe: 'Crushed Centrifuged to Pure Dust'"); - } - if (GT_Values.RA.addForgeHammerRecipe(material.getCrushedPurified(1), material.getDustPurified(1), 10, tVoltageMultiplier/4)){ - Logger.MATERIALS("[ForgeHammer] Added Recipe: 'Crushed Purified to Purified Dust'"); - } - if (GT_Values.RA.addForgeHammerRecipe(material.getOre(1), material.getCrushed(1), 10, tVoltageMultiplier/4)){ - Logger.MATERIALS("[ForgeHammer] Added Recipe: 'Ore to Crushed'"); - } - - /** - * Centrifuge - */ - //Purified Dust to Clean - if (GT_Values.RA.addCentrifugeRecipe( - material.getDustPurified(1), null, - null, //In Fluid - null, //Out Fluid - matDust, tinyDustA,null, - null, null,null, - new int[]{10000, 10000}, //Chances - 5*20, //Time - tVoltageMultiplier/2)){ //Eu - Logger.MATERIALS("[Centrifuge] Added Recipe: Purified Dust to Clean Dust"); - } - - //Impure Dust to Clean - if (GT_Values.RA.addCentrifugeRecipe( - material.getDustImpure(1), null, - null, //In Fluid - null, //Out Fluid - matDust, tinyDustB,null, - null, null,null, - new int[]{10000, 10000}, //Chances - 5*20, //Time - tVoltageMultiplier/2)){ //Eu - Logger.MATERIALS("[Centrifuge] Added Recipe: Inpure Dust to Clean Dust"); - } - - - /** - * Electrolyzer - */ - - //Process Dust - if (componentMap.size() > 0 && componentMap.size() <= 6){ - - ItemStack mInternalOutputs[] = new ItemStack[6]; - int mChances[] = new int[6]; - int mCellCount = 0; - - int mTotalCount = 0; - - int mCounter = 0; - for (Pair f : componentMap){ - if (f.getValue().getState() != MaterialState.SOLID){ - Logger.MATERIALS("[Electrolyzer] Found Fluid Component, adding "+f.getKey()+" cells of "+f.getValue().getLocalizedName()+"."); - mInternalOutputs[mCounter++] = f.getValue().getCell(f.getKey()); - mCellCount += f.getKey(); - mTotalCount += f.getKey(); - Logger.MATERIALS("[Electrolyzer] In total, adding "+mCellCount+" cells for "+material.getLocalizedName()+" processing."); - } - else { - Logger.MATERIALS("[Electrolyzer] Found Solid Component, adding "+f.getKey()+" dusts of "+f.getValue().getLocalizedName()+"."); - mInternalOutputs[mCounter++] = f.getValue().getDust(f.getKey()); - mTotalCount += f.getKey(); - } - } - - //Build Output Array - for (int g=0;g 0){ - emptyCell = ItemUtils.getItemStackOfAmountFromOreDict("cellEmpty", mCellCount); - Logger.MATERIALS("[Electrolyzer] Recipe now requires "+mCellCount+" empty cells as input."); - } - - ItemStack mainDust = material.getDust(material.smallestStackSizeWhenProcessing); - if (mainDust != null){ - Logger.MATERIALS("[Electrolyzer] Recipe now requires "+material.smallestStackSizeWhenProcessing+"x "+mainDust.getDisplayName()+" as input."); - } - else { - mainDust = material.getDust(mTotalCount); - Logger.MATERIALS("[Electrolyzer] Could not find valid input dust, trying alternative."); - if (mainDust != null){ - Logger.MATERIALS("[Electrolyzer] Recipe now requires "+mTotalCount+"x "+mainDust.getDisplayName()+" as input."); - } - else { - Logger.MATERIALS("[Electrolyzer] Could not find valid input dust, exiting."); - } - } - - for (int j=0;j 6 && componentMap.size() <= 9){ - Logger.MATERIALS("[Issue][Electrolyzer] "+material.getLocalizedName()+" is composed of over 6 materials, so an electrolyzer recipe for processing cannot be generated. Trying to create one for the Dehydrator instead."); - - ItemStack mInternalOutputs[] = new ItemStack[9]; - int mChances[] = new int[9]; - int mCellCount = 0; - - int mTotalCount = 0; - - int mCounter = 0; - for (Pair f : componentMap){ - if (f.getValue().getState() != MaterialState.SOLID && f.getValue().getState() != MaterialState.ORE){ - Logger.MATERIALS("[Dehydrator] Found Fluid Component, adding "+f.getKey()+" cells of "+f.getValue().getLocalizedName()+"."); - mInternalOutputs[mCounter++] = f.getValue().getCell(f.getKey()); - mCellCount += f.getKey(); - mTotalCount += f.getKey(); - Logger.MATERIALS("[Dehydrator] In total, adding "+mCellCount+" cells for "+material.getLocalizedName()+" processing."); - } - else { - Logger.MATERIALS("[Dehydrator] Found Solid Component, adding "+f.getKey()+" dusts of "+f.getValue().getLocalizedName()+"."); - mInternalOutputs[mCounter++] = f.getValue().getDust(f.getKey()); - mTotalCount += f.getKey(); - } - } - - //Build Output Array - for (int g=0;g 0){ - emptyCell = ItemUtils.getItemStackOfAmountFromOreDict("cellEmpty", mCellCount); - Logger.MATERIALS("[Dehydrator] Recipe now requires "+mCellCount+" empty cells as input."); - } - - ItemStack mainDust = material.getDust(material.smallestStackSizeWhenProcessing); - if (mainDust != null){ - Logger.MATERIALS("[Dehydrator] Recipe now requires "+material.smallestStackSizeWhenProcessing+"x "+mainDust.getDisplayName()+" as input."); - } - else { - mainDust = material.getDust(mTotalCount); - Logger.MATERIALS("[Dehydrator] Could not find valid input dust, trying alternative."); - if (mainDust != null){ - Logger.MATERIALS("[Dehydrator] Recipe now requires "+mTotalCount+"x "+mainDust.getDisplayName()+" as input."); - } - else { - Logger.MATERIALS("[Dehydrator] Could not find valid input dust, exiting."); - } - } - - for (int j=0;j