aboutsummaryrefslogtreecommitdiff
path: root/src/Java/gtPlusPlus/xmod
diff options
context:
space:
mode:
authorJordan Byrne <draknyte1@hotmail.com>2018-05-13 05:54:50 +1000
committerJordan Byrne <draknyte1@hotmail.com>2018-05-13 05:54:50 +1000
commited4981a9de40674ef26e9f82099a1844938f90c8 (patch)
tree60222f1c9f604bb989447fccbabc11a85d2317ba /src/Java/gtPlusPlus/xmod
parent24f4f3411c5b0823c37a71b376a6531c62384e59 (diff)
downloadGT5-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.java120
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_BlastSmelterGT_GTNH.java137
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.");