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/Java/gtPlusPlus/xmod | |
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/Java/gtPlusPlus/xmod')
-rw-r--r-- | src/Java/gtPlusPlus/xmod/gregtech/common/render/GTPP_CapeRenderer.java | 120 | ||||
-rw-r--r-- | src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_BlastSmelterGT_GTNH.java | 137 |
2 files changed, 193 insertions, 64 deletions
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."); |