diff options
author | Alkalus <3060479+draknyte1@users.noreply.github.com> | 2019-03-28 15:20:32 +1000 |
---|---|---|
committer | Alkalus <3060479+draknyte1@users.noreply.github.com> | 2019-03-28 15:20:32 +1000 |
commit | 49010b5511dce4228d6e5ef6cf790d83e88c0a59 (patch) | |
tree | a948462e4a5ec7835162b88de68cdeb73f51f6fe /src/Java/gtPlusPlus | |
parent | f93d9fb323a5aee2ed5c30320998f26bc177d707 (diff) | |
download | GT5-Unofficial-49010b5511dce4228d6e5ef6cf790d83e88c0a59.tar.gz GT5-Unofficial-49010b5511dce4228d6e5ef6cf790d83e88c0a59.tar.bz2 GT5-Unofficial-49010b5511dce4228d6e5ef6cf790d83e88c0a59.zip |
% Rebalanced all auto-generated material machine recipes to use the correct voltages. Closes #428
$ Re-added Additional output %'s for Multiblocks.
$ Fixed Lathe recipes not giving two small dusts. Closes #449
$ Greatly improved flexibility of Multiblock recipe handling.
Diffstat (limited to 'src/Java/gtPlusPlus')
12 files changed, 268 insertions, 66 deletions
diff --git a/src/Java/gtPlusPlus/core/item/base/rods/BaseItemRod.java b/src/Java/gtPlusPlus/core/item/base/rods/BaseItemRod.java index eaa0905c93..ef3266fe75 100644 --- a/src/Java/gtPlusPlus/core/item/base/rods/BaseItemRod.java +++ b/src/Java/gtPlusPlus/core/item/base/rods/BaseItemRod.java @@ -13,12 +13,12 @@ public class BaseItemRod extends BaseItemComponent{ public BaseItemRod(final Material material) { super(material, BaseItemComponent.ComponentTypes.ROD); - this.addExtruderRecipe(); - this.addLatheRecipe(); + this.addCutterRecipe(material); + this.addLatheRecipe(material); } - private void addExtruderRecipe(){ + private void addCutterRecipe(Material material){ Logger.WARNING("Adding cutter recipe for "+this.materialName+" Rods"); final ItemStack stackStick = this.componentMaterial.getRod(1); final ItemStack stackBolt = this.componentMaterial.getBolt(4); @@ -29,20 +29,20 @@ public class BaseItemRod extends BaseItemComponent{ stackBolt, null, (int) Math.max(this.componentMaterial.getMass() * 2L, 1L), - 4); + material.vVoltageMultiplier); } - private void addLatheRecipe(){ + private void addLatheRecipe(Material material){ Logger.WARNING("Adding recipe for "+this.materialName+" Rod"); ItemStack boltStack = this.componentMaterial.getIngot(1); if (ItemUtils.checkForInvalidItems(boltStack)){ GT_Values.RA.addLatheRecipe( boltStack, ItemUtils.getSimpleStack(this), - null, + material.getSmallDust(2), (int) Math.max(this.componentMaterial.getMass() / 8L, 1L), - 4); + material.vVoltageMultiplier); } } diff --git a/src/Java/gtPlusPlus/core/util/minecraft/MaterialUtils.java b/src/Java/gtPlusPlus/core/util/minecraft/MaterialUtils.java index a7fc4507e8..743e4bedf1 100644 --- a/src/Java/gtPlusPlus/core/util/minecraft/MaterialUtils.java +++ b/src/Java/gtPlusPlus/core/util/minecraft/MaterialUtils.java @@ -1,26 +1,15 @@ package gtPlusPlus.core.util.minecraft; -import java.util.ArrayList; import java.util.HashMap; -import java.util.HashSet; -import java.util.Iterator; import java.util.LinkedList; import java.util.List; -import java.util.ListIterator; import java.util.Map; -import java.util.Optional; -import java.util.Set; -import java.util.concurrent.ConcurrentSkipListSet; -import java.util.function.Function; -import java.util.stream.Collectors; -import org.apache.commons.lang3.reflect.FieldUtils; - -import com.google.common.collect.Lists; - -import net.minecraft.item.ItemStack; - -import gregtech.api.enums.*; +import gregtech.api.enums.Dyes; +import gregtech.api.enums.Element; +import gregtech.api.enums.Materials; +import gregtech.api.enums.OrePrefixes; +import gregtech.api.enums.TextureSet; import gregtech.api.util.GT_Utility; import gtPlusPlus.api.objects.Logger; import gtPlusPlus.api.objects.data.AutoMap; @@ -33,8 +22,8 @@ import gtPlusPlus.core.material.state.MaterialState; import gtPlusPlus.core.util.Utils; import gtPlusPlus.core.util.data.EnumUtils; import gtPlusPlus.core.util.data.StringUtils; -import gtPlusPlus.core.util.math.MathUtils; import gtPlusPlus.core.util.reflect.ReflectionUtils; +import net.minecraft.item.ItemStack; import net.minecraftforge.oredict.OreDictionary; public class MaterialUtils { diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/GregtechMeta_MultiBlockBase.java b/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/GregtechMeta_MultiBlockBase.java index 9393ca08be..d188202324 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/GregtechMeta_MultiBlockBase.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/GregtechMeta_MultiBlockBase.java @@ -476,6 +476,62 @@ GT_MetaTileEntity_MultiBlockBase { } return true; } + + private int boostOutput(int aAmount) { + if (aAmount <= 0) { + return 10000; + } + if (aAmount <= 250) { + aAmount += MathUtils.randInt(Math.max(aAmount/2, 1), aAmount*2); + } + else if (aAmount <= 500) { + aAmount += MathUtils.randInt(Math.max(aAmount/2, 1), aAmount*2); + } + else if (aAmount <= 750) { + aAmount += MathUtils.randInt(Math.max(aAmount/2, 1), aAmount*2); + } + else if (aAmount <= 1000) { + aAmount = (aAmount*2); + } + else if (aAmount <= 1500) { + aAmount = (aAmount*2); + } + else if (aAmount <= 2000) { + aAmount = (int) (aAmount*1.5); + } + else if (aAmount <= 3000) { + aAmount = (int) (aAmount*1.5); + } + else if (aAmount <= 4000) { + aAmount = (int) (aAmount*1.2); + } + else if (aAmount <= 5000) { + aAmount = (int) (aAmount*1.2); + } + else if (aAmount <= 7000) { + aAmount = (int) (aAmount*1.2); + } + else if (aAmount <= 9000) { + aAmount = (int) (aAmount*1.1); + } + return Math.min(10000, aAmount); + } + + public GT_Recipe generateAdditionalOutputForRecipe(GT_Recipe aRecipe) { + AutoMap<Integer> aNewChances = new AutoMap<Integer>(); + for (int chance : aRecipe.mChances) { + aNewChances.put(boostOutput(chance)); + } + GT_Recipe aClone = aRecipe.copy(); + int[] aTemp = new int[aNewChances.size()]; + int slot = 0; + for (int g : aNewChances) { + aTemp[slot] = g; + slot++; + } + aClone.mChances = aTemp; + return aClone; + } /** * A Static {@link Method} object which holds the current status of logging. @@ -550,8 +606,161 @@ GT_MetaTileEntity_MultiBlockBase { ItemStack[] aItemInputs, FluidStack[] aFluidInputs, int aMaxParallelRecipes, int aEUPercent, int aSpeedBonusPercent, int aOutputChanceRoll, GT_Recipe aRecipe) { + + long tVoltage = getMaxInputVoltage(); + byte tTier = (byte) Math.max(1, GT_Utility.getTier(tVoltage)); + + GT_Recipe tRecipe = aRecipe != null ? aRecipe : findRecipe( + getBaseMetaTileEntity(), mLastRecipe, false, + gregtech.api.enums.GT_Values.V[tTier], aFluidInputs, aItemInputs); + + if (tRecipe == null) { + log("BAD RETURN - 1"); + return false; + } + + //Boost output if machine implements this strategy + if (doesMachineBoostOutput()) { + return checkRecipeBoostedOutputs(aItemInputs, aFluidInputs, aMaxParallelRecipes, aEUPercent, aSpeedBonusPercent, aOutputChanceRoll, tRecipe); + } + else { + return checkRecipeGeneric(tRecipe, aSpeedBonusPercent, aOutputChanceRoll); + } + + } + + + /* + * Here we handle recipe boosting, which grants additional output %'s to recipes that do not have 100%. + */ + + private boolean mHasBoostedCurrentRecipe = false; + private GT_Recipe mBoostedRecipe = null; + private ItemStack[] mInputVerificationForBoosting = null; + + /** + * Does this machine boost it's output? + * @return - if true, gives additional % to output chances. + */ + protected boolean doesMachineBoostOutput() { + return false; + } + + /** + * Processes recipes but provides a bonus to the output % of items if they are < 100%. + * + * @param aItemInputs + * @param aFluidInputs + * @param aMaxParallelRecipes + * @param aEUPercent + * @param aSpeedBonusPercent + * @param aOutputChanceRoll + * @param aRecipe + * @return + */ + public boolean checkRecipeBoostedOutputs( + ItemStack[] aItemInputs, FluidStack[] aFluidInputs, + int aMaxParallelRecipes, int aEUPercent, + int aSpeedBonusPercent, int aOutputChanceRoll, GT_Recipe aRecipe) { + + long tVoltage = getMaxInputVoltage(); + byte tTier = (byte) Math.max(1, GT_Utility.getTier(tVoltage)); + + log("Running checkRecipeGeneric(0)"); + + GT_Recipe tRecipe = aRecipe != null ? aRecipe : findRecipe( + getBaseMetaTileEntity(), mLastRecipe, false, + gregtech.api.enums.GT_Values.V[tTier], aFluidInputs, aItemInputs); + + log("Running checkRecipeGeneric(1)"); + + //First we check whether or not we have an input cached for boosting. + //If not, we set it to the current recipe. + //If we do, we compare it against the current recipe, if thy are the same, we try return a boosted recipe, if not, we boost a new recipe. + boolean isRecipeInputTheSame = false; + + //No cached recipe inputs, assume first run. + if (mInputVerificationForBoosting == null) { + mInputVerificationForBoosting = tRecipe.mInputs; + isRecipeInputTheSame = true; + } + //If the inputs match, we are good. + else { + if (tRecipe.mInputs == mInputVerificationForBoosting) { + isRecipeInputTheSame = true; + } + else { + isRecipeInputTheSame = false; + } + } + + //Inputs are the same, let's see if there's a boosted version. + if (isRecipeInputTheSame) { + //Yes, let's just set that as the recipe + if (mHasBoostedCurrentRecipe && mBoostedRecipe != null) { + tRecipe = mBoostedRecipe; + } + //We have yet to generate a new boosted recipe + else { + GT_Recipe aBoostedRecipe = this.generateAdditionalOutputForRecipe(tRecipe); + if (aBoostedRecipe != null) { + mBoostedRecipe = aBoostedRecipe; + mHasBoostedCurrentRecipe = true; + tRecipe = mBoostedRecipe; + } + } + } + //We have changed inputs, so we should generate a new boosted recipe + else { + GT_Recipe aBoostedRecipe = this.generateAdditionalOutputForRecipe(tRecipe); + if (aBoostedRecipe != null) { + mBoostedRecipe = aBoostedRecipe; + mHasBoostedCurrentRecipe = true; + tRecipe = mBoostedRecipe; + } + } + + //Bad modify, let's just use the original recipe. + if (!mHasBoostedCurrentRecipe || mBoostedRecipe == null) { + tRecipe = aRecipe != null ? aRecipe : findRecipe( + getBaseMetaTileEntity(), mLastRecipe, false, + gregtech.api.enums.GT_Values.V[tTier], aFluidInputs, aItemInputs); + } + + // Remember last recipe - an optimization for findRecipe() + this.mLastRecipe = tRecipe; + + if (tRecipe == null) { + log("BAD RETURN - 1"); + return false; + } + + // -- Try not to fail after this point - inputs have already been consumed! -- + return checkRecipeGeneric(tRecipe, aSpeedBonusPercent, aOutputChanceRoll); + } + + + /** + * Directly processes a recipe from a non-generic recipe handler + * @param aRecipe - A pre-modified GT_Recipe + * @return - Did we process? + */ + public boolean checkRecipeGeneric(GT_Recipe tRecipe, int rSpeedBonus, int aMaxOutputChance) { // Based on the Processing Array. A bit overkill, but very flexible. + if (tRecipe == null) { + return false; + } + + + ItemStack[] aItemInputs = tRecipe.mInputs; + FluidStack[] aFluidInputs = tRecipe.mFluidInputs; + int aMaxParallelRecipes = getMaxParallelRecipes(); + int aEUPercent = this.getEuDiscountForParallelism(); + int aSpeedBonusPercent = rSpeedBonus; + int aOutputChanceRoll = aMaxOutputChance; + + //Control Core to control the Multiblocks behaviour. int aControlCoreTier = getControlCoreTier(); @@ -562,7 +771,6 @@ GT_MetaTileEntity_MultiBlockBase { return false; } - // Reset outputs and progress stats this.mEUt = 0; this.mMaxProgresstime = 0; @@ -579,11 +787,6 @@ GT_MetaTileEntity_MultiBlockBase { return false; } - - GT_Recipe tRecipe = aRecipe != null ? aRecipe : findRecipe( - getBaseMetaTileEntity(), mLastRecipe, false, - gregtech.api.enums.GT_Values.V[tTier], aFluidInputs, aItemInputs); - log("Running checkRecipeGeneric(1)"); // Remember last recipe - an optimization for findRecipe() this.mLastRecipe = tRecipe; diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialMacerator.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialMacerator.java index 93593ad0a8..3087bf4703 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialMacerator.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialMacerator.java @@ -113,6 +113,11 @@ extends GregtechMeta_MultiBlockBase { } @Override + protected boolean doesMachineBoostOutput() { + return true; + } + + @Override public int getMaxParallelRecipes() { final long tVoltage = getMaxInputVoltage(); final byte tTier = (byte) Math.max(1, GT_Utility.getTier(tVoltage)); diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialSifter.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialSifter.java index bd36e4429e..61cfbcc5c7 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialSifter.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialSifter.java @@ -12,7 +12,6 @@ import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Outpu import gregtech.api.objects.GT_RenderedTexture; import gregtech.api.util.GT_Recipe; import gregtech.api.util.GT_Utility; -import gtPlusPlus.api.objects.Logger; import gtPlusPlus.core.block.ModBlocks; import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.GregtechMeta_MultiBlockBase; import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock; @@ -120,6 +119,11 @@ extends GregtechMeta_MultiBlockBase { } @Override + protected boolean doesMachineBoostOutput() { + return true; + } + + @Override public int getMaxParallelRecipes() { return (4 * GT_Utility.getTier(this.getMaxInputVoltage())); } diff --git a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Assembler.java b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Assembler.java index 66941849f8..d7244919d8 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Assembler.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Assembler.java @@ -39,7 +39,7 @@ public class RecipeGen_Assembler extends RecipeGen_Base { ItemUtils.getGregtechCircuit(4), material.getFrameBox(1), 60, - 8); + material.vVoltageMultiplier); //Rotor if (ItemUtils.checkForInvalidItems(new ItemStack[] {material.getPlate(1), material.getRing(1), material.getRotor(1)})) @@ -48,7 +48,7 @@ public class RecipeGen_Assembler extends RecipeGen_Base { material.getRing(1), material.getRotor(1), 240, - 24); + material.vVoltageMultiplier); } diff --git a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_DustGeneration.java b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_DustGeneration.java index ecdc3af1db..461ac256f4 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_DustGeneration.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_DustGeneration.java @@ -47,7 +47,7 @@ public class RecipeGen_DustGeneration extends RecipeGen_Base { } private void generateRecipes(final Material material, final boolean disableOptional){ - final int tVoltageMultiplier = material.getMeltingPointK() >= 2800 ? 60 : 15; + final int tVoltageMultiplier = material.vVoltageMultiplier; Logger.WARNING("Generating Shaped Crafting recipes for "+material.getLocalizedName()); //TODO @@ -212,7 +212,7 @@ public class RecipeGen_DustGeneration extends RecipeGen_Base { null, outputStacks, (int) Math.max(material.getMass() * 2L * 1, 1), - 2 * material.vVoltageMultiplier)) //Was 6, but let's try 2. This makes Potin LV, for example. + material.vVoltageMultiplier)) //Was 6, but let's try 2. This makes Potin LV, for example. { Logger.WARNING("Dust Mixer Recipe: "+material.getLocalizedName()+" - Success"); } @@ -318,7 +318,7 @@ public class RecipeGen_DustGeneration extends RecipeGen_Base { null, outputStacks, (int) Math.max(material.getMass() * 2L * 1, 1), - 2 * material.vVoltageMultiplier)) //Was 6, but let's try 2. This makes Potin LV, for example. + material.vVoltageMultiplier)) //Was 6, but let's try 2. This makes Potin LV, for example. { Logger.WARNING("Dust Mixer Recipe: "+material.getLocalizedName()+" - Success"); return true; @@ -421,7 +421,7 @@ public class RecipeGen_DustGeneration extends RecipeGen_Base { if (aSlot < 2) { aSlot = 2; } - long aVoltage = MaterialUtils.getVoltageForTier(aSlot); + long aVoltage = aMatInfo.vVoltageMultiplier; return GT_Values.RA.addBlastRecipe( input1, diff --git a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Extruder.java b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Extruder.java index 9315826495..56f65670a8 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Extruder.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Extruder.java @@ -57,7 +57,7 @@ public class RecipeGen_Extruder extends RecipeGen_Base { shape_Ingot, material.getIngot(9), (int) Math.max(material.getMass() * 2L * 1, 1), - 4 * material.vVoltageMultiplier)){ + material.vVoltageMultiplier)){ Logger.WARNING("Extruder Ingot Recipe: "+material.getLocalizedName()+" - Success"); } else { @@ -70,7 +70,7 @@ public class RecipeGen_Extruder extends RecipeGen_Base { shape_Block, material.getBlock(1), (int) Math.max(material.getMass() * 2L * 1, 1), - 8 * material.vVoltageMultiplier)){ + material.vVoltageMultiplier)){ Logger.WARNING("Extruder Block Recipe: "+material.getLocalizedName()+" - Success"); } else { @@ -85,7 +85,8 @@ public class RecipeGen_Extruder extends RecipeGen_Base { itemIngot, shape_Plate, itemPlate, - 10, 4 * tVoltageMultiplier)){ + 10, + material.vVoltageMultiplier)){ Logger.WARNING("Extruder Plate Recipe: "+material.getLocalizedName()+" - Success"); } else { @@ -100,7 +101,7 @@ public class RecipeGen_Extruder extends RecipeGen_Base { shape_Ring, material.getRing(4), (int) Math.max(material.getMass() * 2L * 1, 1), - 6 * material.vVoltageMultiplier)){ + material.vVoltageMultiplier)){ Logger.WARNING("Extruder Ring Recipe: "+material.getLocalizedName()+" - Success"); } else { @@ -117,7 +118,7 @@ public class RecipeGen_Extruder extends RecipeGen_Base { shape_Gear, itemGear, (int) Math.max(material.getMass() * 5L, 1), - 8 * material.vVoltageMultiplier)){ + material.vVoltageMultiplier)){ Logger.WARNING("Extruder Gear Recipe: "+material.getLocalizedName()+" - Success"); } else { @@ -133,7 +134,7 @@ public class RecipeGen_Extruder extends RecipeGen_Base { shape_Rod, material.getRod(2), (int) Math.max(material.getMass() * 2L * 1, 1), - 6 * material.vVoltageMultiplier)){ + material.vVoltageMultiplier)){ Logger.WARNING("Extruder Rod Recipe: "+material.getLocalizedName()+" - Success"); } else { @@ -149,7 +150,7 @@ public class RecipeGen_Extruder extends RecipeGen_Base { shape_Bolt, material.getBolt(8), (int) Math.max(material.getMass() * 2L * 1, 1), - 6 * material.vVoltageMultiplier)){ + material.vVoltageMultiplier)){ Logger.WARNING("Extruder Bolt Recipe: "+material.getLocalizedName()+" - Success"); } else { diff --git a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Fluids.java b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Fluids.java index 9fe2aeb12e..b2236fdd6c 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Fluids.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Fluids.java @@ -53,7 +53,7 @@ public class RecipeGen_Fluids extends RecipeGen_Base { material.getFluid(144), // Fluid Output 0, // Chance 1 * 20, // Duration - 16 // Eu Tick + material.vVoltageMultiplier // Eu Tick )) { Logger.WARNING("144l fluid extractor from 1 ingot Recipe: " + material.getLocalizedName() + " - Success"); @@ -69,7 +69,7 @@ public class RecipeGen_Fluids extends RecipeGen_Base { material.getFluid(144), // Fluid Output 0, // Chance 1 * 20, // Duration - 16 // Eu Tick + material.vVoltageMultiplier // Eu Tick )) { Logger.WARNING("144l fluid extractor from 1 plate Recipe: " + material.getLocalizedName() + " - Success"); @@ -85,7 +85,7 @@ public class RecipeGen_Fluids extends RecipeGen_Base { material.getFluid(288), // Fluid Output 0, // Chance 1 * 20, // Duration - 16 // Eu Tick + material.vVoltageMultiplier // Eu Tick )) { Logger.WARNING("144l fluid extractor from 1 double plate Recipe: " + material.getLocalizedName() + " - Success"); @@ -101,7 +101,7 @@ public class RecipeGen_Fluids extends RecipeGen_Base { material.getFluid(16), // Fluid Output 0, // Chance 16, // Duration - 8 // Eu Tick + material.vVoltageMultiplier // Eu Tick )) { Logger.WARNING("16l fluid extractor from 1 nugget Recipe: " + material.getLocalizedName() + " - Success"); @@ -117,7 +117,7 @@ public class RecipeGen_Fluids extends RecipeGen_Base { material.getFluid(144 * 9), // Fluid Output 0, // Chance 288, // Duration - 16 // Eu Tick + material.vVoltageMultiplier // Eu Tick )) { Logger.WARNING((144 * 9) + "l fluid extractor from 1 block Recipe: " + material.getLocalizedName() + " - Success"); @@ -136,7 +136,7 @@ public class RecipeGen_Fluids extends RecipeGen_Base { material.getFluid(144), // Fluid Input material.getIngot(1), // output 32, // Duration - 8 // Eu Tick + material.vVoltageMultiplier // Eu Tick )) { Logger.WARNING( "144l fluid molder for 1 ingot Recipe: " + material.getLocalizedName() + " - Success"); @@ -151,7 +151,7 @@ public class RecipeGen_Fluids extends RecipeGen_Base { material.getFluid(144), // Fluid Input material.getPlate(1), // output 32, // Duration - 8 // Eu Tick + material.vVoltageMultiplier // Eu Tick )) { Logger.WARNING( "144l fluid molder for 1 plate Recipe: " + material.getLocalizedName() + " - Success"); @@ -166,7 +166,7 @@ public class RecipeGen_Fluids extends RecipeGen_Base { material.getFluid(16), // Fluid Input material.getNugget(1), // output 16, // Duration - 4 // Eu Tick + material.vVoltageMultiplier // Eu Tick )) { Logger.WARNING( "16l fluid molder for 1 nugget Recipe: " + material.getLocalizedName() + " - Success"); @@ -181,7 +181,7 @@ public class RecipeGen_Fluids extends RecipeGen_Base { material.getFluid(576), // Fluid Input material.getGear(1), // output 128, // Duration - 8 // Eu Tick + material.vVoltageMultiplier // Eu Tick )) { Logger.WARNING( "576l fluid molder for 1 gear Recipe: " + material.getLocalizedName() + " - Success"); @@ -195,7 +195,7 @@ public class RecipeGen_Fluids extends RecipeGen_Base { material.getFluid(144 * 9), // Fluid Input material.getBlock(1), // output 288, // Duration - 16 // Eu Tick + material.vVoltageMultiplier // Eu Tick )) { Logger.WARNING((144 * 9) + "l fluid molder from 1 block Recipe: " + material.getLocalizedName() + " - Success"); @@ -227,7 +227,7 @@ public class RecipeGen_Fluids extends RecipeGen_Base { material.getFluid(72), // Fluid Input material.getRod(1), // output 150, // Duration - 24 // Eu Tick + material.vVoltageMultiplier // Eu Tick )) { Logger.WARNING((144 * 9) + "l fluid molder from 1 rod Recipe: " + material.getLocalizedName() + " - Success"); @@ -243,7 +243,7 @@ public class RecipeGen_Fluids extends RecipeGen_Base { material.getFluid(144), // Fluid Input material.getLongRod(1), // output 300, // Duration - 24 // Eu Tick + material.vVoltageMultiplier // Eu Tick )) { Logger.WARNING((144 * 9) + "l fluid molder from 1 rod long Recipe: " + material.getLocalizedName() + " - Success"); @@ -258,7 +258,7 @@ public class RecipeGen_Fluids extends RecipeGen_Base { material.getFluid(18), // Fluid Input material.getBolt(1), // output 50, // Duration - 6 // Eu Tick + material.vVoltageMultiplier // Eu Tick )) { Logger.WARNING((144 * 9) + "l fluid molder from 1 bolt Recipe: " + material.getLocalizedName() + " - Success"); @@ -273,7 +273,7 @@ public class RecipeGen_Fluids extends RecipeGen_Base { material.getFluid(18), // Fluid Input material.getScrew(1), // output 50, // Duration - 6 // Eu Tick + material.vVoltageMultiplier // Eu Tick )) { Logger.WARNING((144 * 9) + "l fluid molder from 1 screw Recipe: " + material.getLocalizedName() + " - Success"); @@ -288,7 +288,7 @@ public class RecipeGen_Fluids extends RecipeGen_Base { material.getFluid(36), // Fluid Input material.getRing(1), // output 100, // Duration - 12 // Eu Tick + material.vVoltageMultiplier // Eu Tick )) { Logger.WARNING((144 * 9) + "l fluid molder from 1 ring Recipe: " + material.getLocalizedName() + " - Success"); diff --git a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_MaterialProcessing.java b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_MaterialProcessing.java index 07f806c9c9..90bd1d8f1a 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_MaterialProcessing.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_MaterialProcessing.java @@ -42,7 +42,7 @@ public class RecipeGen_MaterialProcessing extends RecipeGen_Base { if (material.getMaterialComposites().length > 1){ Logger.MATERIALS("[Recipe Generator Debug] ["+material.getLocalizedName()+"]"); - final int tVoltageMultiplier = material.getMeltingPointK() >= 2800 ? 60 : 15; + final int tVoltageMultiplier = material.vVoltageMultiplier; int[] partSizes = new int[99]; if (material.vSmallestRatio != null) { partSizes = new int[material.vSmallestRatio.length]; diff --git a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Plates.java b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Plates.java index 15e64534f9..f705ac9673 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Plates.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Plates.java @@ -51,7 +51,7 @@ public class RecipeGen_Plates extends RecipeGen_Base { ingotStackTwo, plate_Single, (int) Math.max(material.getMass(), 1L), - 16)){ + material.vVoltageMultiplier)){ Logger.WARNING("Forge Hammer Recipe: "+material.getLocalizedName()+" - Success"); } else { @@ -63,7 +63,7 @@ public class RecipeGen_Plates extends RecipeGen_Base { ingotStackOne, plate_Single, (int) Math.max(material.getMass() * 1L, 1L), - 24)){ + material.vVoltageMultiplier)){ Logger.WARNING("Bender Recipe: "+material.getLocalizedName()+" - Success"); } else { @@ -76,7 +76,7 @@ public class RecipeGen_Plates extends RecipeGen_Base { shape_Mold, plate_Single, (int) Math.max(material.getMass() * 2L, 1L), - 2 * tVoltageMultiplier)){ + material.vVoltageMultiplier)){ Logger.WARNING("Alloy Smelter Recipe: "+material.getLocalizedName()+" - Success"); } else { @@ -90,7 +90,7 @@ public class RecipeGen_Plates extends RecipeGen_Base { ingotStackTwo, plate_Double, (int) Math.max(material.getMass() * 2L, 1L), - 96)){ + material.vVoltageMultiplier)){ Logger.WARNING("Bender Recipe: "+material.getLocalizedName()+" - Success"); } else { @@ -102,7 +102,7 @@ public class RecipeGen_Plates extends RecipeGen_Base { plate_SingleTwo, plate_Double, (int) Math.max(material.getMass() * 2L, 1L), - 96)){ + material.vVoltageMultiplier)){ Logger.WARNING("Bender Recipe: "+material.getLocalizedName()+" - Success"); } else { diff --git a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Recycling.java b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Recycling.java index 180a684fb8..f0c2785e1b 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Recycling.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Recycling.java @@ -139,7 +139,7 @@ public class RecipeGen_Recycling implements Runnable { //Fluid Extractor if (ItemUtils.checkForInvalidItems(tempStack)) { // mValidItems[mSlotIndex++] = tempStack; - if ((mDust != null) && GT_Values.RA.addFluidExtractionRecipe(tempStack, null, material.getFluid(mFluidAmount), 0, 30, 8)) { + if ((mDust != null) && GT_Values.RA.addFluidExtractionRecipe(tempStack, null, material.getFluid(mFluidAmount), 0, 30, material.vVoltageMultiplier)) { Logger.WARNING("Fluid Recycle Recipe: " + material.getLocalizedName() + " - Success - Recycle " + tempStack.getDisplayName() + " and obtain " + mFluidAmount+"mb of "+material.getFluid(1).getLocalizedName()+"."); } |