diff options
author | Jordan Byrne <draknyte1@hotmail.com> | 2018-05-13 05:54:50 +1000 |
---|---|---|
committer | Jordan Byrne <draknyte1@hotmail.com> | 2018-05-13 05:54:50 +1000 |
commit | ed4981a9de40674ef26e9f82099a1844938f90c8 (patch) | |
tree | 60222f1c9f604bb989447fccbabc11a85d2317ba /src | |
parent | 24f4f3411c5b0823c37a71b376a6531c62384e59 (diff) | |
download | GT5-Unofficial-ed4981a9de40674ef26e9f82099a1844938f90c8.tar.gz GT5-Unofficial-ed4981a9de40674ef26e9f82099a1844938f90c8.tar.bz2 GT5-Unofficial-ed4981a9de40674ef26e9f82099a1844938f90c8.zip |
+ Made GT5 HF usable in some GT++ recipes.
+ Added a recipe to convert GT HF -> GT++ HF.
% Doubled output of Sulfuric Apatite Recipe.
% Cape list change.
% Made ABS recipe generation logging MACHINE_INFO type.
$ Improved cape handler to cache resource & not check client side at all.
Diffstat (limited to 'src')
4 files changed, 231 insertions, 80 deletions
diff --git a/src/Java/gtPlusPlus/GTplusplus.java b/src/Java/gtPlusPlus/GTplusplus.java index 61e358fabe..e22f8e0f83 100644 --- a/src/Java/gtPlusPlus/GTplusplus.java +++ b/src/Java/gtPlusPlus/GTplusplus.java @@ -207,7 +207,7 @@ public class GTplusplus implements ActionListener { @Mod.EventHandler public void onLoadComplete(FMLLoadCompleteEvent event) { RecipeGen_BlastSmelterGT_GTNH.generateGTNHBlastSmelterRecipesFromEBFList(); - FishPondFakeRecipe.generateFishPondRecipes(); + FishPondFakeRecipe.generateFishPondRecipes(); //Large Centrifuge generation for (GT_Recipe x : GT_Recipe.GT_Recipe_Map.sCentrifugeRecipes.mRecipeList) { @@ -315,7 +315,6 @@ public class GTplusplus implements ActionListener { mOrangeCapes.put(new Pair<String, String>("ImmortalPharaoh7", "c8c479b2-7464-4b20-adea-b43ff1c10c53")); mOrangeCapes.put(new Pair<String, String>("Walmart_Employee", "7a56602b-9a67-44e3-95a5-270f887712c6")); mOrangeCapes.put(new Pair<String, String>("ArchonCerulean", "f773e61f-261f-41e7-a221-5dcace291ced")); - mOrangeCapes.put(new Pair<String, String>("asturrial", "26c4881f-c708-4c5d-aa76-4419c3a1265b")); mOrangeCapes.put(new Pair<String, String>("netmc", "c3ecbcc3-0d83-4da6-bb89-69f3f1a6e38b")); mOrangeCapes.put(new Pair<String, String>("twinsrock8", "c1239b45b-b3a3-4282-8143-c73778897dda")); mOrangeCapes.put(new Pair<String, String>("Ajes", "b1781fc7-35ca-4255-a21c-cdb1b7ea1853")); @@ -341,19 +340,20 @@ public class GTplusplus implements ActionListener { mBetaTestCapes.put(new Pair<String, String>("Bear989Sr", "1964e3d1-6500-40e7-9ff2-e6161d41a8c2")); mBetaTestCapes.put(new Pair<String, String>("CrazyJ1984", "d84f9654-87ea-46a9-881f-c6aa45dd5af8")); mBetaTestCapes.put(new Pair<String, String>("AndreyKV", "9550c173-a8c5-4e7f-bf8d-b5ded56921ef")); - + //Dev Capes mDevCapes.put(new Pair<String, String>("draknyte1", "5652713c-668e-47f3-853a-3fa959a9dfd3")); mDevCapes.put(new Pair<String, String>("crimsonhood17", "c4773470-2585-4bd7-82b3-8764ca6acd08")); - + /** * Patreons */ - + mPatreonCapes.put(new Pair<String, String>("Baxterzz", "e8aa5500-7319-4453-822c-b96b29ab5981")); mPatreonCapes.put(new Pair<String, String>("leagris", "09752aa3-8b9c-4f8f-b04f-5421e799547d")); mPatreonCapes.put(new Pair<String, String>("Traumeister", "fd3f46ac-801a-4566-90b5-75cb362d261e")); + mPatreonCapes.put(new Pair<String, String>("asturrial", "26c4881f-c708-4c5d-aa76-4419c3a1265b")); } } diff --git a/src/Java/gtPlusPlus/core/recipe/RECIPES_GREGTECH.java b/src/Java/gtPlusPlus/core/recipe/RECIPES_GREGTECH.java index ca26ca21ff..5186bf04d1 100644 --- a/src/Java/gtPlusPlus/core/recipe/RECIPES_GREGTECH.java +++ b/src/Java/gtPlusPlus/core/recipe/RECIPES_GREGTECH.java @@ -16,6 +16,7 @@ import gtPlusPlus.core.material.ALLOY; import gtPlusPlus.core.material.ELEMENT; import gtPlusPlus.core.material.nuclear.FLUORIDES; import gtPlusPlus.core.recipe.common.CI; +import gtPlusPlus.core.util.Utils; import gtPlusPlus.core.util.minecraft.FluidUtils; import gtPlusPlus.core.util.minecraft.ItemUtils; import gtPlusPlus.core.util.reflect.AddGregtechRecipe; @@ -335,6 +336,15 @@ public class RECIPES_GREGTECH { FluidUtils.getFluidStack("hydrofluoricacid", 250), null); GT_Values.RA.addFluidCannerRecipe(ItemUtils.getSimpleStack(ModItems.itemHydrofluoricPotion), ItemUtils.getSimpleStack(Items.glass_bottle), null, FluidUtils.getFluidStack("hydrofluoricacid", 250)); + + if (Utils.getGregtechVersionAsInt() >= 50929) { + // Hydrofluoric Acid + GT_Values.RA.addFluidCannerRecipe(ItemUtils.getSimpleStack(Items.glass_bottle), + ItemUtils.getSimpleStack(ModItems.itemHydrofluoricPotion), + FluidUtils.getFluidStack("hydrofluoricacid_gt5u", 250), null); + GT_Values.RA.addFluidCannerRecipe(ItemUtils.getSimpleStack(ModItems.itemHydrofluoricPotion), + ItemUtils.getSimpleStack(Items.glass_bottle), null, FluidUtils.getFluidStack("hydrofluoricacid_gt5u", 250)); + } } private static void cokeOvenRecipes() { @@ -681,6 +691,21 @@ public class RECIPES_GREGTECH { // 9, new int[] { 0 }, 120 * 20, // Time in ticks 500); // EU + + + if (Utils.getGregtechVersionAsInt() >= 50929) { + CORE.RA.addDehydratorRecipe( + new ItemStack[] { ItemUtils.getItemStackOfAmountFromOreDict("dustCookedZrCl4", 9), + ItemUtils.getItemStackOfAmountFromOreDict("cellEmpty", 9) }, + FluidUtils.getFluidStack("hydrofluoricacid_gt5u", 18 * 144), + null, + new ItemStack[] { ItemUtils.getItemStackOfAmountFromOreDict("cellHydrogenChloride", 9), + ItemUtils.getItemStackOfAmountFromOreDict("dustZrF4", 9) }, + new int[] { 0 }, + 120 * 20, // Time in ticks + 500); // EU + } + } catch (final NullPointerException e) { @@ -1179,7 +1204,7 @@ public class RECIPES_GREGTECH { GT_Values.RA.addChemicalRecipe(ItemUtils.getItemStackOfAmountFromOreDict("dustApatite", 16), null, FluidUtils.getFluidStack("sulfuricacid", 144 * 32), - FluidUtils.getFluidStack("sulfuricapatite", 144 * 4), + FluidUtils.getFluidStack("sulfuricapatite", 144 * 8), ItemUtils.getItemStackOfAmountFromOreDict("dustSmallSulfur", 1), 20 * 20); GT_Values.RA.addChemicalRecipe(ItemUtils.getItemStackOfAmountFromOreDict("dustLithium7", 1), null, @@ -1244,17 +1269,14 @@ public class RECIPES_GREGTECH { ItemUtils.getItemStackOfAmountFromOreDict("cellEmpty", 2), 20 * 20); } - GT_Values.RA.addChemicalRecipe(ItemUtils.getItemStackOfAmountFromOreDict("dustLithiumCarbonate", 5), // Input - // Stack - // 1 - ItemUtils.getItemStackOfAmountFromOreDict("dustCalciumHydroxide", 5), // Input - // Stack - // 2 + //Refine GT HF into GT++ HF + GT_Values.RA.addChemicalRecipe( + ItemUtils.getItemStackOfAmountFromOreDict("cellHydroFluoricAcid", 2), + ItemUtils.getItemStackOfAmountFromOreDict("cellHydrofluoricAcid_gt5u", 5), null, // Fluid Input - null, // Fluid Output - ItemUtils.getItemStackOfAmountFromOreDict("dustLi2CO3CaOH2", 10), // Output - // Stack - 600 * 20); + FluidUtils.getFluidStack("hydrofluoricacid", 6000), // Fluid Output + ItemUtils.getItemStackOfAmountFromOreDict("cellEmpty", 12), + 2 * 20); } diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/render/GTPP_CapeRenderer.java b/src/Java/gtPlusPlus/xmod/gregtech/common/render/GTPP_CapeRenderer.java index ff7cf6c76f..8ffa260261 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/common/render/GTPP_CapeRenderer.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/common/render/GTPP_CapeRenderer.java @@ -22,6 +22,7 @@ import gregtech.api.enums.GT_Values; import gregtech.api.util.GT_Log; import gregtech.api.util.GT_Utility; +import gtPlusPlus.api.objects.Logger; import gtPlusPlus.api.objects.data.Pair; import gtPlusPlus.core.lib.CORE; import net.minecraftforge.client.event.RenderPlayerEvent; @@ -37,54 +38,75 @@ extends RenderPlayer { BuildCapeList(); } - public void receiveRenderSpecialsEvent(RenderPlayerEvent.Specials.Pre aEvent) { - AbstractClientPlayer aPlayer = (AbstractClientPlayer) aEvent.entityPlayer; - if (mDevCapes.size() <= 1) { - BuildCapeList(); - } - if (GT_Utility.getFullInvisibility(aPlayer) || aPlayer.isInvisible() || GT_Utility.getPotion(aPlayer, Integer.valueOf(Potion.invisibility.id).intValue())) { - aEvent.setCanceled(true); - return; + private static volatile ResourceLocation cachedResource = null; + private static boolean hasResourceChecked = false; + + public synchronized void receiveRenderSpecialsEvent(RenderPlayerEvent.Specials.Pre aEvent) { + AbstractClientPlayer aPlayer = (AbstractClientPlayer) aEvent.entityPlayer; + ResourceLocation tResource = null; + if (cachedResource != null) { + tResource = cachedResource; } - float aPartialTicks = aEvent.partialRenderTick; - try { - ResourceLocation tResource = null; + else { String mTemp = ""; - - for (Pair<String, String> mName : mOrangeCapes){ - mTemp = getPlayerName((String) mName.getKey(), (String) mName.getValue()); - if (mTemp.toLowerCase().contains(aPlayer.getDisplayName().toLowerCase())) { - tResource = this.mCapes[0]; + //Make sure we don't keep checking on clients who dont have capes. + if (!hasResourceChecked) { + //Only run once. + hasResourceChecked = true; + //If list's have not been built yet for some reason, we best do it now. + if (mDevCapes.size() <= 1) { + BuildCapeList(); } - } - for (Pair<String, String> mName : mMiscCapes){ - mTemp = getPlayerName((String) mName.getKey(), (String) mName.getValue()); - if (mTemp.toLowerCase().contains(aPlayer.getDisplayName().toLowerCase())) { - tResource = this.mCapes[1]; + + //Iterates all players in all lists, caches result. + for (Pair<String, String> mName : mOrangeCapes){ + mTemp = getPlayerName(mName.getKey(), mName.getValue()); + if (mTemp.toLowerCase().contains(aPlayer.getDisplayName().toLowerCase())) { + tResource = this.mCapes[0]; + } } - } - for (Pair<String, String> mName : mBetaTestCapes){ - mTemp = getPlayerName((String) mName.getKey(), (String) mName.getValue()); - if (mTemp.toLowerCase().contains(aPlayer.getDisplayName().toLowerCase())) { - tResource = this.mCapes[2]; + for (Pair<String, String> mName : mMiscCapes){ + mTemp = getPlayerName(mName.getKey(), mName.getValue()); + if (mTemp.toLowerCase().contains(aPlayer.getDisplayName().toLowerCase())) { + tResource = this.mCapes[1]; + } } - } - for (Pair<String, String> mName : mDevCapes){ - mTemp = getPlayerName((String) mName.getKey(), (String) mName.getValue()); - if (mTemp.toLowerCase().contains(aPlayer.getDisplayName().toLowerCase())) { - tResource = this.mCapes[3]; + for (Pair<String, String> mName : mBetaTestCapes){ + mTemp = getPlayerName(mName.getKey(), mName.getValue()); + if (mTemp.toLowerCase().contains(aPlayer.getDisplayName().toLowerCase())) { + tResource = this.mCapes[2]; + } } - } - for (Pair<String, String> mName : mPatreonCapes){ - mTemp = getPlayerName((String) mName.getKey(), (String) mName.getValue()); - if (mTemp.toLowerCase().contains(aPlayer.getDisplayName().toLowerCase())) { - tResource = this.mCapes[4]; + for (Pair<String, String> mName : mDevCapes){ + mTemp = getPlayerName(mName.getKey(), mName.getValue()); + if (mTemp.toLowerCase().contains(aPlayer.getDisplayName().toLowerCase())) { + tResource = this.mCapes[3]; + } + } + for (Pair<String, String> mName : mPatreonCapes){ + mTemp = getPlayerName(mName.getKey(), mName.getValue()); + if (mTemp.toLowerCase().contains(aPlayer.getDisplayName().toLowerCase())) { + tResource = this.mCapes[4]; + } + } + if (tResource != null) { + cachedResource = tResource; } } - - if (CORE.DEVENV) { + } + + + if (GT_Utility.getFullInvisibility(aPlayer) || aPlayer.isInvisible() || GT_Utility.getPotion(aPlayer, Integer.valueOf(Potion.invisibility.id).intValue())) { + aEvent.setCanceled(true); + return; + } + float aPartialTicks = aEvent.partialRenderTick; + try { + + + /*if (CORE.DEVENV) { tResource = this.mCapes[3]; - } + }*/ /*if (this.mCapeList.contains(aPlayer.getDisplayName().toLowerCase())) { tResource = this.mCapes[0]; @@ -97,8 +119,8 @@ extends RenderPlayer { double d1 = aPlayer.field_71096_bN + (aPlayer.field_71095_bQ - aPlayer.field_71096_bN) * aPartialTicks - (aPlayer.prevPosY + (aPlayer.posY - aPlayer.prevPosY) * aPartialTicks); double d2 = aPlayer.field_71097_bO + (aPlayer.field_71085_bR - aPlayer.field_71097_bO) * aPartialTicks - (aPlayer.prevPosZ + (aPlayer.posZ - aPlayer.prevPosZ) * aPartialTicks); float f6 = aPlayer.prevRenderYawOffset + (aPlayer.renderYawOffset - aPlayer.prevRenderYawOffset) * aPartialTicks; - double d3 = MathHelper.sin(f6 * 3.141593F / 180.0F); - double d4 = -MathHelper.cos(f6 * 3.141593F / 180.0F); + double d3 = MathHelper.sin(f6 * CORE.PI / 180.0F); + double d4 = -MathHelper.cos(f6 * CORE.PI / 180.0F); float f7 = (float) d1 * 10.0F; float f8 = (float) (d0 * d3 + d2 * d4) * 100.0F; float f9 = (float) (d0 * d4 - d2 * d3) * 100.0F; @@ -131,17 +153,31 @@ extends RenderPlayer { } private String getPlayerName(String name, String uuid) { + Logger.WORLD("[Capes++] Trying to UUID check "+name+"."); if (uuid != null) { if (uuid.length() > 0) { UUID g = UUID.fromString(uuid); if (g != null) { + Logger.WORLD("[Capes++] Mojang/Cache checking for "+name+"."); GameProfile profile = MinecraftServer.getServer().func_152358_ax().func_152652_a(g); if (profile != null) { + Logger.INFO("[Capes++] Found for UUID check: "+profile.getName()+"."); return profile.getName(); } } } - } + } + if (name != null) { + if (name.length() > 0) { + Logger.WORLD("[Capes++] Mojang/Cache checking for "+name+"."); + GameProfile profile = MinecraftServer.getServer().func_152358_ax().func_152655_a(name); + if (profile != null) { + Logger.INFO("[Capes++] Found for name check: "+profile.getName()+"."); + return profile.getName(); + } + } + } + Logger.WORLD("[Capes++] Failed UUID check for "+name+"."); return name; } diff --git a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_BlastSmelterGT_GTNH.java b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_BlastSmelterGT_GTNH.java index 3001306d9e..a8a7af9bba 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_BlastSmelterGT_GTNH.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_BlastSmelterGT_GTNH.java @@ -35,14 +35,14 @@ public class RecipeGen_BlastSmelterGT_GTNH { private synchronized static FluidStack getFluidFromIngot(final ItemStackData ingot) { ItemStackData h = ingot; if (mCachedIngotToFluidRegistry.containsKey(h.getUniqueDataIdentifier())) { - Logger.INFO("[ABS] mCachedIngotToFluidRegistry contains Output Ingot."); + Logger.MACHINE_INFO("[ABS] mCachedIngotToFluidRegistry contains Output Ingot."); return mCachedIngotToFluidRegistry.get(h.getUniqueDataIdentifier()); } if (mCachedHotToColdRegistry.containsKey(h.getUniqueDataIdentifier())) { - Logger.INFO("[ABS] mCachedHotToColdRegistry contains Output Ingot."); + Logger.MACHINE_INFO("[ABS] mCachedHotToColdRegistry contains Output Ingot."); return mCachedIngotToFluidRegistry.get(mCachedHotToColdRegistry.get(h.getUniqueDataIdentifier())); } - Logger.INFO("[ABS] Neither Cache contains Output Ingot."); + Logger.MACHINE_INFO("[ABS] Neither Cache contains Output Ingot."); return null; } @@ -85,7 +85,7 @@ public class RecipeGen_BlastSmelterGT_GTNH { if (validInput != null && validOutput != null) { ItemStackData R = new ItemStackData(validInput); setIngotToFluid(R, validOutput); - Logger.INFO("[ABS][I2F] Cached "+validInput.getDisplayName()+" to "+validOutput.getLocalizedName()+". Stored Under ID of "+R.getUniqueDataIdentifier()); + Logger.MACHINE_INFO("[ABS][I2F] Cached "+validInput.getDisplayName()+" to "+validOutput.getLocalizedName()+". Stored Under ID of "+R.getUniqueDataIdentifier()); } } } @@ -108,7 +108,7 @@ public class RecipeGen_BlastSmelterGT_GTNH { ItemStackData R1 = new ItemStackData(validInput); ItemStackData R2 = new ItemStackData(validOutput); setHotToCold(R1, R2); - Logger.INFO("[ABS][H2C] Cached "+validInput.getDisplayName()+" to "+validOutput.getDisplayName()+". Stored Under ID of "+R1.getUniqueDataIdentifier()+", links to ID "+R2.getUniqueDataIdentifier()); + Logger.MACHINE_INFO("[ABS][H2C] Cached "+validInput.getDisplayName()+" to "+validOutput.getDisplayName()+". Stored Under ID of "+R1.getUniqueDataIdentifier()+", links to ID "+R2.getUniqueDataIdentifier()); } } } @@ -134,7 +134,7 @@ public class RecipeGen_BlastSmelterGT_GTNH { //Check for GTNH, if it's found, continue to next recipe if the Temp is too high. if (CORE.GTNH && special > 3600) { - Logger.INFO("[ABS] Skipping ABS addition for GTNH due to temp."); + Logger.MACHINE_INFO("[ABS] Skipping ABS addition for GTNH due to temp."); continue; } else { @@ -144,14 +144,14 @@ public class RecipeGen_BlastSmelterGT_GTNH { if (x.mOutputs != null && x.mOutputs[0] != null) { mMoltenCount = x.mOutputs[0].stackSize; ItemStackData R = new ItemStackData(x.mOutputs[0]); - Logger.INFO("[ABS] Found "+x.mOutputs[0].getDisplayName()+" as valid EBF output, finding it's fluid from the cache. We will require "+(144*mMoltenCount)+"L. Looking for ID "+R.getUniqueDataIdentifier()); + Logger.MACHINE_INFO("[ABS] Found "+x.mOutputs[0].getDisplayName()+" as valid EBF output, finding it's fluid from the cache. We will require "+(144*mMoltenCount)+"L. Looking for ID "+R.getUniqueDataIdentifier()); FluidStack tempFluid = getFluidFromIngot(R); if (tempFluid != null) { - //Logger.INFO("[ABS] Got Fluid from Cache."); + //Logger.MACHINE_INFO("[ABS] Got Fluid from Cache."); mMoltenStack = FluidUtils.getFluidStack(tempFluid, mMoltenCount*144); } else { - Logger.INFO("[ABS] Failed to get Fluid from Cache."); + Logger.MACHINE_INFO("[ABS] Failed to get Fluid from Cache."); } } //If this recipe is enabled and we have a valid molten fluidstack, let's try add this recipe. @@ -163,41 +163,41 @@ public class RecipeGen_BlastSmelterGT_GTNH { newInput[l++] = y; } newInput[0] = CI.getNumberedCircuit(inputs.length); - //Logger.INFO("[ABS] Generating ABS recipe for "+mMoltenStack.getLocalizedName()+"."); + //Logger.MACHINE_INFO("[ABS] Generating ABS recipe for "+mMoltenStack.getLocalizedName()+"."); if (CORE.RA.addBlastSmelterRecipe(newInput, (inputsF.length > 0 ? inputsF[0] : null), mMoltenStack, 100, MathUtils.roundToClosestInt(time*0.8), voltage, special)) { - //Logger.INFO("[ABS] Success."); + //Logger.MACHINE_INFO("[ABS] Success."); mSuccess++; } else { - Logger.INFO("[ABS] Failure."); + Logger.MACHINE_INFO("[ABS] Failure."); } } else { if (!enabled) { - Logger.INFO("[ABS] Failure. EBF recipe was not enabled."); + Logger.MACHINE_INFO("[ABS] Failure. EBF recipe was not enabled."); } else { - Logger.INFO("[ABS] Failure. Invalid Inputs or Outputs."); + Logger.MACHINE_INFO("[ABS] Failure. Invalid Inputs or Outputs."); if (inputs == null) { - Logger.INFO("[ABS] Inputs were not Valid."); + Logger.MACHINE_INFO("[ABS] Inputs were not Valid."); } else { - Logger.INFO("[ABS] inputs size: "+inputs.length); + Logger.MACHINE_INFO("[ABS] inputs size: "+inputs.length); } if (outputs == null) { - Logger.INFO("[ABS] Outputs were not Valid."); + Logger.MACHINE_INFO("[ABS] Outputs were not Valid."); } else { - Logger.INFO("[ABS] outputs size: "+outputs.length); + Logger.MACHINE_INFO("[ABS] outputs size: "+outputs.length); } if (inputsF == null) { - Logger.INFO("[ABS] Input Fluids were not Valid."); + Logger.MACHINE_INFO("[ABS] Input Fluids were not Valid."); } else { - Logger.INFO("[ABS] inputsF size: "+inputsF.length); + Logger.MACHINE_INFO("[ABS] inputsF size: "+inputsF.length); } if (mMoltenStack == null) { - Logger.INFO("[ABS] Output Fluid were not Valid."); + Logger.MACHINE_INFO("[ABS] Output Fluid were not Valid."); } } } @@ -205,7 +205,100 @@ public class RecipeGen_BlastSmelterGT_GTNH { } } else { - Logger.INFO("[ABS] Failure. Did not find any EBF recipes to iterate."); + Logger.MACHINE_INFO("[ABS] Failure. Did not find any EBF recipes to iterate."); + } + + Logger.MACHINE_INFO("[ABS] Generating recipes based on existing Alloy Smelter recipes."); + //Okay, so now lets Iterate existing EBF recipes. + if (GT_Recipe.GT_Recipe_Map.sAlloySmelterRecipes.mRecipeList.size() > 0) { + for (GT_Recipe x : GT_Recipe.GT_Recipe_Map.sAlloySmelterRecipes.mRecipeList) { + if (x == null) { + continue; + } + ItemStack[] inputs, outputs; + FluidStack[] inputsF; + int voltage, time, special; + boolean enabled; + inputs = x.mInputs; + outputs = x.mOutputs; + inputsF = x.mFluidInputs; + voltage = x.mEUt; + time = x.mDuration; + enabled = x.mEnabled; + special = x.mSpecialValue; + + /*Check for GTNH, if it's found, continue to next recipe if the Temp is too high. + if (CORE.GTNH && special > 3600) { + Logger.MACHINE_INFO("[ABS] Skipping ABS addition for GTNH due to temp."); + continue; + }*/ + FluidStack mMoltenStack = null; + int mMoltenCount = 0; + //If We have a valid Output, let's try use our cached data to get it's molten form. + if (x.mOutputs != null && x.mOutputs[0] != null) { + mMoltenCount = x.mOutputs[0].stackSize; + ItemStackData R = new ItemStackData(x.mOutputs[0]); + Logger.MACHINE_INFO("[ABS] Found "+x.mOutputs[0].getDisplayName()+" as valid AS output, finding it's fluid from the cache. We will require "+(144*mMoltenCount)+"L. Looking for ID "+R.getUniqueDataIdentifier()); + FluidStack tempFluid = getFluidFromIngot(R); + if (tempFluid != null) { + //Logger.MACHINE_INFO("[ABS] Got Fluid from Cache."); + mMoltenStack = FluidUtils.getFluidStack(tempFluid, mMoltenCount*144); + } + else { + Logger.MACHINE_INFO("[ABS] Failed to get Fluid from Cache."); + } + } + //If this recipe is enabled and we have a valid molten fluidstack, let's try add this recipe. + if (enabled && isValid(inputs, outputs, inputsF, mMoltenStack)) { + //Build correct input stack + ItemStack[] newInput = new ItemStack[inputs.length+1]; + int l = 1; + for (ItemStack y : inputs) { + newInput[l++] = y; + } + newInput[0] = CI.getNumberedCircuit(19); + //Logger.MACHINE_INFO("[ABS] Generating ABS recipe for "+mMoltenStack.getLocalizedName()+"."); + if (CORE.RA.addBlastSmelterRecipe(newInput, (inputsF.length > 0 ? inputsF[0] : null), mMoltenStack, 100, MathUtils.roundToClosestInt(time*0.8), voltage, special)) { + //Logger.MACHINE_INFO("[ABS] Success."); + mSuccess++; + } + else { + Logger.MACHINE_INFO("[ABS] AS Recipe Failure."); + } + } + else { + if (!enabled) { + Logger.MACHINE_INFO("[ABS] Failure. AS recipe was not enabled."); + } + else { + Logger.MACHINE_INFO("[ABS] Failure. Invalid Inputs or Outputs."); + if (inputs == null) { + Logger.MACHINE_INFO("[ABS] Inputs were not Valid."); + } + else { + Logger.MACHINE_INFO("[ABS] inputs size: "+inputs.length); + } + if (outputs == null) { + Logger.MACHINE_INFO("[ABS] Outputs were not Valid."); + } + else { + Logger.MACHINE_INFO("[ABS] outputs size: "+outputs.length); + } + if (inputsF == null) { + Logger.MACHINE_INFO("[ABS] Input Fluids were not Valid."); + } + else { + Logger.MACHINE_INFO("[ABS] inputsF size: "+inputsF.length); + } + if (mMoltenStack == null) { + Logger.MACHINE_INFO("[ABS] Output Fluid were not Valid."); + } + } + } + } + } + else { + Logger.MACHINE_INFO("[ABS] Failure. Did not find any Alloy Smelter recipes to iterate."); } Logger.INFO("[ABS] Processed "+mSuccess+" recipes."); |