diff options
Diffstat (limited to 'src/main/java/gregtech/loaders/oreprocessing/ProcessingDust.java')
-rw-r--r-- | src/main/java/gregtech/loaders/oreprocessing/ProcessingDust.java | 145 |
1 files changed, 70 insertions, 75 deletions
diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingDust.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingDust.java index 3d4c13ecaa..75ba5cc4af 100644 --- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingDust.java +++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingDust.java @@ -1,5 +1,10 @@ package gregtech.loaders.oreprocessing; +import java.util.ArrayList; + +import net.minecraft.item.ItemStack; +import net.minecraftforge.fluids.FluidStack; + import gregtech.api.enums.GT_Values; import gregtech.api.enums.ItemList; import gregtech.api.enums.Materials; @@ -11,11 +16,9 @@ import gregtech.api.util.GT_OreDictUnificator; import gregtech.api.util.GT_Recipe; import gregtech.api.util.GT_RecipeRegistrator; import gregtech.api.util.GT_Utility; -import java.util.ArrayList; -import net.minecraft.item.ItemStack; -import net.minecraftforge.fluids.FluidStack; public class ProcessingDust implements gregtech.api.interfaces.IOreRecipeRegistrator { + public ProcessingDust() { OrePrefixes.dust.add(this); OrePrefixes.dustPure.add(this); @@ -26,13 +29,12 @@ public class ProcessingDust implements gregtech.api.interfaces.IOreRecipeRegistr } @Override - public void registerOre( - OrePrefixes aPrefix, Materials aMaterial, String aOreDictName, String aModName, ItemStack aStack) { + public void registerOre(OrePrefixes aPrefix, Materials aMaterial, String aOreDictName, String aModName, + ItemStack aStack) { switch (aPrefix) { case dust: - if (aMaterial.mFuelPower > 0) - GT_Values.RA.addFuel( - GT_Utility.copyAmount(1L, aStack), null, aMaterial.mFuelPower, aMaterial.mFuelType); + if (aMaterial.mFuelPower > 0) GT_Values.RA + .addFuel(GT_Utility.copyAmount(1L, aStack), null, aMaterial.mFuelPower, aMaterial.mFuelType); if (GT_Utility.getFluidForFilledItem(GT_OreDictUnificator.get(OrePrefixes.cell, aMaterial, 1L), true) == null) GT_Values.RA.addCannerRecipe( @@ -67,8 +69,8 @@ public class ProcessingDust implements gregtech.api.interfaces.IOreRecipeRegistr null, null, aMaterial.mBlastFurnaceTemp > 1750 - ? GT_OreDictUnificator.get( - OrePrefixes.ingotHot, aMaterial.mSmeltInto, tDustStack, 1L) + ? GT_OreDictUnificator + .get(OrePrefixes.ingotHot, aMaterial.mSmeltInto, tDustStack, 1L) : GT_Utility.copyAmount(1L, tDustStack), null, (int) Math.max(aMaterial.getMass() / 40L, 1L) * aMaterial.mBlastFurnaceTemp, @@ -87,7 +89,7 @@ public class ProcessingDust implements gregtech.api.interfaces.IOreRecipeRegistr } // This is so disgustingly bad. if (((OrePrefixes.block.isIgnored(aMaterial)) - || (null == GT_OreDictUnificator.get(OrePrefixes.block, aMaterial, 1L))) + || (null == GT_OreDictUnificator.get(OrePrefixes.block, aMaterial, 1L))) && (aMaterial != Materials.GraniteRed) && (aMaterial != Materials.GraniteBlack) && (aMaterial != Materials.Basalt) @@ -107,49 +109,41 @@ public class ProcessingDust implements gregtech.api.interfaces.IOreRecipeRegistr if ((aMaterial.mMaterialList.size() > 0) && ((aMaterial.mExtraData & 0x3) != 0)) { long tItemAmount = 0L; long tCapsuleCount = 0L; - long tDensityMultiplier = - aMaterial.getDensity() > 3628800L ? aMaterial.getDensity() / 3628800L : 1L; + long tDensityMultiplier = aMaterial.getDensity() > 3628800L ? aMaterial.getDensity() / 3628800L + : 1L; ArrayList<ItemStack> tList = new ArrayList<>(); - for (MaterialStack tMat : aMaterial.mMaterialList) - if (tMat.mAmount > 0L) { - if (tMat.mMaterial == Materials.Air) { - tDustStack = ItemList.Cell_Air.get(tMat.mAmount / 2L); - } else { - tDustStack = GT_OreDictUnificator.get(OrePrefixes.dust, tMat.mMaterial, tMat.mAmount); - if (tDustStack == null) - tDustStack = - GT_OreDictUnificator.get(OrePrefixes.cell, tMat.mMaterial, tMat.mAmount); - } - if (tItemAmount + tMat.mAmount * 3628800L - <= aStack.getMaxStackSize() * aMaterial.getDensity()) { - tItemAmount += tMat.mAmount * 3628800L; - if (tDustStack != null) { - tDustStack.stackSize = ((int) (tDustStack.stackSize * tDensityMultiplier)); - while ((tDustStack.stackSize > 64) - && (tList.size() < 6) - && (tCapsuleCount - + GT_ModHandler.getCapsuleCellContainerCount(tDustStack) - * 64 - <= 64L)) { - tCapsuleCount += GT_ModHandler.getCapsuleCellContainerCount(tDustStack) * 64; - tList.add(GT_Utility.copyAmount(64L, tDustStack)); - tDustStack.stackSize -= 64; - } - if ((tDustStack.stackSize > 0) - && (tList.size() < 6) - && (tCapsuleCount - + GT_ModHandler - .getCapsuleCellContainerCountMultipliedWithStackSize( - tDustStack) - <= 64L)) { - tCapsuleCount += - GT_ModHandler.getCapsuleCellContainerCountMultipliedWithStackSize( - tDustStack); - tList.add(tDustStack); - } + for (MaterialStack tMat : aMaterial.mMaterialList) if (tMat.mAmount > 0L) { + if (tMat.mMaterial == Materials.Air) { + tDustStack = ItemList.Cell_Air.get(tMat.mAmount / 2L); + } else { + tDustStack = GT_OreDictUnificator.get(OrePrefixes.dust, tMat.mMaterial, tMat.mAmount); + if (tDustStack == null) + tDustStack = GT_OreDictUnificator.get(OrePrefixes.cell, tMat.mMaterial, tMat.mAmount); + } + if (tItemAmount + tMat.mAmount * 3628800L + <= aStack.getMaxStackSize() * aMaterial.getDensity()) { + tItemAmount += tMat.mAmount * 3628800L; + if (tDustStack != null) { + tDustStack.stackSize = ((int) (tDustStack.stackSize * tDensityMultiplier)); + while ((tDustStack.stackSize > 64) && (tList.size() < 6) + && (tCapsuleCount + GT_ModHandler.getCapsuleCellContainerCount(tDustStack) * 64 + <= 64L)) { + tCapsuleCount += GT_ModHandler.getCapsuleCellContainerCount(tDustStack) * 64; + tList.add(GT_Utility.copyAmount(64L, tDustStack)); + tDustStack.stackSize -= 64; + } + if ((tDustStack.stackSize > 0) && (tList.size() < 6) + && (tCapsuleCount + + GT_ModHandler + .getCapsuleCellContainerCountMultipliedWithStackSize(tDustStack) + <= 64L)) { + tCapsuleCount += GT_ModHandler + .getCapsuleCellContainerCountMultipliedWithStackSize(tDustStack); + tList.add(tDustStack); } } } + } tItemAmount = (tItemAmount * tDensityMultiplier % aMaterial.getDensity() > 0L ? 1 : 0) + tItemAmount * tDensityMultiplier / aMaterial.getDensity(); if (tList.size() > 0) { @@ -160,27 +154,26 @@ public class ProcessingDust implements gregtech.api.interfaces.IOreRecipeRegistr && ((tFluid = GT_Utility.getFluidForFilledItem((ItemStack) tList.get(i), true)) != null)) { tFluid.amount *= tList.get(i).stackSize; - tCapsuleCount -= GT_ModHandler.getCapsuleCellContainerCountMultipliedWithStackSize( - (ItemStack) tList.get(i)); + tCapsuleCount -= GT_ModHandler + .getCapsuleCellContainerCountMultipliedWithStackSize((ItemStack) tList.get(i)); tList.remove(i); break; } } - if ((aMaterial.mExtraData & 0x1) != 0) - GT_Values.RA.addElectrolyzerRecipe( - GT_Utility.copyAmount(tItemAmount, aStack), - tCapsuleCount > 0L ? ItemList.Cell_Empty.get(tCapsuleCount) : null, - null, - tFluid, - tList.size() < 1 ? null : (ItemStack) tList.get(0), - tList.size() < 2 ? null : (ItemStack) tList.get(1), - tList.size() < 3 ? null : (ItemStack) tList.get(2), - tList.size() < 4 ? null : (ItemStack) tList.get(3), - tList.size() < 5 ? null : (ItemStack) tList.get(4), - tList.size() < 6 ? null : (ItemStack) tList.get(5), - null, - (int) Math.max(1L, Math.abs(aMaterial.getProtons() * 2L * tItemAmount)), - Math.min(4, tList.size()) * 30); + if ((aMaterial.mExtraData & 0x1) != 0) GT_Values.RA.addElectrolyzerRecipe( + GT_Utility.copyAmount(tItemAmount, aStack), + tCapsuleCount > 0L ? ItemList.Cell_Empty.get(tCapsuleCount) : null, + null, + tFluid, + tList.size() < 1 ? null : (ItemStack) tList.get(0), + tList.size() < 2 ? null : (ItemStack) tList.get(1), + tList.size() < 3 ? null : (ItemStack) tList.get(2), + tList.size() < 4 ? null : (ItemStack) tList.get(3), + tList.size() < 5 ? null : (ItemStack) tList.get(4), + tList.size() < 6 ? null : (ItemStack) tList.get(5), + null, + (int) Math.max(1L, Math.abs(aMaterial.getProtons() * 2L * tItemAmount)), + Math.min(4, tList.size()) * 30); if ((aMaterial.mExtraData & 0x2) != 0) { GT_Values.RA.addCentrifugeRecipe( GT_Utility.copyAmount(tItemAmount, aStack), @@ -234,7 +227,8 @@ public class ProcessingDust implements gregtech.api.interfaces.IOreRecipeRegistr break; case "Glass": GT_ModHandler.addSmeltingRecipe( - GT_Utility.copyAmount(1L, aStack), new ItemStack(net.minecraft.init.Blocks.glass)); + GT_Utility.copyAmount(1L, aStack), + new ItemStack(net.minecraft.init.Blocks.glass)); break; case "NetherQuartz": case "Quartz": @@ -242,7 +236,8 @@ public class ProcessingDust implements gregtech.api.interfaces.IOreRecipeRegistr if (gregtech.api.GregTech_API.sRecipeFile.get( gregtech.api.enums.ConfigCategories.Recipes.disabledrecipes, "QuartzDustSmeltingIntoAESilicon", - true)) GT_ModHandler.removeFurnaceSmelting(aStack); + true)) + GT_ModHandler.removeFurnaceSmelting(aStack); break; case "MeatRaw": GT_ModHandler.addSmeltingRecipe( @@ -254,11 +249,11 @@ public class ProcessingDust implements gregtech.api.interfaces.IOreRecipeRegistr case "Oilsands": GT_Recipe.GT_Recipe_Map.sCentrifugeRecipes.addRecipe( true, - new ItemStack[] {GT_Utility.copyAmount(1L, aStack)}, + new ItemStack[] { GT_Utility.copyAmount(1L, aStack) }, null, null, null, - new FluidStack[] {Materials.OilHeavy.getFluid(1000)}, + new FluidStack[] { Materials.OilHeavy.getFluid(1000) }, 660, 8, 0); @@ -324,7 +319,7 @@ public class ProcessingDust implements gregtech.api.interfaces.IOreRecipeRegistr GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial, 1L), GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.Gold, 1L), GT_OreDictUnificator.get(OrePrefixes.nugget, Materials.Gold, 1L), - new int[] {10000, 4000, 2000}, + new int[] { 10000, 4000, 2000 }, 400, 24); if (aMaterial.contains(SubTag.ELECTROMAGNETIC_SEPERATION_IRON)) @@ -333,7 +328,7 @@ public class ProcessingDust implements gregtech.api.interfaces.IOreRecipeRegistr GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial, 1L), GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.Iron, 1L), GT_OreDictUnificator.get(OrePrefixes.nugget, Materials.Iron, 1L), - new int[] {10000, 4000, 2000}, + new int[] { 10000, 4000, 2000 }, 400, 24); if (aMaterial.contains(SubTag.ELECTROMAGNETIC_SEPERATION_NEODYMIUM)) { @@ -342,7 +337,7 @@ public class ProcessingDust implements gregtech.api.interfaces.IOreRecipeRegistr GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial, 1L), GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.Neodymium, 1L), GT_OreDictUnificator.get(OrePrefixes.nugget, Materials.Neodymium, 1L), - new int[] {10000, 4000, 2000}, + new int[] { 10000, 4000, 2000 }, 400, 24); } @@ -474,7 +469,7 @@ public class ProcessingDust implements gregtech.api.interfaces.IOreRecipeRegistr null, null, null, - new int[] {10000, 1111}, + new int[] { 10000, 1111 }, (int) Math.max(1L, aMaterial.getMass() * 8L), 5); } |