diff options
author | GlodBlock <1356392126@qq.com> | 2021-07-31 23:40:59 +0800 |
---|---|---|
committer | GlodBlock <1356392126@qq.com> | 2021-07-31 23:40:59 +0800 |
commit | 96bff401ca9f6db063d14bd2931690baf2260791 (patch) | |
tree | 706c7a84f341ada44a0933bf3fce3228cc52de0b | |
parent | f10122fedec9ce1379c90c446ed8bb16d28d3678 (diff) | |
download | GT5-Unofficial-96bff401ca9f6db063d14bd2931690baf2260791.tar.gz GT5-Unofficial-96bff401ca9f6db063d14bd2931690baf2260791.tar.bz2 GT5-Unofficial-96bff401ca9f6db063d14bd2931690baf2260791.zip |
add recipe for Large Essentia Generator
7 files changed, 258 insertions, 14 deletions
diff --git a/src/main/java/GoodGenerator/Blocks/TEs/FuelRefineFactory.java b/src/main/java/GoodGenerator/Blocks/TEs/FuelRefineFactory.java index 3cfbf01fdf..f3b3abcbdc 100644 --- a/src/main/java/GoodGenerator/Blocks/TEs/FuelRefineFactory.java +++ b/src/main/java/GoodGenerator/Blocks/TEs/FuelRefineFactory.java @@ -167,7 +167,7 @@ public class FuelRefineFactory extends GT_MetaTileEntity_MultiblockBase_EM imple public String[] getDescription(){ final GT_Multiblock_Tooltip_Builder tt = new GT_Multiblock_Tooltip_Builder(); tt.addMachineType("Naquadah Fuel Refinery") - .addInfo("Controller block for the Naquadah Fuel Refine Factory") + .addInfo("Controller block for the Naquadah Fuel Refinery") .addInfo("But at what cost?") .addInfo("Produce the endgame naquadah fuel.") .addInfo("Need field restriction coil to control the fatal radiation.") diff --git a/src/main/java/GoodGenerator/Blocks/TEs/LargeEssentiaGenerator.java b/src/main/java/GoodGenerator/Blocks/TEs/LargeEssentiaGenerator.java index a769c7ce0e..1631bd60f3 100644 --- a/src/main/java/GoodGenerator/Blocks/TEs/LargeEssentiaGenerator.java +++ b/src/main/java/GoodGenerator/Blocks/TEs/LargeEssentiaGenerator.java @@ -219,11 +219,12 @@ public class LargeEssentiaGenerator extends GT_MetaTileEntity_MultiblockBase_EM public long getPower() { long power = 0; for (GT_MetaTileEntity_Hatch tHatch : this.eDynamoMulti) { - power += tHatch.maxEUOutput(); + power += tHatch.maxEUOutput() * tHatch.maxAmperesOut(); } for (GT_MetaTileEntity_Hatch tHatch : this.mDynamoHatches) { - power += tHatch.maxEUOutput(); + power += tHatch.maxEUOutput() * tHatch.maxAmperesOut(); } + if (power > Integer.MAX_VALUE) power = Integer.MAX_VALUE; return power; } diff --git a/src/main/java/GoodGenerator/CrossMod/Thaumcraft/Research.java b/src/main/java/GoodGenerator/CrossMod/Thaumcraft/Research.java new file mode 100644 index 0000000000..4399b68585 --- /dev/null +++ b/src/main/java/GoodGenerator/CrossMod/Thaumcraft/Research.java @@ -0,0 +1,179 @@ +package GoodGenerator.CrossMod.Thaumcraft; + +import GoodGenerator.util.DescTextLocalization; +import GoodGenerator.util.ItemRefer; +import com.github.bartimaeusnek.bartworks.system.material.WerkstoffLoader; +import gregtech.api.GregTech_API; +import gregtech.api.enums.ItemList; +import gregtech.api.enums.Materials; +import gregtech.api.enums.OrePrefixes; +import gregtech.api.enums.TC_Aspects; +import gregtech.api.util.GT_OreDictUnificator; +import gregtech.api.util.GT_Utility; +import ic2.core.Ic2Items; +import net.minecraft.item.ItemStack; +import thaumcraft.api.aspects.Aspect; +import thaumcraft.api.aspects.AspectList; +import thaumcraft.common.config.ConfigBlocks; +import thaumcraft.common.config.ConfigItems; + +import java.util.Arrays; + +import static thaumcraft.api.ThaumcraftApi.addArcaneCraftingRecipe; + +public class Research{ + + public static void addResearch() { + DescTextLocalization.addText("research.ESSENTIA_GENERATOR.page",3); + DescTextLocalization.addText("research.ESSENTIA_CELL.page",1); + GregTech_API.sThaumcraftCompat.addResearch( + "ESSENTIA_GENERATOR", + "Combustion Engine in Magic World", + "Will it cause Flux pollution?", + new String[]{"INFUSION"}, + "ARTIFICE", + ItemRefer.Large_Essentia_Generator, + 3, 0, -9, 3, + Arrays.asList( + new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 10L), + new TC_Aspects.TC_AspectStack(TC_Aspects.PRAECANTATIO, 10L), + new TC_Aspects.TC_AspectStack(TC_Aspects.POTENTIA, 10L), + new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 10L), + new TC_Aspects.TC_AspectStack(TC_Aspects.PERMUTATIO, 10L) + ), + null, + new Object[]{ + "research.ESSENTIA_GENERATOR.page.0", + GregTech_API.sThaumcraftCompat.addInfusionRecipe( + "ESSENTIA_GENERATOR", + ItemList.Hull_HV.get(1), + new ItemStack[]{ + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Advanced, 1L), + new ItemStack(ConfigBlocks.blockJar, 1), + GT_OreDictUnificator.get(OrePrefixes.gearGt, Materials.Thaumium, 1L), + GT_OreDictUnificator.get(OrePrefixes.gem, Materials.Emerald, 1L), + new ItemStack(ConfigBlocks.blockWoodenDevice, 1), + GT_OreDictUnificator.get(OrePrefixes.spring, Materials.Manyullyn, 1L), + Ic2Items.teslaCoil, + ItemList.Sensor_MV.get(1) + }, + ItemRefer.Large_Essentia_Generator, + 6, + Arrays.asList( + new TC_Aspects.TC_AspectStack(TC_Aspects.POTENTIA, 64L), + new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 64L), + new TC_Aspects.TC_AspectStack(TC_Aspects.PRAECANTATIO, 32), + new TC_Aspects.TC_AspectStack(TC_Aspects.PERMUTATIO, 32) + ) + ), + GregTech_API.sThaumcraftCompat.addInfusionRecipe( + "ESSENTIA_GENERATOR", + ItemList.Hatch_Input_HV.get(1), + new ItemStack[]{ + new ItemStack(ConfigBlocks.blockJar, 1), + ItemRefer.Magic_Casing, + new ItemStack(ConfigBlocks.blockTube, 1), + ItemList.Electric_Pump_MV.get(1L) + }, + ItemRefer.Essentia_Hatch, + 6, + Arrays.asList( + new TC_Aspects.TC_AspectStack(TC_Aspects.AQUA, 128), + new TC_Aspects.TC_AspectStack(TC_Aspects.VACUOS, 64), + new TC_Aspects.TC_AspectStack(TC_Aspects.PERMUTATIO, 32), + new TC_Aspects.TC_AspectStack(TC_Aspects.COGNITIO, 32) + ) + ), + GregTech_API.sThaumcraftCompat.addInfusionRecipe( + "ESSENTIA_GENERATOR", + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Thaumium, 1), + new ItemStack[]{ + GT_OreDictUnificator.get(OrePrefixes.pipeTiny, Materials.Steel, 1), + ItemList.Electric_Pump_MV.get(1L), + new ItemStack(ConfigBlocks.blockTube, 1, 4), + new ItemStack(ConfigBlocks.blockCosmeticOpaque, 1, 2), + }, + ItemRefer.Essentia_Cell_T1, + 4, + Arrays.asList( + new TC_Aspects.TC_AspectStack(TC_Aspects.AQUA, 32), + new TC_Aspects.TC_AspectStack(TC_Aspects.VACUOS, 32), + new TC_Aspects.TC_AspectStack(TC_Aspects.PERMUTATIO, 16) + ) + ), + addArcaneCraftingRecipe( + "ESSENTIA_GENERATOR", + ItemRefer.Magic_Casing, + new AspectList().add(Aspect.AIR, 50).add(Aspect.FIRE, 50).add(Aspect.ORDER, 50), + "SCS","GAG","SCS", + 'S', new ItemStack(ConfigItems.itemResource,1,14), + 'C', GT_OreDictUnificator.get(OrePrefixes.itemCasing, Materials.Thaumium, 1), + 'G', Ic2Items.reinforcedGlass, + 'A', Ic2Items.advancedMachine + ), + "research.ESSENTIA_GENERATOR.page.1", + "research.ESSENTIA_GENERATOR.page.2" + } + ); + GregTech_API.sThaumcraftCompat.addResearch( + "ESSENTIA_CELL", + "Better Cells", + "And higher efficiency.", + new String[]{"ESSENTIA_GENERATOR"}, + "ARTIFICE", + ItemRefer.Essentia_Cell_T3, + 2, 0, -10, 3, + Arrays.asList( + new TC_Aspects.TC_AspectStack(TC_Aspects.AQUA, 10L), + new TC_Aspects.TC_AspectStack(TC_Aspects.VACUOS, 10L), + new TC_Aspects.TC_AspectStack(TC_Aspects.ORDO, 10L), + new TC_Aspects.TC_AspectStack(TC_Aspects.PRAECANTATIO, 10L), + new TC_Aspects.TC_AspectStack(TC_Aspects.PERMUTATIO, 10L) + ), + null, + new Object[]{ + "research.ESSENTIA_CELL.page.0", + GregTech_API.sThaumcraftCompat.addInfusionRecipe( + "ESSENTIA_CELL", + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Thaumium, 1), + new ItemStack[]{ + GT_OreDictUnificator.get(OrePrefixes.pipeTiny, Materials.Enderium, 1), + ItemList.Electric_Pump_HV.get(1L), + ItemList.QuantumEye.get(1L), + new ItemStack(ConfigBlocks.blockCosmeticOpaque, 1, 2), + GT_OreDictUnificator.get(OrePrefixes.gearGt, Materials.Platinum, 1), + WerkstoffLoader.Salt.get(OrePrefixes.gemExquisite, 1) + }, + ItemRefer.Essentia_Cell_T2, + 5, + Arrays.asList( + new TC_Aspects.TC_AspectStack(TC_Aspects.AQUA, 64), + new TC_Aspects.TC_AspectStack(TC_Aspects.VACUOS, 64), + new TC_Aspects.TC_AspectStack(TC_Aspects.PERMUTATIO, 32) + ) + ), + GregTech_API.sThaumcraftCompat.addInfusionRecipe( + "ESSENTIA_CELL", + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Void, 1), + new ItemStack[]{ + GT_OreDictUnificator.get(OrePrefixes.pipeTiny, Materials.Titanium, 1), + ItemList.Electric_Pump_EV.get(1L), + ItemList.QuantumStar.get(1L), + new ItemStack(ConfigBlocks.blockCosmeticOpaque, 1, 2), + new ItemStack(ConfigItems.itemResource,1,14), + Ic2Items.iridiumPlate, + Ic2Items.fluidregulator, + new ItemStack(ConfigBlocks.blockCrystal, 1, 6), + }, + ItemRefer.Essentia_Cell_T3, + 6, + Arrays.asList( + new TC_Aspects.TC_AspectStack(TC_Aspects.AQUA, 128), + new TC_Aspects.TC_AspectStack(TC_Aspects.VACUOS, 128), + new TC_Aspects.TC_AspectStack(TC_Aspects.PERMUTATIO, 64) + ) + ), + } + ); + } +} diff --git a/src/main/java/GoodGenerator/CrossMod/Thaumcraft/ResearchItems.java b/src/main/java/GoodGenerator/CrossMod/Thaumcraft/ResearchItems.java deleted file mode 100644 index c6a88911c1..0000000000 --- a/src/main/java/GoodGenerator/CrossMod/Thaumcraft/ResearchItems.java +++ /dev/null @@ -1,8 +0,0 @@ -package GoodGenerator.CrossMod.Thaumcraft; - -import thaumcraft.api.research.ResearchItem; - -/*public class ResearchItems extends ResearchItem { - - public ResearchItems(String name, ) -}*/ diff --git a/src/main/java/GoodGenerator/Main/GoodGenerator.java b/src/main/java/GoodGenerator/Main/GoodGenerator.java index d4f47cab8f..2832075878 100644 --- a/src/main/java/GoodGenerator/Main/GoodGenerator.java +++ b/src/main/java/GoodGenerator/Main/GoodGenerator.java @@ -1,6 +1,7 @@ package GoodGenerator.Main; import GoodGenerator.Common.CommonProxy; +import GoodGenerator.CrossMod.Thaumcraft.Research; import GoodGenerator.Items.MyMaterial; import GoodGenerator.Loader.FuelRecipeLoader; import GoodGenerator.Loader.Loaders; @@ -8,13 +9,13 @@ import GoodGenerator.Loader.RecipeLoader; import GoodGenerator.Tabs.MyTabs; import GoodGenerator.Blocks.MyFluids.FluidsBuilder; import com.github.bartimaeusnek.bartworks.API.WerkstoffAdderRegistry; +import cpw.mods.fml.common.Loader; import cpw.mods.fml.common.SidedProxy; import cpw.mods.fml.common.event.FMLPostInitializationEvent; import cpw.mods.fml.common.event.FMLPreInitializationEvent; import net.minecraft.creativetab.CreativeTabs; import cpw.mods.fml.common.Mod; import cpw.mods.fml.common.event.FMLInitializationEvent; -import cpw.mods.fml.common.Loader; import static GoodGenerator.Loader.Loaders.addOreDic; import static GoodGenerator.Loader.Loaders.addTexturePage; @@ -57,5 +58,8 @@ public final class GoodGenerator { proxy.postInit(event); RecipeLoader.RecipeLoad(); RecipeLoader.Fixer(); + if (Loader.isModLoaded("Thaumcraft")){ + Research.addResearch(); + } } }
\ No newline at end of file diff --git a/src/main/java/GoodGenerator/util/ItemRefer.java b/src/main/java/GoodGenerator/util/ItemRefer.java new file mode 100644 index 0000000000..0fc605550e --- /dev/null +++ b/src/main/java/GoodGenerator/util/ItemRefer.java @@ -0,0 +1,64 @@ +package GoodGenerator.util; + +import net.minecraft.block.Block; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; + +import static GoodGenerator.Loader.Loaders.*; + +public final class ItemRefer { + + public static ItemStack Radiation_Protection_Plate = getItemStack(radiationProtectionPlate); + public static ItemStack Wrapped_Uranium_Ingot = getItemStack(wrappedUraniumIngot); + public static ItemStack High_Density_Uranium_Nugget = getItemStack(highDensityUraniumNugget); + public static ItemStack High_Density_Uranium = getItemStack(highDensityUranium); + public static ItemStack Wrapped_Thorium_Ingot = getItemStack(wrappedThoriumIngot); + public static ItemStack High_Density_Thorium_Nugget = getItemStack(highDensityThoriumNugget); + public static ItemStack High_Density_Thorium = getItemStack(highDensityThorium); + public static ItemStack Wrapped_Plutonium_Ingot = getItemStack(wrappedPlutoniumIngot); + public static ItemStack High_Density_Plutonium_Nugget = getItemStack(highDensityPlutoniumNugget); + public static ItemStack High_Density_Plutonium = getItemStack(highDensityPlutonium); + public static ItemStack Raw_Atomic_Separation_Catalyst = getItemStack(rawAtomicSeparationCatalyst); + public static ItemStack Advanced_Radiation_Protection_Plate = getItemStack(advancedRadiationProtectionPlate); + public static ItemStack Aluminum_Nitride_Dust = getItemStack(aluminumNitride); + public static ItemStack Special_Ceramics_Dust = getItemStack(specialCeramics); + public static ItemStack Special_Ceramics_Plate = getItemStack(specialCeramicsPlate); + + public static ItemStack Field_Restriction_Casing = getItemStack(MAR_Casing); + public static ItemStack Naquadah_Fuel_Refinery_Casing = getItemStack(FRF_Casings); + public static ItemStack Field_Restriction_Coil_T1 = getItemStack(FRF_Coil_1); + public static ItemStack Field_Restriction_Coil_T2 = getItemStack(FRF_Coil_2); + public static ItemStack Field_Restriction_Coil_T3 = getItemStack(FRF_Coil_3); + public static ItemStack Radiation_Proof_Steel_Frame_Box = getItemStack(radiationProtectionSteelFrame); + public static ItemStack Field_Restriction_Glass = getItemStack(fieldRestrictingGlass); + public static ItemStack Raw_Cylinder = getItemStack(rawCylinder); + public static ItemStack Titanium_Plated_Cylinder = getItemStack(titaniumPlatedCylinder); + public static ItemStack Magic_Casing = getItemStack(magicCasing); + public static ItemStack Essentia_Cell_T1 = getItemStack(essentiaCell, 0); + public static ItemStack Essentia_Cell_T2 = getItemStack(essentiaCell, 1); + public static ItemStack Essentia_Cell_T3 = getItemStack(essentiaCell, 2); + public static ItemStack Essentia_Hatch = getItemStack(essentiaHatch); + + public static ItemStack Large_Naquadah_Reactor = MAR; + public static ItemStack Naquadah_Fuel_Refinery = FRF; + public static ItemStack Universal_Chemical_Fuel_Engine = UCFE; + public static ItemStack Large_Essentia_Generator = LEG; + + private static ItemStack getItemStack(Item item) { + return getItemStack(item, 0); + } + + private static ItemStack getItemStack(Item item, int meta) { + if (item == null) return null; + return new ItemStack(item, 1, meta); + } + + private static ItemStack getItemStack(Block block) { + return getItemStack(block, 0); + } + + private static ItemStack getItemStack(Block block, int meta) { + if (block == null) return null; + return new ItemStack(block, 1, meta); + } +} diff --git a/src/main/resources/assets/goodgenerator/lang/en_US.lang b/src/main/resources/assets/goodgenerator/lang/en_US.lang index 6d5c40ee64..bc35c0aef4 100644 --- a/src/main/resources/assets/goodgenerator/lang/en_US.lang +++ b/src/main/resources/assets/goodgenerator/lang/en_US.lang @@ -5,7 +5,7 @@ fieldRestrictingGlass.0.name=Field Restriction Glass FRF_Coil_1.0.name=Field Restriction Coil FRF_Coil_2.0.name=Advanced Field Restriction Coil FRF_Coil_3.0.name=Ultimate Field Restriction Coil -FRF_Casing.0.name=Naquadah Fuel Refine Factory Casing +FRF_Casing.0.name=Naquadah Fuel Refinery Casing rawCylinder.0.name=Raw Cylinder titaniumPlatedCylinder.0.name=Titanium Plated Cylinder magicCasing.0.name=Magic Casing @@ -71,7 +71,7 @@ value.naquadah_fuel_refine_factory.1= Coil FuelRefineFactory.hint.0=8x Field Restriction Glass FuelRefineFactory.hint.1=32x Field Restriction Coil of any tier -FuelRefineFactory.hint.2=At least 104x Naquadah Fuel Refine Factory Casing +FuelRefineFactory.hint.2=At least 104x Naquadah Fuel Refinery Casing FuelRefineFactory.hint.3=1~16x Input Hatch FuelRefineFactory.hint.4=1~16x Output Hatch FuelRefineFactory.hint.5=1~16x Input Bus @@ -115,3 +115,7 @@ achievement.FRF_Coil_2.0.desc=Pickup this item to see the recipe in NEI achievement.FRF_Coil_3.0=Ultimate Field Restriction Coil achievement.FRF_Coil_3.0.desc=Pickup this item to see the recipe in NEI +research.ESSENTIA_GENERATOR.page.0=You have found that Essentia contains much more power than you thought. Is there a way to generate electricity from these Essentia? +research.ESSENTIA_GENERATOR.page.1=Different Essentia contains different amount of energy.<BR><BR>Potentia: 4500EU<BR><BR>Ignis: 3000EU<BR><BR>Lucrum: 13000EU<BR><BR>Auram: 9000EU<BR><BR>Arbor: 2200EU<BR><BR>Aer: 1300EU<BR><BR>Praecantatio: 5200EU<BR><BR>Machina: 4000EU<BR><BR>Electrum: 32768EU<BR><BR>Radio: 131072EU +research.ESSENTIA_GENERATOR.page.2=The unlisted Aspects contain 512EU per Essentia. +research.ESSENTIA_CELL.page.0=The Novice Cell has such low efficiency that you can't bear it. So you discovered a new way to make some better Cells<BR><BR>The Novice Cell only provides 1 StablePoint, the Adept one provides 2 StablePoint, and the Master one provides 5 StablePoint!<BR><BR>With higher StablePoint, the generator can create more electricity from pre Essential.
\ No newline at end of file |