aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGlodBlock <1356392126@qq.com>2021-07-31 23:40:59 +0800
committerGlodBlock <1356392126@qq.com>2021-07-31 23:40:59 +0800
commit96bff401ca9f6db063d14bd2931690baf2260791 (patch)
tree706c7a84f341ada44a0933bf3fce3228cc52de0b
parentf10122fedec9ce1379c90c446ed8bb16d28d3678 (diff)
downloadGT5-Unofficial-96bff401ca9f6db063d14bd2931690baf2260791.tar.gz
GT5-Unofficial-96bff401ca9f6db063d14bd2931690baf2260791.tar.bz2
GT5-Unofficial-96bff401ca9f6db063d14bd2931690baf2260791.zip
add recipe for Large Essentia Generator
-rw-r--r--src/main/java/GoodGenerator/Blocks/TEs/FuelRefineFactory.java2
-rw-r--r--src/main/java/GoodGenerator/Blocks/TEs/LargeEssentiaGenerator.java5
-rw-r--r--src/main/java/GoodGenerator/CrossMod/Thaumcraft/Research.java179
-rw-r--r--src/main/java/GoodGenerator/CrossMod/Thaumcraft/ResearchItems.java8
-rw-r--r--src/main/java/GoodGenerator/Main/GoodGenerator.java6
-rw-r--r--src/main/java/GoodGenerator/util/ItemRefer.java64
-rw-r--r--src/main/resources/assets/goodgenerator/lang/en_US.lang8
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