aboutsummaryrefslogtreecommitdiff
path: root/src/Java/gtPlusPlus/xmod/gregtech/loaders
diff options
context:
space:
mode:
authorMartin Robertz <dream-master@gmx.net>2021-12-12 19:09:46 +0100
committerGitHub <noreply@github.com>2021-12-12 19:09:46 +0100
commit896143b96132f5ac54aa8d8f7386f27487e5e530 (patch)
treed61c1bced93b36545873414562b1dfd80718f496 /src/Java/gtPlusPlus/xmod/gregtech/loaders
parent9cbfc7a1bacdbe908632e0fff9ec5ad7f119e563 (diff)
parent35585d4556d85a1a9cda33cdd39b5b257e3e5215 (diff)
downloadGT5-Unofficial-896143b96132f5ac54aa8d8f7386f27487e5e530.tar.gz
GT5-Unofficial-896143b96132f5ac54aa8d8f7386f27487e5e530.tar.bz2
GT5-Unofficial-896143b96132f5ac54aa8d8f7386f27487e5e530.zip
Merge pull request #50 from GTNewHorizons/gtnh-milling
Milling/Nuclear Sciences revamp + Lots of minor fixes
Diffstat (limited to 'src/Java/gtPlusPlus/xmod/gregtech/loaders')
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_BlastSmelter.java20
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_DustGeneration.java71
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Fluids.java34
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_MaterialProcessing.java3
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_MetalRecipe.java119
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_MultisUsingFluidInsteadOfCells.java5
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Plasma.java42
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Recycling.java4
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_GTNH.java22
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_LFTR.java177
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_Nuclear.java695
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_NuclearFuelProcessing.java372
12 files changed, 1448 insertions, 116 deletions
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_BlastSmelter.java b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_BlastSmelter.java
index 9e00ada163..9e58d486d3 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_BlastSmelter.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_BlastSmelter.java
@@ -131,13 +131,13 @@ public class RecipeGen_BlastSmelter extends RecipeGen_Base {
//Generate Recipes for all singular materials that can be made molten.
if (hasMoreInputThanACircuit){
if (M.requiresBlastFurnace()) {
- if (CORE.RA.addBlastSmelterRecipe(tItemStackTest, M.getFluid(fluidAmount), 100, (duration/(mTotalPartsCounter > 0 ? mTotalPartsCounter : 1)), (int) aVoltage)){
+ if (CORE.RA.addBlastSmelterRecipe(tItemStackTest, M.getFluidStack(fluidAmount), 100, (duration/(mTotalPartsCounter > 0 ? mTotalPartsCounter : 1)), (int) aVoltage)){
Logger.WARNING("[BAS] Success.");
Logger.WARNING("[BAS] Success, Also added a Fluid solidifier recipe.");
- if (GT_Values.RA.addFluidExtractionRecipe(M.getIngot(1), null, M.getFluid(144), 100, duration, 120)){
+ if (GT_Values.RA.addFluidExtractionRecipe(M.getIngot(1), null, M.getFluidStack(144), 100, duration, 120)){
Logger.WARNING("[BAS] Success, Also added a Fluid Extractor recipe.");
}
- if (GT_Values.RA.addFluidExtractionRecipe(M.getNugget(1), null, M.getFluid(16), 100, duration/9, 120)){
+ if (GT_Values.RA.addFluidExtractionRecipe(M.getNugget(1), null, M.getFluidStack(16), 100, duration/9, 120)){
Logger.WARNING("[BAS] Success, Also added a Fluid Extractor recipe.");
}
/*if (GT_Values.RA.addFluidExtractionRecipe(M.getSmallDust(1), null, M.getFluid(36), 100, duration/4, 120)){
@@ -153,14 +153,14 @@ public class RecipeGen_BlastSmelter extends RecipeGen_Base {
}
}
else {
- if (CORE.RA.addBlastSmelterRecipe(tItemStackTest, M.getFluid(fluidAmount), 100, duration/(mTotalPartsCounter > 0 ? mTotalPartsCounter : 1)/2, (int) aVoltage)){
+ if (CORE.RA.addBlastSmelterRecipe(tItemStackTest, M.getFluidStack(fluidAmount), 100, duration/(mTotalPartsCounter > 0 ? mTotalPartsCounter : 1)/2, (int) aVoltage)){
Logger.WARNING("[BAS] Success.");
- if (GT_Values.RA.addFluidSolidifierRecipe(ItemList.Shape_Mold_Ingot.get(0), M.getFluid(144), M.getIngot(1), duration/2, 60)){
+ if (GT_Values.RA.addFluidSolidifierRecipe(ItemList.Shape_Mold_Ingot.get(0), M.getFluidStack(144), M.getIngot(1), duration/2, 60)){
Logger.WARNING("[BAS] Success, Also added a Fluid solidifier recipe.");
- if (GT_Values.RA.addFluidExtractionRecipe(M.getIngot(1), null, M.getFluid(144), 100, duration/2, 60)){
+ if (GT_Values.RA.addFluidExtractionRecipe(M.getIngot(1), null, M.getFluidStack(144), 100, duration/2, 60)){
Logger.WARNING("[BAS] Success, Also added a Fluid Extractor recipe.");
}
- if (GT_Values.RA.addFluidExtractionRecipe(M.getNugget(1), null, M.getFluid(16), 100, duration/2/9, 60)){
+ if (GT_Values.RA.addFluidExtractionRecipe(M.getNugget(1), null, M.getFluidStack(16), 100, duration/2/9, 60)){
Logger.WARNING("[BAS] Success, Also added a Fluid Extractor recipe.");
}
/*if (GT_Values.RA.addFluidExtractionRecipe(M.getSmallDust(1), null, M.getFluid(36), 100, duration/2/4, 60)){
@@ -212,7 +212,7 @@ public class RecipeGen_BlastSmelter extends RecipeGen_Base {
final int xr = r;
if ((xr > 0) && (xr <= 100)){
final int mathmatics = (r*1000);
- componentsFluid = FluidUtils.getFluidStack(M.getComposites().get(irc).getStackMaterial().getFluid(mathmatics), mathmatics);
+ componentsFluid = FluidUtils.getFluidStack(M.getComposites().get(irc).getStackMaterial().getFluidStack(mathmatics), mathmatics);
}
}
else {
@@ -254,7 +254,7 @@ public class RecipeGen_BlastSmelter extends RecipeGen_Base {
//Adds Recipe
if (M.requiresBlastFurnace()) {
- if (CORE.RA.addBlastSmelterRecipe(components, componentsFluid, M.getFluid(fluidAmount), 100, duration, (int) aVoltage)){
+ if (CORE.RA.addBlastSmelterRecipe(components, componentsFluid, M.getFluidStack(fluidAmount), 100, duration, (int) aVoltage)){
Logger.WARNING("[BAS] Success.");
}
else {
@@ -262,7 +262,7 @@ public class RecipeGen_BlastSmelter extends RecipeGen_Base {
}
}
else {
- if (CORE.RA.addBlastSmelterRecipe(components, componentsFluid, M.getFluid(fluidAmount), 100, duration, (int) aVoltage/2)){
+ if (CORE.RA.addBlastSmelterRecipe(components, componentsFluid, M.getFluidStack(fluidAmount), 100, duration, (int) aVoltage/2)){
Logger.WARNING("[BAS] Success.");
}
else {
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_DustGeneration.java b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_DustGeneration.java
index a346464eeb..24c8eb488f 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_DustGeneration.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_DustGeneration.java
@@ -38,71 +38,72 @@ public class RecipeGen_DustGeneration extends RecipeGen_Base {
this.toGenerate = M;
this.disableOptional = O;
mRecipeGenMap.add(this);
- }
-
- @Override
- public void run() {
- generateRecipes(this.toGenerate, this.disableOptional);
- }
-
- private void generateRecipes(final Material material, final boolean disableOptional){
-
- Logger.WARNING("Generating Shaped Crafting recipes for "+material.getLocalizedName());
-
- final ItemStack normalDust = material.getDust(1);
- final ItemStack smallDust = material.getSmallDust(1);
- final ItemStack tinyDust = material.getTinyDust(1);
-
- final ItemStack[] inputStacks = material.getMaterialComposites();
- final ItemStack outputStacks = material.getDust(material.smallestStackSizeWhenProcessing);
-
-
- if (ItemUtils.checkForInvalidItems(tinyDust) && ItemUtils.checkForInvalidItems(normalDust)) {
+ final ItemStack normalDust = M.getDust(1);
+ final ItemStack smallDust = M.getSmallDust(1);
+ final ItemStack tinyDust = M.getTinyDust(1);
+ if (tinyDust != null && normalDust != null) {
if (RecipeUtils.addShapedRecipe(
- tinyDust, tinyDust, tinyDust,
+ tinyDust, tinyDust, tinyDust,
tinyDust, tinyDust, tinyDust,
tinyDust, tinyDust, tinyDust,
normalDust)){
- Logger.WARNING("9 Tiny dust to 1 Dust Recipe: "+material.getLocalizedName()+" - Success");
+ Logger.INFO("9 Tiny dust to 1 Dust Recipe: "+M.getLocalizedName()+" - Success");
}
else {
- Logger.WARNING("9 Tiny dust to 1 Dust Recipe: "+material.getLocalizedName()+" - Failed");
+ Logger.INFO("9 Tiny dust to 1 Dust Recipe: "+M.getLocalizedName()+" - Failed");
}
if (RecipeUtils.addShapedRecipe(
normalDust, null, null,
null, null, null,
null, null, null,
- material.getTinyDust(9))){
- Logger.WARNING("9 Tiny dust from 1 Recipe: "+material.getLocalizedName()+" - Success");
+ M.getTinyDust(9))){
+ Logger.INFO("9 Tiny dust from 1 Recipe: "+M.getLocalizedName()+" - Success");
}
else {
- Logger.WARNING("9 Tiny dust from 1 Recipe: "+material.getLocalizedName()+" - Failed");
+ Logger.INFO("9 Tiny dust from 1 Recipe: "+M.getLocalizedName()+" - Failed");
}
}
- if (ItemUtils.checkForInvalidItems(smallDust) && ItemUtils.checkForInvalidItems(normalDust)) {
+ if (smallDust != null && normalDust != null) {
if (RecipeUtils.addShapedRecipe(
smallDust, smallDust, null,
smallDust, smallDust, null,
null, null, null,
normalDust)){
- Logger.WARNING("4 Small dust to 1 Dust Recipe: "+material.getLocalizedName()+" - Success");
+ Logger.INFO("4 Small dust to 1 Dust Recipe: "+M.getLocalizedName()+" - Success");
}
else {
- Logger.WARNING("4 Small dust to 1 Dust Recipe: "+material.getLocalizedName()+" - Failed");
+ Logger.INFO("4 Small dust to 1 Dust Recipe: "+M.getLocalizedName()+" - Failed");
}
if (RecipeUtils.addShapedRecipe(
null, normalDust, null,
null, null, null,
null, null, null,
- material.getSmallDust(4))){
- Logger.WARNING("4 Small dust from 1 Dust Recipe: "+material.getLocalizedName()+" - Success");
+ M.getSmallDust(4))){
+ Logger.INFO("4 Small dust from 1 Dust Recipe: "+M.getLocalizedName()+" - Success");
}
else {
- Logger.WARNING("4 Small dust from 1 Dust Recipe: "+material.getLocalizedName()+" - Failed");
+ Logger.INFO("4 Small dust from 1 Dust Recipe: "+M.getLocalizedName()+" - Failed");
}
}
+ }
+
+ @Override
+ public void run() {
+ generateRecipes(this.toGenerate, this.disableOptional);
+ }
+
+ private void generateRecipes(final Material material, final boolean disableOptional){
+
+ Logger.INFO("Generating Shaped Crafting recipes for "+material.getLocalizedName());
+
+ final ItemStack normalDust = material.getDust(1);
+ final ItemStack smallDust = material.getSmallDust(1);
+ final ItemStack tinyDust = material.getTinyDust(1);
+
+ final ItemStack[] inputStacks = material.getMaterialComposites();
+ final ItemStack outputStacks = material.getDust(material.smallestStackSizeWhenProcessing);
//Macerate blocks back to dusts.
final ItemStack materialBlock = material.getBlock(1);
@@ -192,7 +193,7 @@ public class RecipeGen_DustGeneration extends RecipeGen_Base {
if (x.getStackMaterial() != null){
if (x.getStackMaterial().getDust(1) == null){
if (x.getStackMaterial().getState() != MaterialState.SOLID && x.getStackMaterial().getState() != MaterialState.ORE && x.getStackMaterial().getState() != MaterialState.PLASMA){
- oxygen = x.getStackMaterial().getFluid(1000);
+ oxygen = x.getStackMaterial().getFluidStack(1000);
break;
}
}
@@ -297,8 +298,8 @@ public class RecipeGen_DustGeneration extends RecipeGen_Base {
if (x.getStackMaterial() != null){
if (x.getStackMaterial().getDust(1) == null){
MaterialState f = x.getStackMaterial().getState();
- if (f == MaterialState.GAS || f == MaterialState.LIQUID || f == MaterialState.PURE_LIQUID){
- oxygen = x.getStackMaterial().getFluid((int) (material.vSmallestRatio[compSlot] * 1000));
+ if (f == MaterialState.GAS || f == MaterialState.LIQUID || f == MaterialState.PURE_LIQUID || f == MaterialState.PURE_GAS){
+ oxygen = x.getStackMaterial().getFluidStack((int) (material.vSmallestRatio[compSlot] * 1000));
}
}
}
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Fluids.java b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Fluids.java
index 3c74c4166d..e87fc08c90 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Fluids.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Fluids.java
@@ -41,8 +41,8 @@ public class RecipeGen_Fluids extends RecipeGen_Base {
}
// Melting Shapes to fluid
- if (material.getFluid(1) != null
- && !material.getFluid(1).getUnlocalizedName().toLowerCase().contains("plasma")) {
+ if (material.getFluidStack(1) != null
+ && !material.getFluidStack(1).getUnlocalizedName().toLowerCase().contains("plasma")) {
if (!material.requiresBlastFurnace()) {
@@ -50,7 +50,7 @@ public class RecipeGen_Fluids extends RecipeGen_Base {
if (ItemUtils.checkForInvalidItems(material.getIngot(1)))
if (CORE.RA.addFluidExtractionRecipe(
material.getIngot(1), // Input
- material.getFluid(144), // Fluid Output
+ material.getFluidStack(144), // Fluid Output
1 * 20, // Duration
material.vVoltageMultiplier // Eu Tick
)) {
@@ -65,7 +65,7 @@ public class RecipeGen_Fluids extends RecipeGen_Base {
if (ItemUtils.checkForInvalidItems(material.getPlate(1)))
if (CORE.RA.addFluidExtractionRecipe(
material.getPlate(1), // Input
- material.getFluid(144), // Fluid Output
+ material.getFluidStack(144), // Fluid Output
1 * 20, // Duration
material.vVoltageMultiplier // Eu Tick
)) {
@@ -80,7 +80,7 @@ public class RecipeGen_Fluids extends RecipeGen_Base {
if (ItemUtils.checkForInvalidItems(material.getPlateDouble(1)))
if (CORE.RA.addFluidExtractionRecipe(
material.getPlateDouble(1), // Input
- material.getFluid(288), // Fluid Output
+ material.getFluidStack(288), // Fluid Output
1 * 20, // Duration
material.vVoltageMultiplier // Eu Tick
)) {
@@ -95,7 +95,7 @@ public class RecipeGen_Fluids extends RecipeGen_Base {
if (ItemUtils.checkForInvalidItems(material.getNugget(1)))
if (CORE.RA.addFluidExtractionRecipe(
material.getNugget(1), // Input
- material.getFluid(16), // Fluid Output
+ material.getFluidStack(16), // Fluid Output
16, // Duration
material.vVoltageMultiplier // Eu Tick
)) {
@@ -110,7 +110,7 @@ public class RecipeGen_Fluids extends RecipeGen_Base {
if (ItemUtils.checkForInvalidItems(material.getBlock(1)))
if (CORE.RA.addFluidExtractionRecipe(
material.getBlock(1), // Input
- material.getFluid(144 * 9), // Fluid Output
+ material.getFluidStack(144 * 9), // Fluid Output
288, // Duration
material.vVoltageMultiplier // Eu Tick
)) {
@@ -128,7 +128,7 @@ public class RecipeGen_Fluids extends RecipeGen_Base {
// Ingot
if (ItemUtils.checkForInvalidItems(material.getIngot(1)))
if (GT_Values.RA.addFluidSolidifierRecipe(ItemList.Shape_Mold_Ingot.get(0), // Item Shape
- material.getFluid(144), // Fluid Input
+ material.getFluidStack(144), // Fluid Input
material.getIngot(1), // output
32, // Duration
material.vVoltageMultiplier // Eu Tick
@@ -143,7 +143,7 @@ public class RecipeGen_Fluids extends RecipeGen_Base {
// Plate
if (ItemUtils.checkForInvalidItems(material.getPlate(1)))
if (GT_Values.RA.addFluidSolidifierRecipe(ItemList.Shape_Mold_Plate.get(0), // Item Shape
- material.getFluid(144), // Fluid Input
+ material.getFluidStack(144), // Fluid Input
material.getPlate(1), // output
32, // Duration
material.vVoltageMultiplier // Eu Tick
@@ -158,7 +158,7 @@ public class RecipeGen_Fluids extends RecipeGen_Base {
// Nugget
if (ItemUtils.checkForInvalidItems(material.getNugget(1)))
if (GT_Values.RA.addFluidSolidifierRecipe(ItemList.Shape_Mold_Nugget.get(0), // Item Shape
- material.getFluid(16), // Fluid Input
+ material.getFluidStack(16), // Fluid Input
material.getNugget(1), // output
16, // Duration
material.vVoltageMultiplier // Eu Tick
@@ -173,7 +173,7 @@ public class RecipeGen_Fluids extends RecipeGen_Base {
// Gears
if (ItemUtils.checkForInvalidItems(material.getGear(1)))
if (GT_Values.RA.addFluidSolidifierRecipe(ItemList.Shape_Mold_Gear.get(0), // Item Shape
- material.getFluid(576), // Fluid Input
+ material.getFluidStack(576), // Fluid Input
material.getGear(1), // output
128, // Duration
material.vVoltageMultiplier // Eu Tick
@@ -187,7 +187,7 @@ public class RecipeGen_Fluids extends RecipeGen_Base {
// Blocks
if (ItemUtils.checkForInvalidItems(material.getBlock(1)))
if (GT_Values.RA.addFluidSolidifierRecipe(ItemList.Shape_Mold_Block.get(0), // Item Shape
- material.getFluid(144 * 9), // Fluid Input
+ material.getFluidStack(144 * 9), // Fluid Input
material.getBlock(1), // output
288, // Duration
material.vVoltageMultiplier // Eu Tick
@@ -219,7 +219,7 @@ public class RecipeGen_Fluids extends RecipeGen_Base {
// Rod
if (ItemUtils.checkForInvalidItems(material.getRod(1)))
if (mold_Rod != null && GT_Values.RA.addFluidSolidifierRecipe(mold_Rod.get(0), // Item Shape
- material.getFluid(72), // Fluid Input
+ material.getFluidStack(72), // Fluid Input
material.getRod(1), // output
150, // Duration
material.vVoltageMultiplier // Eu Tick
@@ -235,7 +235,7 @@ public class RecipeGen_Fluids extends RecipeGen_Base {
if (ItemUtils.checkForInvalidItems(material.getLongRod(1)))
if (mold_Rod_Long != null && GT_Values.RA.addFluidSolidifierRecipe(mold_Rod_Long.get(0), // Item
// Shape
- material.getFluid(144), // Fluid Input
+ material.getFluidStack(144), // Fluid Input
material.getLongRod(1), // output
300, // Duration
material.vVoltageMultiplier // Eu Tick
@@ -250,7 +250,7 @@ public class RecipeGen_Fluids extends RecipeGen_Base {
// Bolt
if (ItemUtils.checkForInvalidItems(material.getBolt(1)))
if (mold_Bolt != null && GT_Values.RA.addFluidSolidifierRecipe(mold_Bolt.get(0), // Item Shape
- material.getFluid(18), // Fluid Input
+ material.getFluidStack(18), // Fluid Input
material.getBolt(1), // output
50, // Duration
material.vVoltageMultiplier // Eu Tick
@@ -265,7 +265,7 @@ public class RecipeGen_Fluids extends RecipeGen_Base {
// Screw
if (ItemUtils.checkForInvalidItems(material.getScrew(1)))
if (mold_Screw != null && GT_Values.RA.addFluidSolidifierRecipe(mold_Screw.get(0), // Item Shape
- material.getFluid(18), // Fluid Input
+ material.getFluidStack(18), // Fluid Input
material.getScrew(1), // output
50, // Duration
material.vVoltageMultiplier // Eu Tick
@@ -280,7 +280,7 @@ public class RecipeGen_Fluids extends RecipeGen_Base {
// Ring
if (ItemUtils.checkForInvalidItems(material.getRing(1)))
if (mold_Ring != null && GT_Values.RA.addFluidSolidifierRecipe(mold_Ring.get(0), // Item Shape
- material.getFluid(36), // Fluid Input
+ material.getFluidStack(36), // Fluid Input
material.getRing(1), // output
100, // Duration
material.vVoltageMultiplier // Eu Tick
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_MaterialProcessing.java b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_MaterialProcessing.java
index 90bd1d8f1a..f8108852f4 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_MaterialProcessing.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_MaterialProcessing.java
@@ -18,6 +18,7 @@ import gtPlusPlus.core.material.Material;
import gtPlusPlus.core.material.MaterialGenerator;
import gtPlusPlus.core.material.MaterialStack;
import gtPlusPlus.core.material.state.MaterialState;
+import gtPlusPlus.core.recipe.common.CI;
import gtPlusPlus.core.util.minecraft.ItemUtils;
import net.minecraftforge.fluids.FluidStack;
@@ -186,7 +187,7 @@ public class RecipeGen_MaterialProcessing extends RecipeGen_Base {
ItemStack emptyCell = null;
if (mCellCount > 0){
- emptyCell = ItemUtils.getItemStackOfAmountFromOreDict("cellEmpty", mCellCount);
+ emptyCell = CI.emptyCells(mCellCount);
Logger.MATERIALS("[Dehydrator] Recipe now requires "+mCellCount+" empty cells as input.");
}
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_MetalRecipe.java b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_MetalRecipe.java
new file mode 100644
index 0000000000..830fae78ab
--- /dev/null
+++ b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_MetalRecipe.java
@@ -0,0 +1,119 @@
+package gtPlusPlus.xmod.gregtech.loaders;
+
+import gregtech.api.enums.GT_Values;
+import gregtech.api.util.GT_ModHandler;
+import gtPlusPlus.api.interfaces.RunnableWithInfo;
+import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.core.material.Material;
+import gtPlusPlus.core.material.MaterialGenerator;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
+
+import java.util.HashSet;
+import java.util.Set;
+
+public class RecipeGen_MetalRecipe extends RecipeGen_Base {
+
+ public final static Set<RunnableWithInfo<Material>> mRecipeGenMap = new HashSet<RunnableWithInfo<Material>>();
+ static {
+ MaterialGenerator.mRecipeMapsToGenerate.put(mRecipeGenMap);
+ }
+
+ public RecipeGen_MetalRecipe(final Material M){
+ this.toGenerate = M;
+ mRecipeGenMap.add(this);
+ }
+
+ @Override
+ public void run() {
+ generateRecipes(this.toGenerate);
+ }
+
+ private void generateRecipes(final Material material) {
+
+ Logger.WARNING("Generating Metal recipes for "+material.getLocalizedName());
+ if (ItemUtils.checkForInvalidItems(material.getIngot(1)) && ItemUtils.checkForInvalidItems(material.getBlock(1)))
+ if (GT_ModHandler.addCompressionRecipe(
+ material.getIngot(9),
+ material.getBlock(1)
+ )){
+ Logger.WARNING("Compress Block Recipe: "+material.getLocalizedName()+" - Success");
+ }
+ else {
+ Logger.WARNING("Compress Block Recipe: "+material.getLocalizedName()+" - Failed");
+ }
+
+ if (ItemUtils.checkForInvalidItems(material.getIngot(1)) && ItemUtils.checkForInvalidItems(material.getRod(1)))
+ if (GT_Values.RA.addLatheRecipe(
+ material.getIngot(1),
+ material.getRod(1),
+ material.getSmallDust(2),
+ (int) Math.max(material.getMass() / 8L, 1L),
+ material.vVoltageMultiplier)){
+ Logger.WARNING("Lathe Rod Recipe: "+material.getLocalizedName()+" - Success");
+ }
+ else {
+ Logger.WARNING("Lathe Rod Recipe: "+material.getLocalizedName()+" - Failed");
+ }
+
+ if (ItemUtils.checkForInvalidItems(material.getRod(1)) && ItemUtils.checkForInvalidItems(material.getBolt(1)))
+ if (GT_Values.RA.addCutterRecipe(
+ material.getRod(1),
+ material.getBolt(4),
+ null,
+ (int) Math.max(material.getMass() * 2L, 1L),
+ material.vVoltageMultiplier)){
+ Logger.WARNING("Cut Bolt Recipe: "+material.getLocalizedName()+" - Success");
+ }
+ else {
+ Logger.WARNING("Cut Bolt Recipe: "+material.getLocalizedName()+" - Failed");
+ }
+
+ if (ItemUtils.checkForInvalidItems(material.getIngot(1)) && ItemUtils.checkForInvalidItems(material.getHotIngot(1)))
+ if (CORE.RA.addVacuumFreezerRecipe(
+ material.getHotIngot(1),
+ material.getIngot(1),
+ (int) Math.max(material.getMass() * 3L, 1L),
+ material.vVoltageMultiplier)
+ ){
+ Logger.WARNING("Cool Hot Ingot Recipe: "+material.getLocalizedName()+" - Success");
+ }
+ else {
+ Logger.WARNING("Cool Hot Ingot Recipe: "+material.getLocalizedName()+" - Failed");
+ }
+
+ if (ItemUtils.checkForInvalidItems(material.getRod(1)) && ItemUtils.checkForInvalidItems(material.getLongRod(1))) {
+ if (GT_Values.RA.addForgeHammerRecipe(
+ material.getRod(2),
+ material.getLongRod(1),
+ (int) Math.max(material.getMass(), 1L),
+ 16)){
+ Logger.WARNING("Hammer Long Rod Recipe: "+material.getLocalizedName()+" - Success");
+ }
+ else {
+ Logger.WARNING("Hammer Long Rod Recipe: "+material.getLocalizedName()+" - Failed");
+ }
+
+ GT_Values.RA.addCutterRecipe(
+ material.getLongRod(1),
+ material.getRod(2),
+ null,
+ (int) Math.max(material.getMass(), 1L),
+ 4);
+ }
+
+ if (ItemUtils.checkForInvalidItems(material.getBolt(1)) && ItemUtils.checkForInvalidItems(material.getScrew(1)))
+ if (GT_Values.RA.addLatheRecipe(
+ material.getBolt(1),
+ material.getScrew(1),
+ null,
+ (int) Math.max(material.getMass() / 8L, 1L),
+ 4)){
+ Logger.WARNING("Lathe Screw Recipe: "+material.getLocalizedName()+" - Success");
+ }
+ else {
+ Logger.WARNING("Lathe Screw Recipe: "+material.getLocalizedName()+" - Failed");
+ }
+
+ }
+} \ No newline at end of file
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_MultisUsingFluidInsteadOfCells.java b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_MultisUsingFluidInsteadOfCells.java
index 90d7aaa806..a76322e4f4 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_MultisUsingFluidInsteadOfCells.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_MultisUsingFluidInsteadOfCells.java
@@ -151,6 +151,11 @@ public class RecipeGen_MultisUsingFluidInsteadOfCells {
for (int i = 0; i < aOutputFluidsMap.size(); i++) {
aNewFluidOutputs[i] = aOutputFluidsMap.get(i);
}
+
+ if (!ItemUtils.checkForInvalidItems(aNewItemInputs, aNewItemOutputs)) {
+ aInvalidRecipesToConvert++;
+ continue recipe; // Skip this recipe entirely if we find an item we don't like
+ }
// Add Recipe to map
GT_Recipe aNewRecipe = new GTPP_Recipe(
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Plasma.java b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Plasma.java
new file mode 100644
index 0000000000..5f53defc2f
--- /dev/null
+++ b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Plasma.java
@@ -0,0 +1,42 @@
+package gtPlusPlus.xmod.gregtech.loaders;
+
+import java.util.HashSet;
+import java.util.Set;
+
+import gregtech.api.enums.GT_Values;
+import gregtech.api.util.GT_Utility;
+import gtPlusPlus.api.interfaces.RunnableWithInfo;
+import gtPlusPlus.core.material.Material;
+import gtPlusPlus.core.material.MaterialGenerator;
+import net.minecraft.item.ItemStack;
+
+public class RecipeGen_Plasma extends RecipeGen_Base {
+
+ public final static Set<RunnableWithInfo<Material>> mRecipeGenMap = new HashSet<RunnableWithInfo<Material>>();
+ static {
+ MaterialGenerator.mRecipeMapsToGenerate.put(mRecipeGenMap);
+ }
+
+ public RecipeGen_Plasma(final Material M){
+ this.toGenerate = M;
+ mRecipeGenMap.add(this);
+ }
+
+ @Override
+ public void run() {
+ generateRecipes(this.toGenerate);
+ }
+
+ private void generateRecipes(final Material material) {
+ // Cool Plasma
+ ItemStack aPlasmaCell = material.getPlasmaCell(1);
+ ItemStack aCell = material.getCell(1);
+ if (material.getPlasmaCell(1) != null){
+ GT_Values.RA.addFuel(GT_Utility.copyAmount(1L, aPlasmaCell), GT_Utility.getFluidForFilledItem(aPlasmaCell, true) == null ? GT_Utility.getContainerItem(aPlasmaCell, true) : null, (int) Math.max(1024L, 1024L * material.getMass()), 4);
+ }
+ if (material.getCell(1) != null && material.getPlasmaCell(1) != null){
+ GT_Values.RA.addVacuumFreezerRecipe(aPlasmaCell, aCell, (int) Math.max(material.getMass() * 2L, 1L));
+ }
+ }
+
+}
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Recycling.java b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Recycling.java
index 84188a44aa..acb7e5fe02 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Recycling.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Recycling.java
@@ -137,9 +137,9 @@ public class RecipeGen_Recycling implements Runnable {
//Fluid Extractor
if (ItemUtils.checkForInvalidItems(tempStack)) {
// mValidItems[mSlotIndex++] = tempStack;
- if ((mDust != null) && CORE.RA.addFluidExtractionRecipe(tempStack, material.getFluid(mFluidAmount), 30, material.vVoltageMultiplier)) {
+ if ((mDust != null) && CORE.RA.addFluidExtractionRecipe(tempStack, material.getFluidStack(mFluidAmount), 30, material.vVoltageMultiplier)) {
Logger.WARNING("Fluid Recycle Recipe: " + material.getLocalizedName() + " - Success - Recycle "
- + tempStack.getDisplayName() + " and obtain " + mFluidAmount+"mb of "+material.getFluid(1).getLocalizedName()+".");
+ + tempStack.getDisplayName() + " and obtain " + mFluidAmount+"mb of "+material.getFluidStack(1).getLocalizedName()+".");
}
else {
Logger.WARNING("Fluid Recycle Recipe: " + material.getLocalizedName() + " - Failed");
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_GTNH.java b/src/Java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_GTNH.java
new file mode 100644
index 0000000000..0197142e96
--- /dev/null
+++ b/src/Java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_GTNH.java
@@ -0,0 +1,22 @@
+package gtPlusPlus.xmod.gregtech.loaders.recipe;
+
+import gregtech.api.enums.GT_Values;
+import gregtech.api.enums.ItemList;
+import gregtech.api.enums.Materials;
+import gtPlusPlus.core.material.ELEMENT;
+import net.minecraft.init.Items;
+import net.minecraft.item.ItemStack;
+import net.minecraftforge.fluids.FluidRegistry;
+import net.minecraftforge.fluids.FluidStack;
+
+public class RecipeLoader_GTNH {
+
+ public static void generate() {
+ GT_Values.RA.addFluidSolidifierRecipe(ItemList.Shape_Mold_Ball.get(0L), new FluidStack(FluidRegistry.getFluid("ender"), 250), new ItemStack(Items.ender_pearl, 1, 0), 100, 30);
+ //MK4
+ GT_Values.RA.addFusionReactorRecipe(Materials.Plutonium241.getMolten(144), Materials.Helium.getGas(1000), ELEMENT.getInstance().CURIUM.getFluidStack(144), 96, 98304, 500000000);
+ GT_Values.RA.addFusionReactorRecipe(ELEMENT.getInstance().CURIUM.getFluidStack(144), Materials.Helium.getPlasma(144), ELEMENT.getInstance().CALIFORNIUM.getFluidStack(144), 128, 196608, 750000000);
+ GT_Values.RA.addFusionReactorRecipe(Materials.Plutonium241.getMolten(144), Materials.Calcium.getPlasma(144), Materials.Flerovium.getMolten(144), 160, 196608, 1000000000);
+ }
+
+}
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_LFTR.java b/src/Java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_LFTR.java
index 424c2ecce5..a09cbcce0d 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_LFTR.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_LFTR.java
@@ -1,24 +1,47 @@
package gtPlusPlus.xmod.gregtech.loaders.recipe;
-import java.util.Collection;
-
-import net.minecraft.item.ItemStack;
-
-import gregtech.api.util.GT_Recipe;
+import gregtech.api.enums.Materials;
import gregtech.api.util.GTPP_Recipe;
-
-import gtPlusPlus.api.objects.minecraft.NoConflictGTRecipeMap;
-import gtPlusPlus.core.recipe.common.CI;
-import gtPlusPlus.core.util.minecraft.FluidUtils;
+import gregtech.api.util.GT_Recipe;
+import gregtech.api.util.GasSpargingRecipeMap;
+import gtPlusPlus.api.objects.data.AutoMap;
+import gtPlusPlus.core.material.ELEMENT;
+import gtPlusPlus.core.material.nuclear.FLUORIDES;
+import gtPlusPlus.core.material.nuclear.NUCLIDE;
+import net.minecraft.item.ItemStack;
+import net.minecraftforge.fluids.Fluid;
import net.minecraftforge.fluids.FluidStack;
-public class RecipeLoader_LFTR {
-
+public class RecipeLoader_LFTR {
- protected final static NoConflictGTRecipeMap mRecipesLFTR = new NoConflictGTRecipeMap();
+ private static AutoMap<Fluid> mNobleGases;
+ private static AutoMap<Fluid> mFluorideGases;
+ private static AutoMap<Fluid> mSpargeGases;
- public static Collection<GT_Recipe> getRecipes(){
- return mRecipesLFTR.getRecipeMap();
+ private static void configureSparging() {
+ if (mSpargeGases == null) {
+ mSpargeGases = new AutoMap<Fluid>();
+ mSpargeGases.add(Materials.Helium.getGas(1).getFluid());
+ mSpargeGases.add(Materials.Fluorine.getGas(1).getFluid());
+ }
+ if (mNobleGases == null) {
+ mNobleGases = new AutoMap<Fluid>();
+ mNobleGases.add(mSpargeGases.get(0));
+ mNobleGases.add(ELEMENT.getInstance().XENON.getFluid());
+ mNobleGases.add(ELEMENT.getInstance().NEON.getFluid());
+ mNobleGases.add(ELEMENT.getInstance().ARGON.getFluid());
+ mNobleGases.add(ELEMENT.getInstance().KRYPTON.getFluid());
+ mNobleGases.add(ELEMENT.getInstance().RADON.getFluid());
+ }
+ if (mFluorideGases == null) {
+ mFluorideGases = new AutoMap<Fluid>();
+ mFluorideGases.add(mSpargeGases.get(1));
+ mFluorideGases.add(FLUORIDES.LITHIUM_FLUORIDE.getFluid());
+ mFluorideGases.add(FLUORIDES.NEPTUNIUM_HEXAFLUORIDE.getFluid());
+ mFluorideGases.add(FLUORIDES.TECHNETIUM_HEXAFLUORIDE.getFluid());
+ mFluorideGases.add(FLUORIDES.SELENIUM_HEXAFLUORIDE.getFluid());
+ mFluorideGases.add(FLUORIDES.THORIUM_TETRAFLUORIDE.getFluid());
+ }
}
public static void generate() {
@@ -29,70 +52,122 @@ public class RecipeLoader_LFTR {
//1l/20t= 1000l/2.5hr LiFBeF2ZrF4UF4
//1l/10t= 1000l/2.5hr LiFBeF2ZrF4U235
- //LiFBeF2ThF4UF4
+ configureSparging();
+ FluidStack Li2BeF4 = NUCLIDE.Li2BeF4.getFluidStack(200);
+
+ //LiFBeF2ThF4UF4 - T3
GT_Recipe LFTR1 = new GTPP_Recipe(
- true,
- new ItemStack[] {CI.getNumberedCircuit(1)},
+ false,
new ItemStack[] {},
- null, new int[] {5000, 2500},
+ new ItemStack[] {},
+ null, new int[] {10000, 10000, 5000, 2500},
new FluidStack[] {
- FluidUtils.getFluidStack("molten.li2bef4", 34),
- FluidUtils.getFluidStack("molten.LiFBeF2ThF4UF4".toLowerCase(), 17)
+ NUCLIDE.LiFBeF2ThF4UF4.getFluidStack(100),
+ Li2BeF4
},
new FluidStack[] {
- FluidUtils.getFluidStack("molten.uraniumhexafluoride", 10),
- FluidUti