aboutsummaryrefslogtreecommitdiff
path: root/src/Java/gtPlusPlus
diff options
context:
space:
mode:
authorAlkalus <3060479+draknyte1@users.noreply.github.com>2019-03-28 15:20:32 +1000
committerAlkalus <3060479+draknyte1@users.noreply.github.com>2019-03-28 15:20:32 +1000
commit49010b5511dce4228d6e5ef6cf790d83e88c0a59 (patch)
treea948462e4a5ec7835162b88de68cdeb73f51f6fe /src/Java/gtPlusPlus
parentf93d9fb323a5aee2ed5c30320998f26bc177d707 (diff)
downloadGT5-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')
-rw-r--r--src/Java/gtPlusPlus/core/item/base/rods/BaseItemRod.java14
-rw-r--r--src/Java/gtPlusPlus/core/util/minecraft/MaterialUtils.java23
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/GregtechMeta_MultiBlockBase.java215
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialMacerator.java5
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialSifter.java6
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Assembler.java4
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_DustGeneration.java8
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Extruder.java15
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Fluids.java30
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_MaterialProcessing.java2
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Plates.java10
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Recycling.java2
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()+".");
}