aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--README.md3
-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
13 files changed, 270 insertions, 67 deletions
diff --git a/README.md b/README.md
index c9baad7f79..5b25d656db 100644
--- a/README.md
+++ b/README.md
@@ -2,6 +2,7 @@
## Current Build Status
### CircleCI - [![CircleCI](https://circleci.com/gh/alkcorp/GTplusplus/tree/master.svg?style=svg)](https://circleci.com/gh/alkcorp/GTplusplus/tree/master)
+Click the CI button for the latest BETA builds! Please sign in with Github to find the artefacts (builds) located within each job.
### Discord
[Join the GT++ Channel - Click here](https://discord.gg/YdXJbgb)
@@ -21,4 +22,4 @@ All rights reserved.
Distribution of the software in any form is only allowed with explicit, prior permission from the owner.
## Derivative Works
-These modifications are provided freely and may be decompiled and modified for private use, either with a decompiler or a bytecode editor. Public use of modified or derivative versions is prohibited unless you are given specific written permission. Distribution of the source code, modified (including custom compilation) or otherwise, is prohibited by anyone except the author, except in the case of a derivative mod that has been given prior approval. Creating derivative works for commercial use is expressly forbidden and the owner reserves full right to seek damages. \ No newline at end of file
+These modifications are provided freely and may be decompiled and modified for private use, either with a decompiler or a bytecode editor. Public use of modified or derivative versions is prohibited unless you are given specific written permission. Distribution of the source code, modified (including custom compilation) or otherwise, is prohibited by anyone except the author, except in the case of a derivative mod that has been given prior approval. Creating derivative works for commercial use is expressly forbidden and the owner reserves full right to seek damages.
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()+".");
}