diff options
author | miozune <miozune@gmail.com> | 2022-12-20 04:26:07 +0900 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-12-19 20:26:07 +0100 |
commit | 0c2cc10fea8f3e09d2e09c926a5134ec4acf4fc7 (patch) | |
tree | d53541e495cdafc2f4a492b4b1374d1ad8710684 /src/main/java | |
parent | d554223fc52408d1a5170cdfbc547fba25b670d3 (diff) | |
download | GT5-Unofficial-0c2cc10fea8f3e09d2e09c926a5134ec4acf4fc7.tar.gz GT5-Unofficial-0c2cc10fea8f3e09d2e09c926a5134ec4acf4fc7.tar.bz2 GT5-Unofficial-0c2cc10fea8f3e09d2e09c926a5134ec4acf4fc7.zip |
Adapt SpaceTime and Graphene wire to Wiremill Configuration Circuit support (#1566)
Diffstat (limited to 'src/main/java')
3 files changed, 112 insertions, 96 deletions
diff --git a/src/main/java/gregtech/api/util/GT_RecipeRegistrator.java b/src/main/java/gregtech/api/util/GT_RecipeRegistrator.java index 713380972f..d6751ebd84 100644 --- a/src/main/java/gregtech/api/util/GT_RecipeRegistrator.java +++ b/src/main/java/gregtech/api/util/GT_RecipeRegistrator.java @@ -653,6 +653,113 @@ public class GT_RecipeRegistrator { } } + /** + * Registers wiremill recipes for given material using integrated circuits. + * @param aMaterial material to register + * @param baseDuration base duration ticks for ingot -> 1x wire recipe + * @param aEUt EU/t for recipe + */ + public static void registerWiremillRecipes(Materials aMaterial, int baseDuration, int aEUt) { + registerWiremillRecipes(aMaterial, baseDuration, aEUt, OrePrefixes.ingot, OrePrefixes.stick, 2); + } + + /** + * Registers wiremill recipes for given material using integrated circuits. + * @param aMaterial material to register + * @param baseDuration base duration ticks for ingot -> 1x wire recipe + * @param aEUt EU/t for recipe + * @param prefix1 prefix corresponds to ingot + * @param prefix2 prefix corresponds to stick + * @param multiplier amount of wires created from 1 ingot + */ + public static void registerWiremillRecipes( + Materials aMaterial, int baseDuration, int aEUt, OrePrefixes prefix1, OrePrefixes prefix2, int multiplier) { + GT_Values.RA.addWiremillRecipe( + GT_OreDictUnificator.get(prefix1, aMaterial, 1L), + GT_Utility.getIntegratedCircuit(1), + GT_OreDictUnificator.get(OrePrefixes.wireGt01, aMaterial, multiplier), + baseDuration, + aEUt); + GT_Values.RA.addWiremillRecipe( + GT_OreDictUnificator.get(prefix1, aMaterial, 2L / multiplier), + GT_Utility.getIntegratedCircuit(2), + GT_OreDictUnificator.get(OrePrefixes.wireGt02, aMaterial, 1L), + (int) (baseDuration * 1.5f), + aEUt); + GT_Values.RA.addWiremillRecipe( + GT_OreDictUnificator.get(prefix1, aMaterial, 4L / multiplier), + GT_Utility.getIntegratedCircuit(4), + GT_OreDictUnificator.get(OrePrefixes.wireGt04, aMaterial, 1L), + baseDuration * 2, + aEUt); + GT_Values.RA.addWiremillRecipe( + GT_OreDictUnificator.get(prefix1, aMaterial, 8L / multiplier), + GT_Utility.getIntegratedCircuit(8), + GT_OreDictUnificator.get(OrePrefixes.wireGt08, aMaterial, 1L), + (int) (baseDuration * 2.5f), + aEUt); + GT_Values.RA.addWiremillRecipe( + GT_OreDictUnificator.get(prefix1, aMaterial, 12L / multiplier), + GT_Utility.getIntegratedCircuit(12), + GT_OreDictUnificator.get(OrePrefixes.wireGt12, aMaterial, 1L), + baseDuration * 3, + aEUt); + GT_Values.RA.addWiremillRecipe( + GT_OreDictUnificator.get(prefix1, aMaterial, 16L / multiplier), + GT_Utility.getIntegratedCircuit(16), + GT_OreDictUnificator.get(OrePrefixes.wireGt16, aMaterial, 1L), + (int) (baseDuration * 3.5f), + aEUt); + GT_Values.RA.addWiremillRecipe( + GT_OreDictUnificator.get(prefix2, aMaterial, 2L / multiplier), + GT_Utility.getIntegratedCircuit(1), + GT_OreDictUnificator.get(OrePrefixes.wireGt01, aMaterial, 1L), + baseDuration / 2, + aEUt); + GT_Values.RA.addWiremillRecipe( + GT_OreDictUnificator.get(prefix2, aMaterial, 4L / multiplier), + GT_Utility.getIntegratedCircuit(2), + GT_OreDictUnificator.get(OrePrefixes.wireGt02, aMaterial, 1L), + baseDuration, + aEUt); + GT_Values.RA.addWiremillRecipe( + GT_OreDictUnificator.get(prefix2, aMaterial, 8L / multiplier), + GT_Utility.getIntegratedCircuit(4), + GT_OreDictUnificator.get(OrePrefixes.wireGt04, aMaterial, 1L), + (int) (baseDuration * 1.5f), + aEUt); + GT_Values.RA.addWiremillRecipe( + GT_OreDictUnificator.get(prefix2, aMaterial, 16L / multiplier), + GT_Utility.getIntegratedCircuit(8), + GT_OreDictUnificator.get(OrePrefixes.wireGt08, aMaterial, 1L), + baseDuration * 2, + aEUt); + GT_Values.RA.addWiremillRecipe( + GT_OreDictUnificator.get(prefix2, aMaterial, 24L / multiplier), + GT_Utility.getIntegratedCircuit(12), + GT_OreDictUnificator.get(OrePrefixes.wireGt12, aMaterial, 1L), + (int) (baseDuration * 2.5f), + aEUt); + GT_Values.RA.addWiremillRecipe( + GT_OreDictUnificator.get(prefix2, aMaterial, 32L / multiplier), + GT_Utility.getIntegratedCircuit(16), + GT_OreDictUnificator.get(OrePrefixes.wireGt16, aMaterial, 1L), + baseDuration * 3, + aEUt); + GT_Values.RA.addWiremillRecipe( + GT_OreDictUnificator.get(prefix1, aMaterial, 1L), + GT_Utility.getIntegratedCircuit(3), + GT_OreDictUnificator.get(OrePrefixes.wireFine, aMaterial, 4L * multiplier), + baseDuration, + aEUt); + GT_Values.RA.addWiremillRecipe( + GT_OreDictUnificator.get(prefix2, aMaterial, 1L), + GT_Utility.getIntegratedCircuit(3), + GT_OreDictUnificator.get(OrePrefixes.wireFine, aMaterial, 2L * multiplier), + baseDuration / 2, + aEUt); + } + public static boolean hasVanillaRecipes(Materials materials) { return Arrays.stream(VANILLA_MATS).anyMatch(mat -> mat == materials); } diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingFineWire.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingFineWire.java index bd6fb6a905..046bcf5cda 100644 --- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingFineWire.java +++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingFineWire.java @@ -1,11 +1,10 @@ package gregtech.loaders.oreprocessing; -import gregtech.api.enums.GT_Values; import gregtech.api.enums.Materials; import gregtech.api.enums.OrePrefixes; import gregtech.api.enums.SubTag; import gregtech.api.util.GT_ModHandler; -import gregtech.api.util.GT_OreDictUnificator; +import gregtech.api.util.GT_RecipeRegistrator; import gregtech.api.util.GT_Utility; import gregtech.common.GT_Proxy; import net.minecraft.item.ItemStack; @@ -19,90 +18,7 @@ public class ProcessingFineWire implements gregtech.api.interfaces.IOreRecipeReg public void registerOre( OrePrefixes aPrefix, Materials aMaterial, String aOreDictName, String aModName, ItemStack aStack) { if (!aMaterial.contains(gregtech.api.enums.SubTag.NO_SMASHING)) { - GT_Values.RA.addWiremillRecipe( - GT_OreDictUnificator.get(OrePrefixes.ingot, aMaterial, 1L), - GT_Utility.getIntegratedCircuit(1), - GT_OreDictUnificator.get(OrePrefixes.wireGt01, aMaterial, 2L), - 100, - 4); - GT_Values.RA.addWiremillRecipe( - GT_OreDictUnificator.get(OrePrefixes.ingot, aMaterial, 1L), - GT_Utility.getIntegratedCircuit(2), - GT_OreDictUnificator.get(OrePrefixes.wireGt02, aMaterial, 1L), - 150, - 4); - GT_Values.RA.addWiremillRecipe( - GT_OreDictUnificator.get(OrePrefixes.ingot, aMaterial, 2L), - GT_Utility.getIntegratedCircuit(4), - GT_OreDictUnificator.get(OrePrefixes.wireGt04, aMaterial, 1L), - 200, - 4); - GT_Values.RA.addWiremillRecipe( - GT_OreDictUnificator.get(OrePrefixes.ingot, aMaterial, 4L), - GT_Utility.getIntegratedCircuit(8), - GT_OreDictUnificator.get(OrePrefixes.wireGt08, aMaterial, 1L), - 250, - 4); - GT_Values.RA.addWiremillRecipe( - GT_OreDictUnificator.get(OrePrefixes.ingot, aMaterial, 6L), - GT_Utility.getIntegratedCircuit(12), - GT_OreDictUnificator.get(OrePrefixes.wireGt12, aMaterial, 1L), - 300, - 4); - GT_Values.RA.addWiremillRecipe( - GT_OreDictUnificator.get(OrePrefixes.ingot, aMaterial, 8L), - GT_Utility.getIntegratedCircuit(16), - GT_OreDictUnificator.get(OrePrefixes.wireGt16, aMaterial, 1L), - 350, - 4); - GT_Values.RA.addWiremillRecipe( - GT_OreDictUnificator.get(OrePrefixes.stick, aMaterial, 1L), - GT_Utility.getIntegratedCircuit(1), - GT_OreDictUnificator.get(OrePrefixes.wireGt01, aMaterial, 1L), - 50, - 4); - GT_Values.RA.addWiremillRecipe( - GT_OreDictUnificator.get(OrePrefixes.stick, aMaterial, 2L), - GT_Utility.getIntegratedCircuit(2), - GT_OreDictUnificator.get(OrePrefixes.wireGt02, aMaterial, 1L), - 100, - 4); - GT_Values.RA.addWiremillRecipe( - GT_OreDictUnificator.get(OrePrefixes.stick, aMaterial, 4L), - GT_Utility.getIntegratedCircuit(4), - GT_OreDictUnificator.get(OrePrefixes.wireGt04, aMaterial, 1L), - 150, - 4); - GT_Values.RA.addWiremillRecipe( - GT_OreDictUnificator.get(OrePrefixes.stick, aMaterial, 8L), - GT_Utility.getIntegratedCircuit(8), - GT_OreDictUnificator.get(OrePrefixes.wireGt08, aMaterial, 1L), - 200, - 4); - GT_Values.RA.addWiremillRecipe( - GT_OreDictUnificator.get(OrePrefixes.stick, aMaterial, 12L), - GT_Utility.getIntegratedCircuit(12), - GT_OreDictUnificator.get(OrePrefixes.wireGt12, aMaterial, 1L), - 250, - 4); - GT_Values.RA.addWiremillRecipe( - GT_OreDictUnificator.get(OrePrefixes.stick, aMaterial, 16L), - GT_Utility.getIntegratedCircuit(16), - GT_OreDictUnificator.get(OrePrefixes.wireGt16, aMaterial, 1L), - 300, - 4); - GT_Values.RA.addWiremillRecipe( - GT_OreDictUnificator.get(OrePrefixes.ingot, aMaterial, 1L), - GT_Utility.getIntegratedCircuit(3), - GT_OreDictUnificator.get(OrePrefixes.wireFine, aMaterial, 8L), - 100, - 4); - GT_Values.RA.addWiremillRecipe( - GT_OreDictUnificator.get(OrePrefixes.stick, aMaterial, 1L), - GT_Utility.getIntegratedCircuit(3), - GT_OreDictUnificator.get(OrePrefixes.wireFine, aMaterial, 4L), - 50, - 4); + GT_RecipeRegistrator.registerWiremillRecipes(aMaterial, 100, 4); } if ((aMaterial.mUnificatable) && (aMaterial.mMaterialInto == aMaterial) diff --git a/src/main/java/gregtech/loaders/postload/GT_MachineRecipeLoader.java b/src/main/java/gregtech/loaders/postload/GT_MachineRecipeLoader.java index 632aa77c47..2278daa05e 100644 --- a/src/main/java/gregtech/loaders/postload/GT_MachineRecipeLoader.java +++ b/src/main/java/gregtech/loaders/postload/GT_MachineRecipeLoader.java @@ -5233,11 +5233,7 @@ public class GT_MachineRecipeLoader implements Runnable { new ItemStack(Items.string, 32), 80, 48); - GT_Values.RA.addWiremillRecipe( - GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.SpaceTime, 1L), - GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.SpaceTime, 2L), - 400, - 32000); + GT_RecipeRegistrator.registerWiremillRecipes(Materials.SpaceTime, 400, 32000); GT_Values.RA.addDistilleryRecipe( GT_Utility.getIntegratedCircuit(24), @@ -8595,11 +8591,8 @@ public class GT_MachineRecipeLoader implements Runnable { 200, 1); } - GT_Values.RA.addWiremillRecipe( - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Graphene, 1L), - GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.Graphene, 1L), - 400, - 2); + GT_RecipeRegistrator.registerWiremillRecipes( + Materials.Graphene, 400, 2, OrePrefixes.dust, OrePrefixes.stick, 1); if (!GregTech_API.sRecipeFile.get(ConfigCategories.Recipes.disabledrecipes, "torchesFromCoal", false)) { GT_Values.RA.addAssemblerRecipe( GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Wood, 1L), |