From a8b46c11f5a02608101ef33ed39f103736ba5920 Mon Sep 17 00:00:00 2001 From: boubou19 Date: Sun, 21 Jul 2024 16:36:34 +0200 Subject: full RA1 removal (#2713) * remove addExtractionRecipes * remove addPulverisationRecipe * remove thermalcraft fake compat * deprecate addAlloySmelterRecipe * remove fake compat * remove RA1 fusion recipe usage * remove RA1 centrifuge recipe usage * remove RA1 compressor recipe usage * remove RA1 electrolyzer recipe usage * remove RA1 chemical reactor recipe usage * deprecate GT based recipes adders * obliterate RA1 entries in interfaces (1/?) * remove RA1 blast furnace recipe usage * remove RA1 canner recipe usage * remove RA1 alloy smelter recipe usage * remove RA1 circuit assembler recipe usage * obliterate RA1 entries in interfaces (2/?) * remove RA1 bender recipe usage * clean class * remove RA1 cutter recipe usage * remove RA1 fuels recipe usage * remove RA1 implosion compressor recipe usage * remove RA1 thermal centrifuge recipe usage * clean GT_ModHandler * obliterate RA1 entries in interfaces (3/?) * remove RA1 packager recipe usage * remove RA1 lathe recipe usage * remove RA1 vacuum freezer recipe usage * remove RA1 fluid heater recipe usage * remove RA1 nano forge recipe usage * remove RA1 autoclave recipe usage * obliterate RA1 entries in interfaces (4/?) * remove RA1 cracker recipe usage * remove RA1 pyrolyse recipe usage * remove RA1 pulveriser recipe usage * remove RA1 fluid extractor recipe usage * remove RA1 assembly line recipe usage * remove RA1 alloy blast smelter recipe usage * remove RA1 coke oven recipe usage * obliterate RA1 entries in interfaces (5/?) * remove RA1 dehydrator recipe usage * remove deprecated usages * obliterate RA1 entries in interfaces (6/?) * remove RA1 assembler recipe usage * obliterate RA1 entries in interfaces (7/?) * remove RA1 mixer recipe usage * remove RA1 forge hammer recipe usage * remove RA1 wiremill recipe usage * remove RA1 extruder recipe usage * remove RA1 fluid soldifier recipe usage * remove RA1 chemical bath recipe usage * remove RA1 electromagnetic separator recipe usage * remove RA1 sifter recipe usage * remove distillery recipe usage * remove distillation tower usage * remove extractor usage * obliterate RA1 entries in interfaces (8/?) * remove QFT usage * cleaning * remove packager usage * remove fluid heater usage * remove vacuum freezer usage * remove distillery usage * fix QFT chances arrays * remove fission fuel usage * remove cyclotron usage * remove molecular transformer usage * remove chemplant usage * remove coldtrap and reactor processing unit usage * obliterate RA1 entries in interfaces (9/?) * spotlessApply * fixes * remove addRecipe calls * migrate forge of gods recipes * yeet special value calls (1 / 2) * yeet special value calls (2 / 2) * migrate GG Fuel recipes * migrate all GG maps except EHE * CORE.RA is no more * clear GT_RecipeAdder * remove dead code * clean RecipeMap a bit * spotless apply * fix output chances * Update RecipeLoader.java * fix * remove buggy recipe * migrate to enum for IDs * sort enum * move to enum * fix recipes * spotless apply * fix recipe * remove useless recipes * spotless apply * remove unused blocks * fix GT++ recipe * Update RecipeLoader.java * Update RecipeLoader.java * fix imports * Spotless apply for branch remove_RA1_calls for #2713 (#2742) spotlessApply Co-authored-by: GitHub GTNH Actions <> * fix recipe (cherry picked from commit a25d3b62997f080e064369e940eaf53a96a300e6) * fix (cherry picked from commit d9af01140f3ee77de2be18be70f04f8fbe4b547f) * temporarily remove panic mode * fix recipes * Revert "temporarily remove panic mode" This reverts commit 483cfcf74371b91e7d545f058f9d25ff4fcec95a. * fix recipes --------- Co-authored-by: Dream Master Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --- .../items/nuclear/IsotopeMaterial.java | 60 ---- .../items/nuclear/IsotopeMaterialLoader.java | 177 ----------- .../items/nuclear/NuclearMetaItemGenerator.java | 110 ------- .../items/nuclear/NuclearTextures.java | 31 -- .../loader/ComponentAssemblyLineRecipeLoader.java | 60 ++-- .../goodgenerator/loader/FuelRecipeLoader.java | 245 +++++++------- .../loader/NaquadahReworkRecipeLoader.java | 216 +++++++------ .../loader/NeutronActivatorLoader.java | 63 ++-- .../java/goodgenerator/loader/RecipeLoader.java | 61 ++-- .../java/goodgenerator/loader/RecipeLoader_02.java | 351 +++++++++++++-------- .../java/goodgenerator/util/MyRecipeAdder.java | 50 +-- 11 files changed, 585 insertions(+), 839 deletions(-) delete mode 100644 src/main/java/goodgenerator/items/nuclear/IsotopeMaterial.java delete mode 100644 src/main/java/goodgenerator/items/nuclear/IsotopeMaterialLoader.java delete mode 100644 src/main/java/goodgenerator/items/nuclear/NuclearMetaItemGenerator.java delete mode 100644 src/main/java/goodgenerator/items/nuclear/NuclearTextures.java (limited to 'src/main/java/goodgenerator') diff --git a/src/main/java/goodgenerator/items/nuclear/IsotopeMaterial.java b/src/main/java/goodgenerator/items/nuclear/IsotopeMaterial.java deleted file mode 100644 index 593a663a71..0000000000 --- a/src/main/java/goodgenerator/items/nuclear/IsotopeMaterial.java +++ /dev/null @@ -1,60 +0,0 @@ -// package goodgenerator.items.nuclear; -// -// import goodgenerator.loader.Loaders; -// import net.minecraft.item.ItemStack; -// -// import java.util.HashMap; -// import java.util.HashSet; -// -// public class IsotopeMaterial { -// -// public static final HashSet mIsotopeMaterial = new HashSet<>(); -// public static final HashMap mIDMap = new HashMap<>(); -// public static final HashMap mNameMap = new HashMap<>(); -// -// public final int mID; -// public final int mNeutron; -// public final String mName; -// public final String mLocalizedName; -// public final String mMaterialName; -// public final short[] mRGB; -// public final short[] mRGBO; -// public final NuclearTextures mTexture; -// -// public IsotopeMaterial(int aID, String aName, String aMaterialName, String aLocalizedName, NuclearTextures -// aTexture, int aR, int aG, int aB, int aNeutron) { -// if (mIDMap.get(aID) != null) -// throw new UnsupportedOperationException("ID:" + aID + " is already used!"); -// this.mID = aID; -// this.mNeutron = aNeutron; -// this.mName = aName; -// this.mMaterialName = aMaterialName; -// this.mLocalizedName = aLocalizedName; -// this.mRGB = new short[] {(short) (aR * 0.6), (short) (aG * 0.6), (short) (aB * 0.6), 0}; -// this.mRGBO = new short[] {(short) aR, (short) aG, (short) aB, 0}; -// this.mTexture = aTexture; -// mIsotopeMaterial.add(this); -// mIDMap.put(this.mID, this); -// mNameMap.put(this.mName, this); -// } -// -// public ItemStack getFull(int aAmount) { -// if (aAmount > 64) aAmount = 64; -// return new ItemStack(Loaders.Isotope, aAmount, mID + 1000); -// } -// -// public ItemStack getTiny(int aAmount) { -// if (aAmount > 64) aAmount = 64; -// return new ItemStack(Loaders.Isotope, aAmount, mID + 2000); -// } -// -// public ItemStack getFullOxide(int aAmount) { -// if (aAmount > 64) aAmount = 64; -// return new ItemStack(Loaders.Isotope, aAmount, mID + 3000); -// } -// -// public ItemStack getTinyOxide(int aAmount) { -// if (aAmount > 64) aAmount = 64; -// return new ItemStack(Loaders.Isotope, aAmount, mID + 4000); -// } -// } diff --git a/src/main/java/goodgenerator/items/nuclear/IsotopeMaterialLoader.java b/src/main/java/goodgenerator/items/nuclear/IsotopeMaterialLoader.java deleted file mode 100644 index a014abaa32..0000000000 --- a/src/main/java/goodgenerator/items/nuclear/IsotopeMaterialLoader.java +++ /dev/null @@ -1,177 +0,0 @@ -// package goodgenerator.items.nuclear; -// -// public class IsotopeMaterialLoader implements Runnable { -// -// protected static final int OffsetID = 0; -// -// public static final IsotopeMaterial Thorium232 = new IsotopeMaterial( -// OffsetID, -// "Thorium232", "Thorium", "Thorium-232", -// NuclearTextures.STABLE1, 59, 59, 59, -// 232 -// ); -// -// public static final IsotopeMaterial Thorium230 = new IsotopeMaterial( -// OffsetID + 1, -// "Thorium232", "Thorium", "Thorium-230", -// NuclearTextures.STABLE2, 59, 59, 59, -// 230 -// ); -// -// public static final IsotopeMaterial Uranium233 = new IsotopeMaterial( -// OffsetID + 2, -// "Uranium233", "Uranium", "Uranium-233", -// NuclearTextures.UNSTABLE4, 60, 167, 85, -// 233 -// ); -// -// public static final IsotopeMaterial Uranium235 = new IsotopeMaterial( -// OffsetID + 3, -// "Uranium235", "Uranium", "Uranium-235", -// NuclearTextures.UNSTABLE3, 60, 167, 85, -// 235 -// ); -// -// public static final IsotopeMaterial Uranium238 = new IsotopeMaterial( -// OffsetID + 4, -// "Uranium238", "Uranium", "Uranium-238", -// NuclearTextures.STABLE2, 60, 167, 85, -// 238 -// ); -// -// public static final IsotopeMaterial Neptunium236 = new IsotopeMaterial( -// OffsetID + 5, -// "Neptunium236", "Neptunium", "Neptunium-236", -// NuclearTextures.UNSTABLE1, 60, 170, 176, -// 236 -// ); -// -// public static final IsotopeMaterial Neptunium237 = new IsotopeMaterial( -// OffsetID + 6, -// "Neptunium237", "Neptunium", "Neptunium-237", -// NuclearTextures.STABLE2, 60, 170, 176, -// 237 -// ); -// -// public static final IsotopeMaterial Plutonium238 = new IsotopeMaterial( -// OffsetID + 7, -// "Plutonium238", "Plutonium", "Plutonium-238", -// NuclearTextures.STABLE1, 169, 169, 169, -// 238 -// ); -// -// public static final IsotopeMaterial Plutonium239 = new IsotopeMaterial( -// OffsetID + 8, -// "Plutonium239", "Plutonium", "Plutonium-239", -// NuclearTextures.UNSTABLE1, 169, 169, 169, -// 239 -// ); -// -// public static final IsotopeMaterial Plutonium241 = new IsotopeMaterial( -// OffsetID + 9, -// "Plutonium241", "Plutonium", "Plutonium-241", -// NuclearTextures.UNSTABLE2, 169, 169, 169, -// 241 -// ); -// -// public static final IsotopeMaterial Plutonium242 = new IsotopeMaterial( -// OffsetID + 10, -// "Plutonium242", "Plutonium", "Plutonium-242", -// NuclearTextures.STABLE2, 169, 169, 169, -// 242 -// ); -// -// public static final IsotopeMaterial Americium241 = new IsotopeMaterial( -// OffsetID + 11, -// "Americium241", "Americium", "Americium-241", -// NuclearTextures.STABLE1, 150, 120, 22, -// 241 -// ); -// -// public static final IsotopeMaterial Americium242 = new IsotopeMaterial( -// OffsetID + 12, -// "Americium242", "Americium", "Americium-242", -// NuclearTextures.UNSTABLE4, 150, 120, 22, -// 242 -// ); -// -// public static final IsotopeMaterial Americium243 = new IsotopeMaterial( -// OffsetID + 13, -// "Americium243", "Americium", "Americium-243", -// NuclearTextures.STABLE2, 150, 120, 22, -// 243 -// ); -// -// public static final IsotopeMaterial Curium243 = new IsotopeMaterial( -// OffsetID + 14, -// "Curium243", "Curium", "Curium-243", -// NuclearTextures.UNSTABLE1, 107, 6, 105, -// 243 -// ); -// -// public static final IsotopeMaterial Curium245 = new IsotopeMaterial( -// OffsetID + 15, -// "Curium245", "Curium", "Curium-245", -// NuclearTextures.UNSTABLE3, 107, 6, 105, -// 245 -// ); -// -// public static final IsotopeMaterial Curium246 = new IsotopeMaterial( -// OffsetID + 16, -// "Curium246", "Curium", "Curium-246", -// NuclearTextures.STABLE2, 107, 6, 105, -// 246 -// ); -// -// public static final IsotopeMaterial Curium247 = new IsotopeMaterial( -// OffsetID + 17, -// "Curium247", "Curium", "Curium-247", -// NuclearTextures.UNSTABLE4, 107, 6, 105, -// 247 -// ); -// -// public static final IsotopeMaterial Berkelium247 = new IsotopeMaterial( -// OffsetID + 18, -// "Berkelium247", "Berkelium", "Berkelium-247", -// NuclearTextures.STABLE2, 130, 54, 29, -// 247 -// ); -// -// public static final IsotopeMaterial Berkelium248 = new IsotopeMaterial( -// OffsetID + 19, -// "Berkelium248", "Berkelium", "Berkelium-248", -// NuclearTextures.UNSTABLE1, 130, 54, 29, -// 248 -// ); -// -// public static final IsotopeMaterial Californium249 = new IsotopeMaterial( -// OffsetID + 20, -// "Californium249", "Californium", "Californium-249", -// NuclearTextures.UNSTABLE2, 186, 55, 11, -// 249 -// ); -// -// public static final IsotopeMaterial Californium250 = new IsotopeMaterial( -// OffsetID + 21, -// "Californium250", "Californium", "Californium-250", -// NuclearTextures.STABLE1, 186, 55, 11, -// 250 -// ); -// -// public static final IsotopeMaterial Californium251 = new IsotopeMaterial( -// OffsetID + 22, -// "Californium251", "Californium", "Californium-251", -// NuclearTextures.UNSTABLE4, 186, 55, 11, -// 251 -// ); -// -// public static final IsotopeMaterial Californium252 = new IsotopeMaterial( -// OffsetID + 23, -// "Californium252", "Californium", "Californium-252", -// NuclearTextures.UNSTABLE1, 186, 55, 11, -// 252 -// ); -// -// @Override -// public void run() { } -// } diff --git a/src/main/java/goodgenerator/items/nuclear/NuclearMetaItemGenerator.java b/src/main/java/goodgenerator/items/nuclear/NuclearMetaItemGenerator.java deleted file mode 100644 index a0b71b52e5..0000000000 --- a/src/main/java/goodgenerator/items/nuclear/NuclearMetaItemGenerator.java +++ /dev/null @@ -1,110 +0,0 @@ -// package goodgenerator.items.nuclear; -// -// import com.github.bartimaeusnek.bartworks.util.Pair; -// import cpw.mods.fml.relauncher.Side; -// import cpw.mods.fml.relauncher.SideOnly; -// import goodgenerator.main.GoodGenerator; -// import gregtech.api.interfaces.IIconContainer; -// import gregtech.api.items.GT_MetaGenerated_Item; -// import gregtech.api.util.GT_LanguageManager; -// import gregtech.api.util.GT_OreDictUnificator; -// import net.minecraft.creativetab.CreativeTabs; -// import net.minecraft.item.Item; -// import net.minecraft.item.ItemStack; -// import net.minecraft.util.EnumChatFormatting; -// import net.minecraft.util.IIcon; -// -// import java.util.List; -// -// import static goodgenerator.items.nuclear.IsotopeMaterial.mIDMap; -// import static goodgenerator.items.nuclear.IsotopeMaterial.mIsotopeMaterial; -// -// public class NuclearMetaItemGenerator extends GT_MetaGenerated_Item { -// -// /** -// *

Full ingot - 1000 -// *

Tiny ingot - 2000 -// *

Full-Oxide - 3000 -// *

Tiny-Oxide - 4000 -// */ -// public static final Pair[] TYPE_OFFSET = new Pair[] { -// new Pair<>(1000, "%s"), -// new Pair<>(2000, "Tiny of %s"), -// new Pair<>(3000, "%s Oxide"), -// new Pair<>(4000, "Tiny of %s Oxide"), -// }; -// public static final Pair[] OREPREFIX = new Pair[] { -// new Pair<>(1000, "item%s"), -// new Pair<>(2000, "itemTiny%s"), -// new Pair<>(3000, "item%sOxide"), -// new Pair<>(4000, "itemTiny%sOxide"), -// }; -// -// public NuclearMetaItemGenerator() { -// super("nuclearIsotopeMaterial", (short) 32766, (short) 0); -// this.setCreativeTab(GoodGenerator.GG); -// for (IsotopeMaterial tIsotope : mIsotopeMaterial) { -// for (Pair tType : TYPE_OFFSET) { -// int tOffset = tType.getKey(); -// String tOreName = tType.getValue(); -// ItemStack tStack = new ItemStack(this, 1, tIsotope.mID + tOffset); -// GT_LanguageManager.addStringLocalization(this.getUnlocalizedName(tStack) + ".name", -// String.format(tOreName, tIsotope.mLocalizedName)); -// GT_LanguageManager.addStringLocalization(this.getUnlocalizedName(tStack) + ".tooltip", -// EnumChatFormatting.AQUA + String.format("%s's Isotope.", tIsotope.mMaterialName) + EnumChatFormatting.RESET); -// } -// for (Pair tOreDict : OREPREFIX) { -// int tOffset = tOreDict.getKey(); -// String tOreName = tOreDict.getValue(); -// ItemStack tStack = new ItemStack(this, 1, tIsotope.mID + tOffset); -// GT_OreDictUnificator.registerOre(String.format(tOreName, tIsotope.mName), tStack); -// } -// } -// } -// -// @Override -// public String getItemStackDisplayName(ItemStack aStack) { -// return GT_LanguageManager.getTranslation(this.getUnlocalizedName(aStack) + ".name"); -// } -// -// @Override -// public IIconContainer getIconContainer(int aMetaData) { -// int tID = aMetaData % 1000; -// int tType = aMetaData / 1000 - 1; -// IsotopeMaterial tMaterial = mIDMap.get(tID); -// if (tMaterial != null) { -// return tMaterial.mTexture.mTextures[tType]; -// } -// return null; -// } -// -// @Override -// @SideOnly(Side.CLIENT) -// public void getSubItems(Item var1, CreativeTabs aCreativeTab, List aList) { -// for (IsotopeMaterial tIsotope : mIsotopeMaterial) { -// for (int i = 1; i <= 4; i ++) { -// ItemStack tStack = new ItemStack(this, 1, tIsotope.mID + i * 1000); -// aList.add(tStack); -// } -// } -// } -// -// @Override -// public short[] getRGBa(ItemStack aStack) { -// int tID = aStack.getItemDamage() % 1000; -// int tType = aStack.getItemDamage() / 1000; -// IsotopeMaterial tMaterial = mIDMap.get(tID); -// if (tMaterial != null) { -// if (tType == 1 || tType == 2) -// return tMaterial.mRGB; -// else -// return tMaterial.mRGBO; -// } -// return null; -// } -// -// @Override -// public final IIcon getIconFromDamage(int aMetaData) { -// return this.getIconContainer(aMetaData).getIcon(); -// } -// } diff --git a/src/main/java/goodgenerator/items/nuclear/NuclearTextures.java b/src/main/java/goodgenerator/items/nuclear/NuclearTextures.java deleted file mode 100644 index 63314044cf..0000000000 --- a/src/main/java/goodgenerator/items/nuclear/NuclearTextures.java +++ /dev/null @@ -1,31 +0,0 @@ -// package goodgenerator.items.nuclear; -// -// import gregtech.api.enums.Textures; -// import gregtech.api.interfaces.IIconContainer; -// -// public class NuclearTextures { -// public static final NuclearTextures -// STABLE1 = new NuclearTextures("stable1"), -// STABLE2 = new NuclearTextures("stable2"), -// UNSTABLE1 = new NuclearTextures("unstable1"), -// UNSTABLE2 = new NuclearTextures("unstable2"), -// UNSTABLE3 = new NuclearTextures("unstable3"), -// UNSTABLE4 = new NuclearTextures("unstable4"); -// -// public final IIconContainer[] mTextures = new IIconContainer[4]; -// public final String mSetName; -// public static final String mTextureDir = "icons/isotope/"; -// public static final int -// FULL = 0, -// TINY = 1, -// FULL_OXIDE = 2, -// TINY_OXIDE = 3; -// -// public NuclearTextures(String aName) { -// mSetName = aName; -// mTextures[0] = new Textures.ItemIcons.CustomIcon(mTextureDir + aName); -// mTextures[1] = new Textures.ItemIcons.CustomIcon(mTextureDir + aName + "tiny"); -// mTextures[2] = new Textures.ItemIcons.CustomIcon(mTextureDir + aName); -// mTextures[3] = new Textures.ItemIcons.CustomIcon(mTextureDir + aName + "tiny"); -// } -// } diff --git a/src/main/java/goodgenerator/loader/ComponentAssemblyLineRecipeLoader.java b/src/main/java/goodgenerator/loader/ComponentAssemblyLineRecipeLoader.java index f1b16089d9..a37b1ac329 100644 --- a/src/main/java/goodgenerator/loader/ComponentAssemblyLineRecipeLoader.java +++ b/src/main/java/goodgenerator/loader/ComponentAssemblyLineRecipeLoader.java @@ -3,6 +3,7 @@ package goodgenerator.loader; import static goodgenerator.util.StackUtils.getTotalItems; import static goodgenerator.util.StackUtils.mergeStacks; import static goodgenerator.util.StackUtils.multiplyAndSplitIntoStacks; +import static gregtech.api.util.GT_RecipeConstants.COAL_CASING_TIER; import java.util.ArrayList; import java.util.Arrays; @@ -20,7 +21,7 @@ import net.minecraftforge.oredict.OreDictionary; import org.apache.commons.lang3.tuple.Pair; -import goodgenerator.util.MyRecipeAdder; +import goodgenerator.api.recipe.GoodGeneratorRecipeMaps; import gregtech.api.enums.GT_Values; import gregtech.api.enums.ItemList; import gregtech.api.enums.Materials; @@ -107,14 +108,17 @@ public class ComponentAssemblyLineRecipeLoader { replaceIntoFluids(fixedInputs, fixedFluids, 64); int tier = info.getRight(); int energy = (int) Math.min(Integer.MAX_VALUE - 7, GT_Values.VP[tier - 1]); - MyRecipeAdder.instance.addComponentAssemblyLineRecipe( - fixedInputs.toArray(new ItemStack[0]), - fixedFluids.toArray(new FluidStack[0]), - info.getLeft() - .get(OUTPUT_MULTIPLIER), - recipe.mDuration * INPUT_MULTIPLIER, - energy, - info.getRight()); + GT_Values.RA.stdBuilder() + .itemInputs(fixedInputs.toArray(new ItemStack[0])) + .itemOutputs( + info.getLeft() + .get(OUTPUT_MULTIPLIER)) + .fluidInputs(fixedFluids.toArray(new FluidStack[0])) + .duration(recipe.mDuration * INPUT_MULTIPLIER) + .eut(energy) + .metadata(COAL_CASING_TIER, info.getRight()) + .noOptimize() + .addTo(GoodGeneratorRecipeMaps.componentAssemblyLineRecipes); } } }); @@ -173,14 +177,17 @@ public class ComponentAssemblyLineRecipeLoader { if (addProgrammedCircuit) fixedInputs.add(GT_Utility.getIntegratedCircuit(componentCircuit)); addEternityForMHDCSM(fixedFluids); - MyRecipeAdder.instance.addComponentAssemblyLineRecipe( - fixedInputs.toArray(new ItemStack[0]), - fixedFluids.toArray(new FluidStack[0]), - info.getLeft() - .get(OUTPUT_MULTIPLIER), // The component output - recipe.mDuration * INPUT_MULTIPLIER, // Takes as long as this many - recipe.mEUt, - info.getRight()); // Casing tier + GT_Values.RA.stdBuilder() + .itemInputs(fixedInputs.toArray(new ItemStack[0])) + .itemOutputs( + info.getLeft() + .get(OUTPUT_MULTIPLIER)) + .fluidInputs(fixedFluids.toArray(new FluidStack[0])) + .duration(recipe.mDuration * INPUT_MULTIPLIER) + .eut(recipe.mEUt) + .metadata(COAL_CASING_TIER, info.getRight()) + .noOptimize() + .addTo(GoodGeneratorRecipeMaps.componentAssemblyLineRecipes); // Add a second recipe using Styrene-Butadiene // Rubber instead of Silicone Rubber. @@ -188,14 +195,17 @@ public class ComponentAssemblyLineRecipeLoader { // @allSyntheticRubber so it's quite fragile, but // it's also the least invasive change. if (swapSiliconeForStyreneButadiene(fixedFluids)) { - MyRecipeAdder.instance.addComponentAssemblyLineRecipe( - fixedInputs.toArray(new ItemStack[0]), - fixedFluids.toArray(new FluidStack[0]), - info.getLeft() - .get(OUTPUT_MULTIPLIER), // The component output - recipe.mDuration * INPUT_MULTIPLIER, // Takes as long as this many - recipe.mEUt, - info.getRight()); // Casing tier + GT_Values.RA.stdBuilder() + .itemInputs(fixedInputs.toArray(new ItemStack[0])) + .itemOutputs( + info.getLeft() + .get(OUTPUT_MULTIPLIER)) + .fluidInputs(fixedFluids.toArray(new FluidStack[0])) + .duration(recipe.mDuration * INPUT_MULTIPLIER) + .eut(recipe.mEUt) + .metadata(COAL_CASING_TIER, info.getRight()) + .noOptimize() + .addTo(GoodGeneratorRecipeMaps.componentAssemblyLineRecipes); } } } diff --git a/src/main/java/goodgenerator/loader/FuelRecipeLoader.java b/src/main/java/goodgenerator/loader/FuelRecipeLoader.java index 7a4f913521..c233f96ec0 100644 --- a/src/main/java/goodgenerator/loader/FuelRecipeLoader.java +++ b/src/main/java/goodgenerator/loader/FuelRecipeLoader.java @@ -1,10 +1,14 @@ package goodgenerator.loader; +import static goodgenerator.api.recipe.GoodGeneratorRecipeMaps.naquadahFuelRefineFactoryRecipes; +import static goodgenerator.api.recipe.GoodGeneratorRecipeMaps.naquadahReactorFuels; import static goodgenerator.main.GG_Config_Loader.NaquadahFuelTime; import static goodgenerator.main.GG_Config_Loader.NaquadahFuelVoltage; import static gregtech.api.enums.Mods.GTPlusPlus; +import static gregtech.api.util.GT_RecipeBuilder.SECONDS; +import static gregtech.api.util.GT_RecipeConstants.LNG_BASIC_OUTPUT; +import static gregtech.api.util.GT_RecipeConstants.NFR_COIL_TIER; -import net.minecraft.item.ItemStack; import net.minecraftforge.fluids.FluidRegistry; import net.minecraftforge.fluids.FluidStack; @@ -12,7 +16,7 @@ import com.github.bartimaeusnek.bartworks.system.material.WerkstoffLoader; import goodgenerator.items.MyMaterial; import goodgenerator.util.ItemRefer; -import goodgenerator.util.MyRecipeAdder; +import gregtech.api.enums.GT_Values; import gregtech.api.enums.Materials; import gregtech.api.enums.MaterialsUEVplus; import gregtech.api.enums.OrePrefixes; @@ -23,147 +27,158 @@ import gtPlusPlus.core.material.ELEMENT; public class FuelRecipeLoader { public static void RegisterFuel() { - // MyRecipeAdder.instance.addLiquidMentalFuel(Materials.NaquadahEnriched.getMolten(1L),Materials.Naquadah.getMolten(1L),32768,100); - // MyRecipeAdder.instance.addLiquidMentalFuel(Materials.Naquadria.getMolten(1L),Materials.Naquadah.getMolten(1L),262144,120); - MyRecipeAdder.instance.addLiquidMentalFuel( - MyMaterial.uraniumBasedLiquidFuelExcited.getFluidOrGas(1), - MyMaterial.uraniumBasedLiquidFuelDepleted.getFluidOrGas(1), - NaquadahFuelVoltage[0], - NaquadahFuelTime[0]); - MyRecipeAdder.instance.addLiquidMentalFuel( + FluidStack[] inputs = new FluidStack[] { MyMaterial.uraniumBasedLiquidFuelExcited.getFluidOrGas(1), MyMaterial.thoriumBasedLiquidFuelExcited.getFluidOrGas(1), - MyMaterial.thoriumBasedLiquidFuelDepleted.getFluidOrGas(1), - NaquadahFuelVoltage[1], - NaquadahFuelTime[1]); - MyRecipeAdder.instance.addLiquidMentalFuel( MyMaterial.plutoniumBasedLiquidFuelExcited.getFluidOrGas(1), + MyMaterial.naquadahBasedFuelMkI.getFluidOrGas(1), MyMaterial.naquadahBasedFuelMkII.getFluidOrGas(1), + MyMaterial.naquadahBasedFuelMkIII.getFluidOrGas(1), MyMaterial.naquadahBasedFuelMkIV.getFluidOrGas(1), + MyMaterial.naquadahBasedFuelMkV.getFluidOrGas(1), MyMaterial.naquadahBasedFuelMkVI.getFluidOrGas(1) }; + + FluidStack[] outputs = new FluidStack[] { MyMaterial.uraniumBasedLiquidFuelDepleted.getFluidOrGas(1), + MyMaterial.thoriumBasedLiquidFuelDepleted.getFluidOrGas(1), MyMaterial.plutoniumBasedLiquidFuelDepleted.getFluidOrGas(1), - NaquadahFuelVoltage[2], - NaquadahFuelTime[2]); - MyRecipeAdder.instance.addLiquidMentalFuel( - MyMaterial.naquadahBasedFuelMkI.getFluidOrGas(1), MyMaterial.naquadahBasedFuelMkIDepleted.getFluidOrGas(1), - NaquadahFuelVoltage[3], - NaquadahFuelTime[3]); - MyRecipeAdder.instance.addLiquidMentalFuel( - MyMaterial.naquadahBasedFuelMkII.getFluidOrGas(1), MyMaterial.naquadahBasedFuelMkIIDepleted.getFluidOrGas(1), - NaquadahFuelVoltage[4], - NaquadahFuelTime[4]); - MyRecipeAdder.instance.addLiquidMentalFuel( - MyMaterial.naquadahBasedFuelMkIII.getFluidOrGas(1), MyMaterial.naquadahBasedFuelMkIIIDepleted.getFluidOrGas(1), - NaquadahFuelVoltage[5], - NaquadahFuelTime[5]); - MyRecipeAdder.instance.addLiquidMentalFuel( - MyMaterial.naquadahBasedFuelMkIV.getFluidOrGas(1), MyMaterial.naquadahBasedFuelMkIVDepleted.getFluidOrGas(1), - NaquadahFuelVoltage[6], - NaquadahFuelTime[6]); - MyRecipeAdder.instance.addLiquidMentalFuel( - MyMaterial.naquadahBasedFuelMkV.getFluidOrGas(1), MyMaterial.naquadahBasedFuelMkVDepleted.getFluidOrGas(1), - NaquadahFuelVoltage[7], - NaquadahFuelTime[7]); - MyRecipeAdder.instance.addLiquidMentalFuel( - MyMaterial.naquadahBasedFuelMkVI.getFluidOrGas(1), - MyMaterial.naquadahBasedFuelMkVIDepleted.getFluidOrGas(1), - NaquadahFuelVoltage[8], - NaquadahFuelTime[8]); + MyMaterial.naquadahBasedFuelMkVIDepleted.getFluidOrGas(1) }; + for (int i = 0; i < 9; i++) { + GT_Values.RA.stdBuilder() + .fluidInputs(inputs[i]) + .fluidOutputs(outputs[i]) + .duration(NaquadahFuelTime[i]) + .eut(0) + .metadata(LNG_BASIC_OUTPUT, NaquadahFuelVoltage[i]) + .addTo(naquadahReactorFuels); + } + // MK III Naquadah Fuel - MyRecipeAdder.instance.addNaquadahFuelRefineRecipe( - new FluidStack[] { MyMaterial.heavyNaquadahFuel.getFluidOrGas(800), - MyMaterial.lightNaquadahFuel.getFluidOrGas(1000), }, - new ItemStack[] { MyMaterial.extremelyUnstableNaquadah.get(OrePrefixes.dust, 4), - WerkstoffLoader.Tiberium.get(OrePrefixes.dust, 27), ItemRefer.High_Density_Uranium.get(2), - ItemRefer.High_Density_Plutonium.get(1), }, - MyMaterial.naquadahBasedFuelMkIII.getFluidOrGas(100), - 1100000, - 100, - 1); + GT_Values.RA.stdBuilder() + .itemInputs( + MyMaterial.extremelyUnstableNaquadah.get(OrePrefixes.dust, 4), + WerkstoffLoader.Tiberium.get(OrePrefixes.dust, 27), + ItemRefer.High_Density_Uranium.get(2), + ItemRefer.High_Density_Plutonium.get(1)) + .fluidInputs( + MyMaterial.heavyNaquadahFuel.getFluidOrGas(800), + MyMaterial.lightNaquadahFuel.getFluidOrGas(1000)) + .fluidOutputs(MyMaterial.naquadahBasedFuelMkIII.getFluidOrGas(100)) + .duration(5 * SECONDS) + .eut(1_100_000) + .metadata(NFR_COIL_TIER, 1) + .noOptimize() + .addTo(naquadahFuelRefineFactoryRecipes); // Alternative higher tier recipe - MyRecipeAdder.instance.addNaquadahFuelRefineRecipe( - new FluidStack[] { MyMaterial.heavyNaquadahFuel.getFluidOrGas(800), - MyMaterial.lightNaquadahFuel.getFluidOrGas(1000), }, - new ItemStack[] { MyMaterial.extremelyUnstableNaquadah.get(OrePrefixes.dust, 8), + GT_Values.RA.stdBuilder() + .itemInputs( + MyMaterial.extremelyUnstableNaquadah.get(OrePrefixes.dust, 8), GT_ModHandler.getModItem(GTPlusPlus.ID, "itemDustChromaticGlass", 9), - ItemRefer.High_Density_Uranium.get(2), ItemRefer.High_Density_Plutonium.get(1), }, - MyMaterial.naquadahBasedFuelMkIII.getFluidOrGas(200), - 2100000, - 100, - 1); + ItemRefer.High_Density_Uranium.get(2), + ItemRefer.High_Density_Plutonium.get(1)) + .fluidInputs( + MyMaterial.heavyNaquadahFuel.getFluidOrGas(800), + MyMaterial.lightNaquadahFuel.getFluidOrGas(1000)) + .fluidOutputs(MyMaterial.naquadahBasedFuelMkIII.getFluidOrGas(200)) + .duration(5 * SECONDS) + .eut(2_100_000) + .metadata(NFR_COIL_TIER, 1) + .noOptimize() + .addTo(naquadahFuelRefineFactoryRecipes); + // MK IV Naquadah Fuel - MyRecipeAdder.instance.addNaquadahFuelRefineRecipe( - new FluidStack[] { MyMaterial.naquadahBasedFuelMkIII.getFluidOrGas(2000), - Materials.Praseodymium.getMolten(9216L) }, - new ItemStack[] { MyMaterial.extremelyUnstableNaquadah.get(OrePrefixes.dust, 27), + GT_Values.RA.stdBuilder() + .itemInputs( + MyMaterial.extremelyUnstableNaquadah.get(OrePrefixes.dust, 27), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.NetherStar, 64), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.DraconiumAwakened, 64), - MyMaterial.orundum.get(OrePrefixes.dust, 32), }, - MyMaterial.naquadahBasedFuelMkIV.getFluidOrGas(250), - 46000000, - 160, - 2); + MyMaterial.orundum.get(OrePrefixes.dust, 32)) + .fluidInputs(MyMaterial.naquadahBasedFuelMkIII.getFluidOrGas(2000), Materials.Praseodymium.getMolten(9216L)) + .fluidOutputs(MyMaterial.naquadahBasedFuelMkIV.getFluidOrGas(250)) + .duration(8 * SECONDS) + .eut(46_000_000) + .metadata(NFR_COIL_TIER, 2) + .noOptimize() + .addTo(naquadahFuelRefineFactoryRecipes); // Alternate higher tier recipe - MyRecipeAdder.instance.addNaquadahFuelRefineRecipe( - new FluidStack[] { MyMaterial.naquadahBasedFuelMkIII.getFluidOrGas(2000), - new FluidStack(FluidRegistry.getFluid("molten.hypogen"), 1440) }, - new ItemStack[] { MyMaterial.extremelyUnstableNaquadah.get(OrePrefixes.dust, 27), + GT_Values.RA.stdBuilder() + .itemInputs( + MyMaterial.extremelyUnstableNaquadah.get(OrePrefixes.dust, 27), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Bedrockium, 64), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.DraconiumAwakened, 64), - MyMaterial.orundum.get(OrePrefixes.dust, 64), }, - MyMaterial.naquadahBasedFuelMkIV.getFluidOrGas(500), - 75000000, - 160, - 2); + MyMaterial.orundum.get(OrePrefixes.dust, 64)) + .fluidInputs( + MyMaterial.naquadahBasedFuelMkIII.getFluidOrGas(2000), + new FluidStack(FluidRegistry.getFluid("molten.hypogen"), 1440)) + .fluidOutputs(MyMaterial.naquadahBasedFuelMkIV.getFluidOrGas(500)) + .duration(8 * SECONDS) + .eut(75_000_000) + .metadata(NFR_COIL_TIER, 2) + .noOptimize() + .addTo(naquadahFuelRefineFactoryRecipes); // MK V Naquadah Fuel - MyRecipeAdder.instance.addNaquadahFuelRefineRecipe( - new FluidStack[] { MyMaterial.naquadahBasedFuelMkIV.getFluidOrGas(2000), - FluidRegistry.getFluidStack("heavyradox", 1000), }, - new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Infinity, 16), - MyMaterial.atomicSeparationCatalyst.get(OrePrefixes.dust, 32), }, - MyMaterial.naquadahBasedFuelMkV.getFluidOrGas(500), - 100000000, - 200, - 2); + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Infinity, 16), + MyMaterial.atomicSeparationCatalyst.get(OrePrefixes.dust, 32)) + .fluidInputs( + MyMaterial.naquadahBasedFuelMkIV.getFluidOrGas(2000), + FluidRegistry.getFluidStack("heavyradox", 1000)) + .fluidOutputs(MyMaterial.naquadahBasedFuelMkV.getFluidOrGas(500)) + .duration(100_000_000) + .eut(10 * SECONDS) + .metadata(NFR_COIL_TIER, 2) + .noOptimize() + .addTo(naquadahFuelRefineFactoryRecipes); // Alternate higher tier recipe - MyRecipeAdder.instance.addNaquadahFuelRefineRecipe( - new FluidStack[] { MyMaterial.naquadahBasedFuelMkIV.getFluidOrGas(2000), - FluidRegistry.getFluidStack("heavyradox", 1000), }, - new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.dust, MaterialsUEVplus.SpaceTime, 8), + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, MaterialsUEVplus.SpaceTime, 8), GT_OreDictUnificator.get(OrePrefixes.dust, MaterialsUEVplus.TranscendentMetal, 16), - MyMaterial.atomicSeparationCatalyst.get(OrePrefixes.dust, 48), }, - MyMaterial.naquadahBasedFuelMkV.getFluidOrGas(750), - 300000000, - 200, - 3); + MyMaterial.atomicSeparationCatalyst.get(OrePrefixes.dust, 48)) + .fluidInputs( + MyMaterial.naquadahBasedFuelMkIV.getFluidOrGas(2000), + FluidRegistry.getFluidStack("heavyradox", 1000)) + .fluidOutputs(MyMaterial.naquadahBasedFuelMkV.getFluidOrGas(750)) + .duration(10 * SECONDS) + .eut(300_000_000) + .metadata(NFR_COIL_TIER, 3) + .noOptimize() + .addTo(naquadahFuelRefineFactoryRecipes); // MK VI Naquadah Fuel - MyRecipeAdder.instance.addNaquadahFuelRefineRecipe( - new FluidStack[] { MyMaterial.naquadahBasedFuelMkV.getFluidOrGas(2000), - FluidRegistry.getFluidStack("molten.shirabon", 1440), }, - new ItemStack[] { ELEMENT.STANDALONE.ASTRAL_TITANIUM.getDust(64), - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Tritanium, 32), }, - MyMaterial.naquadahBasedFuelMkVI.getFluidOrGas(500), - 320000000, - 240, - 3); + GT_Values.RA.stdBuilder() + .itemInputs( + ELEMENT.STANDALONE.ASTRAL_TITANIUM.getDust(64), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Tritanium, 32)) + .fluidInputs( + MyMaterial.naquadahBasedFuelMkV.getFluidOrGas(2000), + FluidRegistry.getFluidStack("molten.shirabon", 1440)) + .fluidOutputs(MyMaterial.naquadahBasedFuelMkVI.getFluidOrGas(500)) + .duration(12 * SECONDS) + .eut(320_000_000) + .metadata(NFR_COIL_TIER, 3) + .noOptimize() + .addTo(naquadahFuelRefineFactoryRecipes); // Alternate higher tier recipe - MyRecipeAdder.instance.addNaquadahFuelRefineRecipe( - new FluidStack[] { MyMaterial.naquadahBasedFuelMkV.getFluidOrGas(2000), - FluidRegistry.getFluidStack("molten.shirabon", 1440), }, - new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.dust, MaterialsUEVplus.WhiteDwarfMatter, 8), + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, MaterialsUEVplus.WhiteDwarfMatter, 8), ELEMENT.STANDALONE.CELESTIAL_TUNGSTEN.getDust(64), - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Tritanium, 48), }, - MyMaterial.naquadahBasedFuelMkVI.getFluidOrGas(750), - 530000000, - 240, - 4); - + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Tritanium, 48)) + .fluidInputs( + MyMaterial.naquadahBasedFuelMkV.getFluidOrGas(2000), + FluidRegistry.getFluidStack("molten.shirabon", 1440)) + .fluidOutputs(MyMaterial.naquadahBasedFuelMkVI.getFluidOrGas(750)) + .duration(12 * SECONDS) + .eut(530_000_000) + .metadata(NFR_COIL_TIER, 4) + .noOptimize() + .addTo(naquadahFuelRefineFactoryRecipes); } } diff --git a/src/main/java/goodgenerator/loader/NaquadahReworkRecipeLoader.java b/src/main/java/goodgenerator/loader/NaquadahReworkRecipeLoader.java index 9b28bb91fe..2354ec61c2 100644 --- a/src/main/java/goodgenerator/loader/NaquadahReworkRecipeLoader.java +++ b/src/main/java/goodgenerator/loader/NaquadahReworkRecipeLoader.java @@ -1,5 +1,6 @@ package goodgenerator.loader; +import static goodgenerator.api.recipe.GoodGeneratorRecipeMaps.neutronActivatorRecipes; import static goodgenerator.items.MyMaterial.P507; import static goodgenerator.items.MyMaterial.adamantine; import static goodgenerator.items.MyMaterial.concentratedEnrichedNaquadahSludge; @@ -34,6 +35,7 @@ import static goodgenerator.items.MyMaterial.towEthyl1Hexanol; import static goodgenerator.items.MyMaterial.triniumSulphate; import static goodgenerator.items.MyMaterial.wasteLiquid; import static goodgenerator.main.GG_Config_Loader.EnableNaquadahRework; +import static goodgenerator.util.MyRecipeAdder.computeRangeNKE; import static gregtech.api.recipe.RecipeMaps.autoclaveRecipes; import static gregtech.api.recipe.RecipeMaps.blastFurnaceRecipes; import static gregtech.api.recipe.RecipeMaps.centrifugeRecipes; @@ -47,8 +49,11 @@ import static gregtech.api.util.GT_RecipeBuilder.MINUTES; import static gregtech.api.util.GT_RecipeBuilder.SECONDS; import static gregtech.api.util.GT_RecipeBuilder.TICKS; import static gregtech.api.util.GT_RecipeConstants.COIL_HEAT; +import static gregtech.api.util.GT_RecipeConstants.NKE_RANGE; +import static gregtech.api.util.GT_RecipeConstants.QFT_FOCUS_TIER; import static gregtech.api.util.GT_RecipeConstants.UniversalChemical; import static gregtech.common.items.GT_MetaGenerated_Item_01.registerCauldronCleaningFor; +import static gtPlusPlus.api.recipe.GTPPRecipeMaps.quantumForceTransformerRecipes; import java.lang.reflect.Constructor; import java.lang.reflect.Field; @@ -76,7 +81,6 @@ import com.github.bartimaeusnek.bartworks.system.material.WerkstoffLoader; import goodgenerator.main.GoodGenerator; import goodgenerator.util.CrackRecipeAdder; import goodgenerator.util.ItemRefer; -import goodgenerator.util.MyRecipeAdder; import gregtech.api.enums.GT_Values; import gregtech.api.enums.ItemList; import gregtech.api.enums.Materials; @@ -91,7 +95,6 @@ import gregtech.common.items.CombType; import gregtech.loaders.misc.GT_Bees; import gtPlusPlus.api.recipe.GTPPRecipeMaps; import gtPlusPlus.core.item.chemistry.GenericChem; -import gtPlusPlus.core.lib.CORE; public class NaquadahReworkRecipeLoader { @@ -101,68 +104,97 @@ public class NaquadahReworkRecipeLoader { try { // Naquadah (UEV) - CORE.RA.addQuantumTransformerRecipe( - new ItemStack[] { naquadahEarth.get(OrePrefixes.dust, 32), Materials.Sodium.getDust(64), - Materials.Carbon.getDust(1), GT_Utility.copyAmount(0, GenericChem.mSimpleNaquadahCatalyst) }, - new FluidStack[] { Materials.Hydrogen.getGas(64000L), Materials.Fluorine.getGas(64000L), - Materials.Oxygen.getGas(100L) }, - new FluidStack[] {}, - new ItemStack[] { inertNaquadah.get(OrePrefixes.dust, 1), Materials.Titanium.getDust(64), - Materials.Adamantium.getDust(64), Materials.Gallium.getDust(64) }, - new int[] { 2500, 2500, 2500, 2500 }, - 10 * 20, - (int) GT_Values.VP[10], - 2); + GT_Values.RA.stdBuilder() + .itemInputs( + naquadahEarth.get(OrePrefixes.dust, 32), + Materials.Sodium.getDust(64), + Materials.Carbon.getDust(1), + GT_Utility.copyAmount(0, GenericChem.mSimpleNaquadahCatalyst)) + .itemOutputs( + inertNaquadah.get(OrePrefixes.dust, 1), + Materials.Titanium.getDust(64), + Materials.Adamantium.getDust(64), + Materials.Gallium.getDust(64)) + .outputChances(2500, 2500, 2500, 2500) + .fluidInputs( + Materials.Hydrogen.getGas(64000L), + Materials.Fluorine.getGas(64000L), + Materials.Oxygen.getGas(100L)) + .duration(10 * SECONDS) + .eut(GT_Values.VP[10]) + .metadata(QFT_FOCUS_TIER, 2) + .addTo(quantumForceTransformerRecipes); // Enriched Naquadah (UIV) - CORE.RA.addQuantumTransformerRecipe( - new ItemStack[] { enrichedNaquadahEarth.get(OrePrefixes.dust, 32), Materials.Zinc.getDust(64), - Materials.Carbon.getDust(1), GT_Utility.copyAmount(0, GenericChem.mSimpleNaquadahCatalyst) }, - new FluidStack[] { Materials.SulfuricAcid.getFluid(16000), Materials.Oxygen.getGas(100L) }, - new FluidStack[] { wasteLiquid.getFluidOrGas(32000) }, - new ItemStack[] { inertEnrichedNaquadah.get(OrePrefixes.dust, 1), Materials.Trinium.getDust(64), }, - new int[] { 3300, 3300, 3300 }, - 10 * 20, - (int) GT_Values.VP[11], - 2); + GT_Values.RA.stdBuilder() + .itemInputs( + enrichedNaquadahEarth.get(OrePrefixes.dust, 32), + Materials.Zinc.getDust(64), + Materials.Carbon.getDust(1), + GT_Utility.copyAmount(0, GenericChem.mSimpleNaquadahCatalyst)) + .itemOutputs(inertEnrichedNaquadah.get(OrePrefixes.dust, 1), Materials.Trinium.getDust(64)) + .outputChances(3300, 3300, 3300) + .fluidInputs(Materials.SulfuricAcid.getFluid(16000), Materials.Oxygen.getGas(100L)) + .fluidOutputs(wasteLiquid.getFluidOrGas(32000)) + .duration(10 * SECONDS) + .eut(GT_Values.VP[11]) + .metadata(QFT_FOCUS_TIER, 2) + .addTo(quantumForceTransformerRecipes); // Naquadria (UMV) - CORE.RA.addQuantumTransformerRecipe( - new ItemStack[] { naquadriaEarth.get(OrePrefixes.dust, 32), Materials.Magnesium.getDust(64), - GT_Utility.copyAmount(0, GenericChem.mAdvancedNaquadahCatalyst) }, - new FluidStack[] { Materials.PhosphoricAcid.getFluid(16000), Materials.SulfuricAcid.getFluid(16000), - Materials.Oxygen.getGas(100L) }, - new FluidStack[] {}, - new ItemStack[] { inertNaquadria.get(OrePrefixes.dust, 1), Materials.Barium.getDust(64), - Materials.Indium.getDust(64), ItemList.NaquadriaSupersolid.get(1) }, - new int[] { 2500, 2500, 2500, 2500 }, - 5 * 20, - (int) GT_Values.VP[12], - 3); + GT_Values.RA.stdBuilder() + .itemInputs( + naquadriaEarth.get(OrePrefixes.dust, 32), + Materials.Magnesium.getDust(64), + GT_Utility.copyAmount(0, GenericChem.mAdvancedNaquadahCatalyst)) + .itemOutputs( + inertNaquadria.get(OrePrefixes.dust, 1), + Materials.Barium.getDust(64), + Materials.Indium.getDust(64), + ItemList.NaquadriaSupersolid.get(1)) + .outputChances(2500, 2500, 2500, 2500) + .fluidInputs( + Materials.PhosphoricAcid.getFluid(16000), + Materials.SulfuricAcid.getFluid(16000), + Materials.Oxygen.getGas(100L)) + .duration(5 * SECONDS) + .eut(GT_Values.VP[12]) + .metadata(QFT_FOCUS_TIER, 3) + .addTo(quantumForceTransformerRecipes); + // Activate Them - MyRecipeAdder.instance.addNeutronActivatorRecipe( - new FluidStack[] { Materials.Nickel.getPlasma(144 * 16) }, - new ItemStack[] { inertNaquadah.get(OrePrefixes.dust, 64), inertNaquadah.get(OrePrefixes.dust, 32) }, - new FluidStack[] { Materials.Naquadah.getMolten(144 * 9216) }, - new ItemStack[] { Materials.Nickel.getDust(16) }, - 2000, - 600, - 500); - MyRecipeAdder.instance.addNeutronActivatorRecipe( - new FluidStack[] { Materials.Titanium.getPlasma(16 * 144) }, - new ItemStack[] { inertEnrichedNaquadah.get(OrePrefixes.dust, 64), - inertEnrichedNaquadah.get(OrePrefixes.dust, 32) }, - new FluidStack[] { Materials.NaquadahEnriched.getMolten(144 * 9216) }, - new ItemStack[] { Materials.Titanium.getDust(16) }, - 2000, - 900, - 850); - MyRecipeAdder.instance.addNeutronActivatorRecipe( - new FluidStack[] { Materials.Americium.getPlasma(144 * 16) }, - new ItemStack[] { inertNaquadria.get(OrePrefixes.dust, 64), inertNaquadria.get(OrePrefixes.dust, 32) }, - new FluidStack[] { Materials.Naquadria.getMolten(144 * 9216) }, - new ItemStack[] { Materials.Americium.getDust(16) }, - 2000, - 1100, - 1080); + + GT_Values.RA.stdBuilder() + .itemInputs(inertNaquadah.get(OrePrefixes.dust, 64), inertNaquadah.get(OrePrefixes.dust, 32)) + .itemOutputs(Materials.Nickel.getDust(16)) + .fluidInputs(Materials.Nickel.getPlasma(144 * 16)) + .fluidOutputs(Materials.Naquadah.getMolten(144 * 9216)) + .duration(1 * MINUTES + 40 * SECONDS) + .eut(0) + .metadata(NKE_RANGE, computeRangeNKE(600, 500)) + .noOptimize() + .addTo(neutronActivatorRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + inertEnrichedNaquadah.get(OrePrefixes.dust, 64), + inertEnrichedNaquadah.get(OrePrefixes.dust, 32)) + .itemOutputs(Materials.Titanium.getDust(16)) + .fluidInputs(Materials.Titanium.getPlasma(16 * 144)) + .fluidOutputs(Materials.NaquadahEnriched.getMolten(144 * 9216)) + .duration(1 * MINUTES + 40 * SECONDS) + .eut(0) + .metadata(NKE_RANGE, computeRangeNKE(900, 850)) + .noOptimize() + .addTo(neutronActivatorRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(inertNaquadria.get(OrePrefixes.dust, 64), inertNaquadria.get(OrePrefixes.dust, 32)) + .itemOutputs(Materials.Americium.getDust(16)) + .fluidInputs(Materials.Americium.getPlasma(144 * 16)) + .fluidOutputs(Materials.Naquadria.getMolten(144 * 9216)) + .duration(1 * MINUTES + 40 * SECONDS) + .eut(0) + .metadata(NKE_RANGE, computeRangeNKE(1100, 1080)) + .noOptimize() + .addTo(neutronActivatorRecipes); + } catch (Throwable t) { // Cry about it } @@ -252,15 +284,18 @@ public class NaquadahReworkRecipeLoader { 15 * SECONDS, TierEU.RECIPE_HV); - MyRecipeAdder.instance.addNeutronActivatorRecipe( - new FluidStack[] { naquadahAdamantiumSolution.getFluidOrGas(3000) }, - null, - new FluidStack[] { naquadahRichSolution.getFluidOrGas(2000) }, - new ItemStack[] { adamantine.get(OrePrefixes.dust, 4), naquadahEarth.get(OrePrefixes.dust, 2), - concentratedEnrichedNaquadahSludge.get(OrePrefixes.dust, 1) }, - 100, - 230, - 200); + GT_Values.RA.stdBuilder() + .itemOutputs( + adamantine.get(OrePrefixes.dust, 4), + naquadahEarth.get(OrePrefixes.dust, 2), + concentratedEnrichedNaquadahSludge.get(OrePrefixes.dust, 1)) + .fluidInputs(naquadahAdamantiumSolution.getFluidOrGas(3000)) + .fluidOutputs(naquadahRichSolution.getFluidOrGas(2000)) + .duration(5 * SECONDS) + .eut(0) + .metadata(NKE_RANGE, computeRangeNKE(230, 200)) + .noOptimize() + .addTo(neutronActivatorRecipes); GT_Values.RA.stdBuilder() .itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.SodiumHydroxide, 27)) @@ -326,19 +361,21 @@ public class NaquadahReworkRecipeLoader { .eut(TierEU.RECIPE_HV) .addTo(autoclaveRecipes); - MyRecipeAdder.instance.addNeutronActivatorRecipe( - null, - new ItemStack[] { concentratedEnrichedNaquadahSludge.get(OrePrefixes.dust, 16), }, - null, - new ItemStack[] { enrichedNaquadahSulphate.get(OrePrefixes.dust, 64), - enrichedNaquadahSulphate.get(OrePrefixes.dust, 64), enrichedNaquadahSulphate.get(OrePrefixes.dust, 37), + GT_Values.RA.stdBuilder() + .itemInputs(concentratedEnrichedNaquadahSludge.get(OrePrefixes.dust, 16)) + .itemOutputs( + enrichedNaquadahSulphate.get(OrePrefixes.dust, 64), + enrichedNaquadahSulphate.get(OrePrefixes.dust, 64), + enrichedNaquadahSulphate.get(OrePrefixes.dust, 37), WerkstoffLoader.Sodiumsulfate.get(OrePrefixes.dust, 64), WerkstoffLoader.Sodiumsulfate.get(OrePrefixes.dust, 64), WerkstoffLoader.Sodiumsulfate.get(OrePrefixes.dust, 12), - lowQualityNaquadriaSulphate.get(OrePrefixes.dust, 2), }, - 120, - 480, - 460); + lowQualityNaquadriaSulphate.get(OrePrefixes.dust, 2)) + .duration(6 * SECONDS) + .eut(0) + .metadata(NKE_RANGE, computeRangeNKE(480, 460)) + .noOptimize() + .addTo(neutronActivatorRecipes); // Nq+(SO4)2 + 2Zn = Nq+ + 2ZnSO4 GT_Values.RA.stdBuilder() @@ -406,15 +443,16 @@ public class NaquadahReworkRecipeLoader { .eut(TierEU.RECIPE_IV) .addTo(UniversalChemical); - MyRecipeAdder.instance.addNeutronActivatorRecipe( - new FluidStack[] { naquadriaRichSolution.getFluidOrGas(9000) }, - null, - null, - new ItemStack[] { naquadriaSulphate.get(OrePrefixes.dust, 44), - lowQualityNaquadriaSulphate.get(OrePrefixes.dust, 6) }, - 100, - 1100, - 1050); + GT_Values.RA.stdBuilder() + .itemOutputs( + naquadriaSulphate.get(OrePrefixes.dust, 44), + lowQualityNaquadriaSulphate.get(OrePrefixes.dust, 6)) + .fluidInputs(naquadriaRichSolution.getFluidOrGas(9000)) + .duration(5 * SECONDS) + .eut(0) + .metadata(NKE_RANGE, computeRangeNKE(1100, 1050)) + .noOptimize() + .addTo(neutronActivatorRecipes); GT_Values.RA.stdBuilder() .itemInputs(lowQualityNaquadriaSulphate.get(OrePrefixes.dust, 3), Materials.Water.getCells(3)) diff --git a/src/main/java/goodgenerator/loader/NeutronActivatorLoader.java b/src/main/java/goodgenerator/loader/NeutronActivatorLoader.java index 09c2f9ae47..6e07c53235 100644 --- a/src/main/java/goodgenerator/loader/NeutronActivatorLoader.java +++ b/src/main/java/goodgenerator/loader/NeutronActivatorLoader.java @@ -1,16 +1,18 @@ package goodgenerator.loader; +import static goodgenerator.api.recipe.GoodGeneratorRecipeMaps.neutronActivatorRecipes; import static goodgenerator.items.MyMaterial.plutoniumBasedLiquidFuel; import static goodgenerator.items.MyMaterial.plutoniumBasedLiquidFuelExcited; import static goodgenerator.items.MyMaterial.thoriumBasedLiquidFuelDepleted; import static goodgenerator.items.MyMaterial.thoriumBasedLiquidFuelExcited; import static goodgenerator.items.MyMaterial.uraniumBasedLiquidFuel; import static goodgenerator.items.MyMaterial.uraniumBasedLiquidFuelExcited; +import static goodgenerator.util.MyRecipeAdder.computeRangeNKE; +import static gregtech.api.util.GT_RecipeBuilder.MINUTES; +import static gregtech.api.util.GT_RecipeBuilder.SECONDS; +import static gregtech.api.util.GT_RecipeConstants.NKE_RANGE; -import net.minecraft.item.ItemStack; -import net.minecraftforge.fluids.FluidStack; - -import goodgenerator.util.MyRecipeAdder; +import gregtech.api.enums.GT_Values; import gregtech.api.enums.Materials; import gregtech.api.enums.OrePrefixes; import gregtech.api.util.GT_OreDictUnificator; @@ -19,33 +21,32 @@ import gregtech.api.util.GT_Utility; public class NeutronActivatorLoader { public static void NARecipeLoad() { - MyRecipeAdder.instance.addNeutronActivatorRecipe( - new FluidStack[] { thoriumBasedLiquidFuelExcited.getFluidOrGas(200) }, - null, - new FluidStack[] { thoriumBasedLiquidFuelDepleted.getFluidOrGas(200) }, - null, - 10000, - 700, - 500); - - MyRecipeAdder.instance.addNeutronActivatorRecipe( - new FluidStack[] { uraniumBasedLiquidFuel.getFluidOrGas(100) }, - new ItemStack[] { - GT_Utility.copyAmount(0, GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Tungsten, 1)) }, - new FluidStack[] { uraniumBasedLiquidFuelExcited.getFluidOrGas(100) }, - null, - 80, - 550, - 450); + GT_Values.RA.stdBuilder() + .fluidInputs(thoriumBasedLiquidFuelExcited.getFluidOrGas(200)) + .fluidOutputs(thoriumBasedLiquidFuelDepleted.getFluidOrGas(200)) + .duration(8 * MINUTES + 20 * SECONDS) + .eut(0) + .metadata(NKE_RANGE, computeRangeNKE(700, 500)) + .noOptimize() + .addTo(neutronActivatorRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.copyAmount(0, GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Tungsten, 1))) + .fluidInputs(uraniumBasedLiquidFuel.getFluidOrGas(100)) + .fluidOutputs(uraniumBasedLiquidFuelExcited.getFluidOrGas(100)) + .duration(4 * SECONDS) + .eut(0) + .metadata(NKE_RANGE, computeRangeNKE(550, 450)) + .noOptimize() + .addTo(neutronActivatorRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.copyAmount(0, GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Tritanium, 1))) + .fluidInputs(plutoniumBasedLiquidFuel.getFluidOrGas(100)) + .fluidOutputs(plutoniumBasedLiquidFuelExcited.getFluidOrGas(100)) + .duration(4 * SECONDS) + .eut(0) + .metadata(NKE_RANGE, computeRangeNKE(600, 500)) + .noOptimize() + .addTo(neutronActivatorRecipes); - MyRecipeAdder.instance.addNeutronActivatorRecipe( - new FluidStack[] { plutoniumBasedLiquidFuel.getFluidOrGas(100) }, - new ItemStack[] { - GT_Utility.copyAmount(0, GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Tritanium, 1)) }, - new FluidStack[] { plutoniumBasedLiquidFuelExcited.getFluidOrGas(100) }, - null, - 80, - 600, - 500); } } diff --git a/src/main/java/goodgenerator/loader/RecipeLoader.java b/src/main/java/goodgenerator/loader/RecipeLoader.java index 9360eac50c..5e7450614c 100644 --- a/src/main/java/goodgenerator/loader/RecipeLoader.java +++ b/src/main/java/goodgenerator/loader/RecipeLoader.java @@ -24,6 +24,7 @@ import static gregtech.api.util.GT_RecipeConstants.COIL_HEAT; import static gregtech.api.util.GT_RecipeConstants.FUEL_TYPE; import static gregtech.api.util.GT_RecipeConstants.FUEL_VALUE; import static gregtech.api.util.GT_RecipeConstants.FUSION_THRESHOLD; +import static gregtech.api.util.GT_RecipeConstants.PRECISE_ASSEMBLER_CASING_TIER; import static gregtech.api.util.GT_RecipeConstants.RESEARCH_ITEM; import static gregtech.api.util.GT_RecipeConstants.RESEARCH_TIME; import static gregtech.api.util.GT_RecipeConstants.UniversalChemical; @@ -36,11 +37,11 @@ import net.minecraftforge.fluids.FluidStack; import com.github.bartimaeusnek.bartworks.system.material.WerkstoffLoader; +import goodgenerator.api.recipe.GoodGeneratorRecipeMaps; import goodgenerator.items.MyMaterial; import goodgenerator.util.CrackRecipeAdder; import goodgenerator.util.ItemRefer; import goodgenerator.util.MaterialFix; -import goodgenerator.util.MyRecipeAdder; import gregtech.api.enums.GT_Values; import gregtech.api.enums.ItemList; import gregtech.api.enums.Materials; @@ -957,14 +958,19 @@ public class RecipeLoader { GT_OreDictUnificator.get(OrePrefixes.stick, Materials.PolyvinylChloride, 1), 'C', GT_OreDictUnificator.get(OrePrefixes.itemCasing, Materials.Plastic, 1), 'D', "dyeCyan" }); - MyRecipeAdder.instance.addPreciseAssemblerRecipe( - new ItemStack[] { ItemList.Circuit_Board_Coated_Basic.get(1), ItemList.Circuit_Chip_ULPIC.get(1), - ItemList.ULV_Coil.get(2), ItemList.Battery_RE_ULV_Tantalum.get(1) }, - new FluidStack[] { Materials.RedAlloy.getMolten(144), Materials.Aluminium.getMolten(144) }, - ItemRefer.Micro_Heater.get(1), - 120, - 40, - 1); + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Circuit_Board_Coated_Basic.get(1), + ItemList.Circuit_Chip_ULPIC.get(1), + ItemList.ULV_Coil.get(2), + ItemList.Battery_RE_ULV_Tantalum.get(1)) + .itemOutputs(ItemRefer.Micro_Heater.get(1)) + .fluidInputs(Materials.RedAlloy.getMolten(144), Materials.Aluminium.getMolten(144)) + .duration(2 * SECONDS) + .eut(TierEU.RECIPE_MV) + .metadata(PRECISE_ASSEMBLER_CASING_TIER, 1) + .noOptimize() + .addTo(GoodGeneratorRecipeMaps.preciseAssemblerRecipes); GT_Values.RA.stdBuilder() .itemInputs( @@ -989,14 +995,19 @@ public class RecipeLoader { .eut(TierEU.RECIPE_LV) .addTo(autoclaveRecipes); - MyRecipeAdder.instance.addPreciseAssemblerRecipe( - new ItemStack[] { ItemRefer.Quartz_Wafer.get(1), ItemRefer.Special_Ceramics_Plate.get(2), - ItemRefer.Micro_Heater.get(1), ItemList.Circuit_Chip_ILC.get(4) }, - new FluidStack[] { Materials.EnergeticAlloy.getMolten(72), Materials.Silver.getMolten(18) }, - ItemRefer.Quartz_Crystal_Resonator.get(1), - 480, - 40, - 1); + GT_Values.RA.stdBuilder() + .itemInputs( + ItemRefer.Quartz_Wafer.get(1), + ItemRefer.Special_Ceramics_Plate.get(2), + ItemRefer.Micro_Heater.get(1), + ItemList.Circuit_Chip_ILC.get(4)) + .itemOutputs(ItemRefer.Quartz_Crystal_Resonator.get(1)) + .fluidInputs(Materials.EnergeticAlloy.getMolten(72), Materials.Silver.getMolten(18)) + .duration(2 * SECONDS) + .eut(TierEU.RECIPE_MV) + .metadata(PRECISE_ASSEMBLER_CASING_TIER, 1) + .noOptimize() + .addTo(GoodGeneratorRecipeMaps.preciseAssemblerRecipes); for (Materials tMat : solderingMats) { int tMultiplier = tMat.contains(SubTag.SOLDERING_MATERIAL_GOOD) ? 1 @@ -1185,13 +1196,15 @@ public class RecipeLoader { GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.Steel, 1), 'U', ItemRefer.High_Density_Uranium.get(1) }); - MyRecipeAdder.instance.addPreciseAssemblerRecipe( - new ItemStack[] { ItemRefer.HiC_T2.get(2), ItemList.Emitter_EV.get(2), ItemRefer.Neutron_Source.get(1) }, - new FluidStack[] { Materials.StainlessSteel.getMolten(576), Materials.TungstenCarbide.getMolten(144) }, - Loaders.NA.copy(), - 7680, - 100, - 1); + GT_Values.RA.stdBuilder() + .itemInputs(ItemRefer.HiC_T2.get(2), ItemList.Emitter_EV.get(2), ItemRefer.Neutron_Source.get(1)) + .itemOutputs(Loaders.NA.copy()) + .fluidInputs(Materials.StainlessSteel.getMolten(576), Materials.TungstenCarbide.getMolten(144)) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_IV) + .metadata(PRECISE_ASSEMBLER_CASING_TIER, 1) + .noOptimize() + .addTo(GoodGeneratorRecipeMaps.preciseAssemblerRecipes); } public static void InitLoadRecipe() { diff --git a/src/main/java/goodgenerator/loader/RecipeLoader_02.java b/src/main/java/goodgenerator/loader/RecipeLoader_02.java index 42568330bf..80e564a000 100644 --- a/src/main/java/goodgenerator/loader/RecipeLoader_02.java