aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTec <daniel112092@gmail.com>2019-08-27 22:19:38 +0200
committerTec <daniel112092@gmail.com>2019-08-27 22:19:38 +0200
commitfe181c4330f9899238407c4f86119505efc1a7b0 (patch)
treeb4dccc3590204a3a91a8fffd0d8fb6de5901ab84
parenta560a97a4376e8ac198cd686b633f6f7b06c31e7 (diff)
parente5354f073336ee89f330781d2a9d8058839e9074 (diff)
downloadGT5-Unofficial-fe181c4330f9899238407c4f86119505efc1a7b0.tar.gz
GT5-Unofficial-fe181c4330f9899238407c4f86119505efc1a7b0.tar.bz2
GT5-Unofficial-fe181c4330f9899238407c4f86119505efc1a7b0.zip
Merge branch 'master' into BassAddons
# Conflicts: # src/main/java/com/github/technus/tectech/compatibility/dreamcraft/DreamCraftRecipeLoader.java # src/main/java/com/github/technus/tectech/loader/NetworkDispatcher.java # src/main/java/com/github/technus/tectech/thing/item/ParametrizerMemoryCard.java
-rw-r--r--.gitignore2
-rw-r--r--build.properties2
-rw-r--r--src/main/java/com/github/technus/tectech/Reference.java1
-rw-r--r--src/main/java/com/github/technus/tectech/Util.java28
-rw-r--r--src/main/java/com/github/technus/tectech/compatibility/dreamcraft/DreamCraftRecipeLoader.java79
-rw-r--r--src/main/java/com/github/technus/tectech/compatibility/spartakcore/SpartakCoreRecipeLoader.java687
-rw-r--r--src/main/java/com/github/technus/tectech/font/TecTechFontRender.java4
-rw-r--r--src/main/java/com/github/technus/tectech/loader/NetworkDispatcher.java13
-rw-r--r--src/main/java/com/github/technus/tectech/loader/recipe/RecipeLoader.java4
-rw-r--r--src/main/java/com/github/technus/tectech/loader/thing/MachineLoader.java5
-rw-r--r--src/main/java/com/github/technus/tectech/thing/CustomItemList.java2
-rw-r--r--src/main/java/com/github/technus/tectech/thing/item/ParametrizerMemoryCard.java52
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_Param.java9
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_ParamText.java203
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_Rack.java11
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/TextParametersMessage.java160
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_Container_ParamText.java151
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_GUIContainer_ParamText.java168
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_bhg.java106
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_decay.java10
-rw-r--r--src/main/resources/assets/gregtech/textures/gui/ParametrizerText.pngbin0 -> 1476 bytes
21 files changed, 1621 insertions, 76 deletions
diff --git a/.gitignore b/.gitignore
index 4b05cbe9e4..2b05b0c5ea 100644
--- a/.gitignore
+++ b/.gitignore
@@ -33,3 +33,5 @@ GregTech.cfg
options.txt
GregTech.lang
mods/
+classes/
+logs/
diff --git a/build.properties b/build.properties
index 63c7da998a..a1bc5fd88c 100644
--- a/build.properties
+++ b/build.properties
@@ -1,6 +1,6 @@
minecraft.version=1.7.10
forge.version=1.7.10-10.13.4.1614-1.7.10
-tectech.version=3.7.1
+tectech.version=3.7.3
ic2.version=2.2.790-experimental
codechickenlib.version=1.1.3.140
diff --git a/src/main/java/com/github/technus/tectech/Reference.java b/src/main/java/com/github/technus/tectech/Reference.java
index 6b5db0a519..99f944adec 100644
--- a/src/main/java/com/github/technus/tectech/Reference.java
+++ b/src/main/java/com/github/technus/tectech/Reference.java
@@ -12,6 +12,7 @@ public final class Reference {
public static final String THAUMCRAFT = "Thaumcraft";
public static final String DREAMCRAFT = "dreamcraft";
public static final String GTPLUSPLUS = "miscutils";
+ public static final String SPARTAKCORE = "spartakcore";
private Reference() {}
}
diff --git a/src/main/java/com/github/technus/tectech/Util.java b/src/main/java/com/github/technus/tectech/Util.java
index b669585733..70e3a4562c 100644
--- a/src/main/java/com/github/technus/tectech/Util.java
+++ b/src/main/java/com/github/technus/tectech/Util.java
@@ -70,9 +70,8 @@ public final class Util {
if(bits==null){
return 0;
}
- bits=bits.replaceAll("[^-01]","");
if(bits.length() > 32){
- return 0;
+ throw new NumberFormatException("Too long!");
}
return Integer.parseInt(bits,2);
}
@@ -81,9 +80,8 @@ public final class Util {
if(hex==null){
return 0;
}
- hex=hex.toLowerCase().replaceAll("[^-0-9a-f]","");
if(hex.length()>8){
- return 0;
+ throw new NumberFormatException("Too long!");
}
return Integer.parseInt(hex,16);
}
@@ -92,13 +90,29 @@ public final class Util {
if(str==null){
return 0;
}
- str=str.toLowerCase().replaceAll("[^-0-9.,e]","");
- if(str.length()>8){
+ return Double.parseDouble(str);
+ }
+
+ public static double getValue(String in1) {
+ String str = in1.toLowerCase();
+ double val;
+ try {
+ if (str.contains("b")) {
+ String[] split = str.split("b");
+ val = Util.bitStringToInt(split[0].replaceAll("[^-]", "") + split[1].replaceAll("_", ""));
+ } else if (str.contains("x")) {
+ String[] split = str.split("x");
+ val = Util.hexStringToInt(split[0].replaceAll("[^-]", "") + split[1].replaceAll("_", ""));
+ } else {
+ val = Util.stringToDouble(str);
+ }
+ return val;
+ } catch (Exception e) {
return 0;
}
- return Integer.parseInt(str,16);
}
+
public static String intBitsToString(int number) {
StringBuilder result = new StringBuilder(16);
diff --git a/src/main/java/com/github/technus/tectech/compatibility/dreamcraft/DreamCraftRecipeLoader.java b/src/main/java/com/github/technus/tectech/compatibility/dreamcraft/DreamCraftRecipeLoader.java
index 027ef5542d..605ce17509 100644
--- a/src/main/java/com/github/technus/tectech/compatibility/dreamcraft/DreamCraftRecipeLoader.java
+++ b/src/main/java/com/github/technus/tectech/compatibility/dreamcraft/DreamCraftRecipeLoader.java
@@ -245,7 +245,7 @@ public class DreamCraftRecipeLoader implements Runnable {
GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Transformer_MAX_UV.get(1), CustomItemList.eM_dynamoMulti4_UV.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.NaquadahAlloy, 2), GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Osmium, 4)}, Materials.Electrum.getMolten(1152), CustomItemList.eM_dynamoMulti16_UV.get(1), 200, 122880);
GT_Values.RA.addAssemblerRecipe(new ItemStack[]{getItemContainer("WetTransformer_UHV_UV").get(1), CustomItemList.eM_dynamoMulti16_UV.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt12, Materials.NaquadahAlloy, 2), GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Osmium, 6)}, Materials.Tungsten.getMolten(1152), CustomItemList.eM_dynamoMulti64_UV.get(1), 400, 122880);
- GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hatch_Dynamo_MAX.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.Superconductor, 2), GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Neutronium, 2)}, Materials.Silver.getMolten(2304), CustomItemList.eM_dynamoMulti4_UHV.get(1), 100, 500000);
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hatch_Dynamo_MAX.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.SuperconductorUHV, 2), GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Neutronium, 2)}, Materials.Silver.getMolten(2304), CustomItemList.eM_dynamoMulti4_UHV.get(1), 100, 500000);
GT_Values.RA.addAssemblerRecipe(new ItemStack[]{getItemContainer("Transformer_UEV_UHV").get(1), CustomItemList.eM_dynamoMulti4_UHV.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.SuperconductorUHV, 2), GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Neutronium, 4)}, Materials.Electrum.getMolten(2304), CustomItemList.eM_dynamoMulti16_UHV.get(1), 200, 500000);
GT_Values.RA.addAssemblerRecipe(new ItemStack[]{getItemContainer("WetTransformer_UEV_UHV").get(1), CustomItemList.eM_dynamoMulti16_UHV.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt12, Materials.SuperconductorUHV, 2), GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Neutronium, 6)}, Materials.Tungsten.getMolten(2304), CustomItemList.eM_dynamoMulti64_UHV.get(1), 400, 500000);
@@ -262,7 +262,7 @@ public class DreamCraftRecipeLoader implements Runnable {
GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Transformer_MAX_UV.get(1), CustomItemList.eM_energyMulti4_UV.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.NaquadahAlloy, 2), GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Osmium, 4)}, Materials.Electrum.getMolten(1000), CustomItemList.eM_energyMulti16_UV.get(1), 200, 122880);
GT_Values.RA.addAssemblerRecipe(new ItemStack[]{getItemContainer("WetTransformer_UHV_UV").get(1), CustomItemList.eM_energyMulti16_UV.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt12, Materials.NaquadahAlloy, 2), GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Osmium, 6)}, Materials.Tungsten.getMolten(1000), CustomItemList.eM_energyMulti64_UV.get(1), 400, 122880);
- GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hatch_Energy_MAX.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.Superconductor, 2), GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Neutronium, 2)}, Materials.Silver.getMolten(2000), CustomItemList.eM_energyMulti4_UHV.get(1), 100, 500000);
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hatch_Energy_MAX.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.SuperconductorUHV, 2), GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Neutronium, 2)}, Materials.Silver.getMolten(2000), CustomItemList.eM_energyMulti4_UHV.get(1), 100, 500000);
GT_Values.RA.addAssemblerRecipe(new ItemStack[]{getItemContainer("Transformer_UEV_UHV").get(1), CustomItemList.eM_energyMulti4_UHV.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.SuperconductorUHV, 2), GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Neutronium, 4)}, Materials.Electrum.getMolten(2000), CustomItemList.eM_energyMulti16_UHV.get(1), 200, 500000);
GT_Values.RA.addAssemblerRecipe(new ItemStack[]{getItemContainer("WetTransformer_UEV_UHV").get(1), CustomItemList.eM_energyMulti16_UHV.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt12, Materials.SuperconductorUHV, 2), GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Neutronium, 6)}, Materials.Tungsten.getMolten(2000), CustomItemList.eM_energyMulti64_UHV.get(1), 400, 500000);
@@ -503,7 +503,8 @@ public class DreamCraftRecipeLoader implements Runnable {
GT_Values.RA.addAssemblerRecipe(new ItemStack[]{
getItemContainer("WetTransformer_ZPM_LuV").get(1),
getItemContainer("HighEnergyFlowCircuit").get(1),
- GT_OreDictUnificator.get(OrePrefixes.wireGt01, getOrDefault("SuperconductorLuV", Materials.Superconductor), 16),
+ GT_OreDictUnificator.get(OrePrefixes.wireGt01, getOrDefault("SuperconductorLuV",Materials.Superconductor), 16),
+ ItemList.valueOf("Circuit_Chip_UHPIC").get(2),
}, Materials.TungstenSteel.getMolten(576), CustomItemList.Machine_Multi_Transformer.get(1), 400, 30720);
//Network Switch
@@ -550,48 +551,48 @@ public class DreamCraftRecipeLoader implements Runnable {
//Matter Junction
TT_recipeAdder.addResearchableAssemblylineRecipe(CustomItemList.Machine_Multi_Switch.get(1),
8000, 32, 500000, 4, new ItemStack[]{
- CustomItemList.Machine_Multi_Transformer.get(1),
- GT_OreDictUnificator.get(OrePrefixes.pipeMedium, Materials.Naquadah, 4),
- ItemList.Robot_Arm_LuV.get(2),
- ItemList.Electric_Piston_LuV.get(2),
- ItemList.Circuit_Wetwaresupercomputer.get(2),
- GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.Superconductor, 4),
- }, new FluidStack[]{
- Materials.UUMatter.getFluid(1000),
- Materials.Naquadah.getMolten(1296),
- new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000),
- Materials.Osmium.getMolten(1296),
- }, CustomItemList.Machine_Multi_EMjunction.get(1), 12000, 100000);
+ CustomItemList.Machine_Multi_Transformer.get(1),
+ GT_OreDictUnificator.get(OrePrefixes.pipeMedium, Materials.Naquadah, 4),
+ ItemList.Robot_Arm_LuV.get(2),
+ ItemList.Electric_Piston_LuV.get(2),
+ ItemList.Circuit_Wetwaresupercomputer.get(2),
+ GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.SuperconductorUHV, 4),
+ }, new FluidStack[]{
+ Materials.UUMatter.getFluid(1000),
+ Materials.Naquadah.getMolten(1296),
+ new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000),
+ Materials.Osmium.getMolten(1296),
+ }, CustomItemList.Machine_Multi_EMjunction.get(1), 12000, 100000);
//Matter Quantizer
TT_recipeAdder.addResearchableAssemblylineRecipe(ItemList.Hatch_Input_UV.get(1),
12000, 32, 500000, 6, new ItemStack[]{
- CustomItemList.Machine_Multi_Transformer.get(1),
- GT_OreDictUnificator.get(OrePrefixes.pipeMedium, Materials.Naquadah, 4),
- ItemList.Emitter_UV.get(2),
- ItemList.Circuit_Wetwaresupercomputer.get(1),
- GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.Superconductor, 2),
- }, new FluidStack[]{
- Materials.UUMatter.getFluid(1000),
- Materials.Naquadah.getMolten(1296),
- new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000),
- Materials.Osmium.getMolten(1296),
- }, CustomItemList.Machine_Multi_MatterToEM.get(1), 12000, 100000);
+ CustomItemList.Machine_Multi_Transformer.get(1),
+ GT_OreDictUnificator.get(OrePrefixes.pipeMedium, Materials.Naquadah, 4),
+ ItemList.Emitter_UV.get(2),
+ ItemList.Circuit_Wetwaresupercomputer.get(1),
+ GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.SuperconductorUHV, 2),
+ }, new FluidStack[]{
+ Materials.UUMatter.getFluid(1000),
+ Materials.Naquadah.getMolten(1296),
+ new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000),
+ Materials.Osmium.getMolten(1296),
+ }, CustomItemList.Machine_Multi_MatterToEM.get(1), 12000, 100000);
//Matter DeQuantizer
TT_recipeAdder.addResearchableAssemblylineRecipe(ItemList.Hatch_Output_UV.get(1),
12000, 32, 500000, 6, new ItemStack[]{
- CustomItemList.Machine_Multi_Transformer.get(1),
- GT_OreDictUnificator.get(OrePrefixes.pipeMedium, Materials.Naquadah, 4),
- ItemList.Sensor_UV.get(2),
- ItemList.Circuit_Wetwaresupercomputer.get(1),
- GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.Superconductor, 2),
- }, new FluidStack[]{
- Materials.UUMatter.getFluid(1000),
- Materials.Naquadah.getMolten(1296),
- new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000),
- Materials.Osmium.getMolten(1296),
- }, CustomItemList.Machine_Multi_EMToMatter.get(1), 12000, 100000);
+ CustomItemList.Machine_Multi_Transformer.get(1),
+ GT_OreDictUnificator.get(OrePrefixes.pipeMedium, Materials.Naquadah, 4),
+ ItemList.Sensor_UV.get(2),
+ ItemList.Circuit_Wetwaresupercomputer.get(1),
+ GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.SuperconductorUHV, 2),
+ }, new FluidStack[]{
+ Materials.UUMatter.getFluid(1000),
+ Materials.Naquadah.getMolten(1296),
+ new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000),
+ Materials.Osmium.getMolten(1296),
+ }, CustomItemList.Machine_Multi_EMToMatter.get(1), 12000, 100000);
//Essentia Quantizer
TT_recipeAdder.addResearchableAssemblylineRecipe(CustomItemList.Machine_Multi_MatterToEM.get(1),
@@ -1138,7 +1139,7 @@ public class DreamCraftRecipeLoader implements Runnable {
ItemList.Circuit_Wafer_HPIC.get(64),
ItemList.Circuit_Wafer_HPIC.get(64),
ItemList.Circuit_Parts_DiodeSMD.get(64),
- GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.Superconductor, 32),
+ GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.SuperconductorUHV, 32),
}, new FluidStack[]{
Materials.SolderingAlloy.getMolten(2880),
new FluidStack(FluidRegistry.getFluid("ic2coolant"), 16000)
@@ -1638,4 +1639,4 @@ public class DreamCraftRecipeLoader implements Runnable {
GT_MetaTileEntity_EM_machine.registerBehaviour(() -> new Behaviour_Recycler(11), getItemContainer("RecyclerUIV").get(1));
GT_MetaTileEntity_EM_machine.registerBehaviour(() -> new Behaviour_Recycler(12), getItemContainer("RecyclerUMV").get(1));
}
-} \ No newline at end of file
+}
diff --git a/src/main/java/com/github/technus/tectech/compatibility/spartakcore/SpartakCoreRecipeLoader.java b/src/main/java/com/github/technus/tectech/compatibility/spartakcore/SpartakCoreRecipeLoader.java
new file mode 100644
index 0000000000..778fbad919
--- /dev/null
+++ b/src/main/java/com/github/technus/tectech/compatibility/spartakcore/SpartakCoreRecipeLoader.java
@@ -0,0 +1,687 @@
+package com.github.technus.tectech.compatibility.spartakcore;
+
+import com.github.technus.tectech.recipe.TT_recipeAdder;
+import com.github.technus.tectech.thing.CustomItemList;
+import com.github.technus.tectech.thing.block.QuantumGlassBlock;
+import com.github.technus.tectech.thing.metaTileEntity.multi.em_machine.Behaviour_Centrifuge;
+import com.github.technus.tectech.thing.metaTileEntity.multi.em_machine.Behaviour_ElectromagneticSeparator;
+import com.github.technus.tectech.thing.metaTileEntity.multi.em_machine.Behaviour_Recycler;
+import com.github.technus.tectech.thing.metaTileEntity.multi.em_machine.GT_MetaTileEntity_EM_machine;
+
+import cpw.mods.fml.common.Loader;
+import gregtech.api.enums.GT_Values;
+import gregtech.api.enums.ItemList;
+import gregtech.api.enums.Materials;
+import gregtech.api.enums.OrePrefixes;
+import gregtech.api.interfaces.IItemContainer;
+import gregtech.api.util.GT_ModHandler;
+import gregtech.api.util.GT_OreDictUnificator;
+import gregtech.api.util.GT_Utility;
+import net.minecraft.init.Blocks;
+import net.minecraft.item.ItemStack;
+import net.minecraftforge.fluids.FluidRegistry;
+import net.minecraftforge.fluids.FluidStack;
+
+import java.lang.reflect.Method;
+
+import static com.github.technus.tectech.loader.recipe.RecipeLoader.getOrDefault;
+
+/**
+ * Created by Spartak1997 on 28.07.2019.
+ */
+public class SpartakCoreRecipeLoader implements Runnable {
+
+ @Override
+ public void run() {
+
+ //Quantum Glass
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{
+ CustomItemList.eM_Containment.get(1),
+ GT_ModHandler.getIC2Item("reinforcedGlass", 1L)
+ }, Materials.Osmium.getMolten(576), new ItemStack(QuantumGlassBlock.INSTANCE, 1), 200, 500000);
+
+ //region pipes
+
+ //Data
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{
+ ItemList.Circuit_Parts_GlassFiber.get(8),
+ GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Silver, 8)
+ }, Materials.Polytetrafluoroethylene.getMolten(144), CustomItemList.DATApipe.get(1), 200, 30720);
+
+ //endregion
+
+ //Tunnel
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{
+ CustomItemList.DATApipe.get(1),
+ GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.Osmiridium, 4),
+ GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Osmium, 4),
+ GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.Superconductor, 2),
+ ItemList.Field_Generator_MV.get(1),
+ ItemList.Circuit_Quantummainframe.get(1)
+ }, Materials.Osmium.getMolten(288), CustomItemList.EMpipe.get(1), 400, 500000);
+
+ //Laser
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{
+ CustomItemList.DATApipe.get(1),
+ GT_ModHandler.getIC2Item("reinforcedGlass", 1L),
+ GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Osmiridium, 2)
+ }, null, CustomItemList.LASERpipe.get(1), 100, 500000);
+
+ //endregoin
+
+ //region casing
+
+ //High Power Casing
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{
+ GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Iridium, 1),
+ GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.Iridium, 6),
+ GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Master, 1),
+ GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Cobalt, 16),
+ GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Copper, 16),
+ GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.NiobiumTitanium, 2)
+ }, Materials.TungstenSteel.getMolten(576), CustomItemList.eM_Power.get(1), 100, 30720);
+
+ //Computer Casing
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{
+ CustomItemList.eM_Power.get(1),
+ GT_OreDictUnificator.get(OrePrefixes.plate, Materials.StainlessSteel, 8),
+ GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Ultimate, 1),
+ GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.NiobiumTitanium, 2)
+ }, Materials.Aluminium.getMolten(1296), CustomItemList.eM_Computer_Casing.get(1), 200, 122880);
+ //Computer Vent Casing
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{
+ GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.StainlessSteel, 1),
+ ItemList.Electric_Motor_IV.get(2),
+ GT_OreDictUnificator.get(OrePrefixes.rotor, Materials.StainlessSteel, 2),
+ GT_OreDictUnificator.get(OrePrefixes.pipeTiny, Materials.StainlessSteel, 16),
+ GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Copper, 16),
+ GT_OreDictUnificator.get(OrePrefixes.wireGt01, getOrDefault("SuperconductorIV",Materials.Superconductor), 1)
+ }, Materials.SolderingAlloy.getMolten(1296), CustomItemList.eM_Computer_Vent.get(1), 100, 1920);
+ //Advanced Computer Casing
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{
+ CustomItemList.eM_Computer_Casing.get(1),
+ GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Ultimate, 1),
+ GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Cobalt, 64),
+ GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Electrum, 64),
+ GT_OreDictUnificator.get(OrePrefixes.wireGt02, getOrDefault("SuperconductorLuV",Materials.Superconductor), 4)
+ }, Materials.Iridium.getMolten(1296), CustomItemList.eM_Computer_Bus.get(1), 200, 122880);
+
+ //Molecular Casing
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{
+ CustomItemList.eM_Power.get(1),
+ GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.Osmiridium, 6),
+ GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Osmium, 12),
+ GT_OreDictUnificator.get(OrePrefixes.screw, Materials.TungstenSteel, 24),
+ GT_OreDictUnificator.get(OrePrefixes.ring, Materials.TungstenSteel, 24),
+ ItemList.Field_Generator_IV.get(1)
+ }, Materials.Osmium.getMolten(1296), CustomItemList.eM_Containment.get(1), 800, 500000);
+
+ //Hollow Casing
+ TT_recipeAdder.addResearchableAssemblylineRecipe(CustomItemList.eM_Containment.get(1),
+ 12000,32, 500000, 6, new ItemStack[]{
+ CustomItemList.eM_Containment.get(1),
+ GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.Neutronium, 2),
+ GT_OreDictUnificator.get(OrePrefixes.plateQuadruple, Materials.Plutonium, 4),
+ GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.Lead, 8),
+ GT_OreDictUnificator.get(OrePrefixes.plate, getOrDefault("BlackPlutonium",Materials.Americium), 16),
+ GT_OreDictUnificator.get(OrePrefixes.screw, getOrDefault("Quantium",Materials.Neutronium), 16),
+ }, new FluidStack[]{
+ getOrDefault("Trinium",Materials.Americium).getMolten(1296),
+ Materials.Osmium.getMolten(1296),
+ new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000),
+ Materials.Argon.getGas(1000),
+ }, CustomItemList.eM_Hollow.get(2), 200, 2000000);
+
+ //EM Coil
+ TT_recipeAdder.addResearchableAssemblylineRecipe(CustomItemList.eM_Hollow.get(1),
+ 48000,128, 1000000, 16, new ItemStack[]{
+ CustomItemList.eM_Hollow.get(1),
+ ItemList.Casing_Fusion_Coil.get(4),
+ ItemList.Casing_Coil_NaquadahAlloy.get( 4),
+ GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Neutronium, 64),
+ GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Neutronium, 64),
+ }, new FluidStack[]{
+ Materials.Glass.getMolten(2304),
+ Materials.Silicone.getMolten(1872),
+ new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000),
+ getOrDefault("Trinium",Materials.Osmium).getMolten(1296),
+ }, CustomItemList.eM_Coil.get(4), 800, 2000000);
+
+ //endregion
+
+
+ //region hatches
+
+ //Dynamo Hatches IV-UHV
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{
+ ItemList.Hatch_Dynamo_IV.get(1),
+ GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.Tungsten, 2),
+ GT_OreDictUnificator.get(OrePrefixes.plate, Materials.TungstenSteel, 2)},
+ Materials.Silver.getMolten(144),
+ CustomItemList.eM_dynamoMulti4_IV.get(1), 100, 1920);
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{
+ CustomItemList.eM_dynamoMulti4_IV.get(1),
+ GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.Tungsten, 2),
+ GT_OreDictUnificator.get(OrePrefixes.plate, Materials.TungstenSteel, 4)},
+ Materials.Electrum.getMolten(144),
+ CustomItemList.eM_dynamoMulti16_IV.get(1), 200, 1920);
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{
+ CustomItemList.eM_dynamoMulti16_IV.get(1),
+ GT_OreDictUnificator.get(OrePrefixes.wireGt12, Materials.Tungsten, 2),
+ GT_OreDictUnificator.get(OrePrefixes.plate, Materials.TungstenSteel, 6)},
+ Materials.Tungsten.getMolten(144),
+ CustomItemList.eM_dynamoMulti64_IV.get(1), 400, 1920);
+
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{
+ ItemList.Hatch_Dynamo_LuV.get(1),
+ GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.VanadiumGallium, 2),
+ GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Chrome, 2)},
+ Materials.Silver.getMolten(288),
+ CustomItemList.eM_dynamoMulti4_LuV.get(1), 100, 7860);
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{
+ CustomItemList.eM_dynamoMulti4_LuV.get(1),
+ GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.VanadiumGallium, 2),
+ GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Chrome, 4)},
+ Materials.Electrum.getMolten(288),
+ CustomItemList.eM_dynamoMulti16_LuV.get(1), 200, 7860);
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{
+ CustomItemList.eM_dynamoMulti16_LuV.get(1),
+ GT_OreDictUnificator.get(OrePrefixes.wireGt12, Materials.VanadiumGallium, 2),
+ GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Chrome, 6)},
+ Materials.Tungsten.getMolten(288),
+ CustomItemList.eM_dynamoMulti64_LuV.get(1), 400, 7860);
+
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{
+ ItemList.Hatch_Dynamo_ZPM.get(1),
+ GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.Naquadah, 2),
+ GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Iridium, 2)},
+ Materials.Silver.getMolten(576),
+ CustomItemList.eM_dynamoMulti4_ZPM.get(1), 100, 30720);
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{
+ CustomItemList.eM_dynamoMulti4_ZPM.get(1),
+ GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.Naquadah, 2),
+ GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Iridium, 4)},
+ Materials.Electrum.getMolten(576),
+ CustomItemList.eM_dynamoMulti16_ZPM.get(1), 200, 30720);
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{
+ CustomItemList.eM_dynamoMulti16_ZPM.get(1),
+ GT_OreDictUnificator.get(OrePrefixes.wireGt12, Materials.Naquadah, 2),
+ GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Iridium, 6)},
+ Materials.Tungsten.getMolten(576),
+ CustomItemList.eM_dynamoMulti64_ZPM.get(1), 400, 30720);
+
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{
+ ItemList.Hatch_Dynamo_UV.get(1),
+ GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.NaquadahAlloy, 2),
+ GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Osmium, 2)},
+ Materials.Silver.getMolten(1152),
+ CustomItemList.eM_dynamoMulti4_UV.get(1), 100, 122880);
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{
+ CustomItemList.eM_dynamoMulti4_UV.get(1),
+ GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.NaquadahAlloy, 2),
+ GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Osmium, 4)},
+ Materials.Electrum.getMolten(1152),
+ CustomItemList.eM_dynamoMulti16_UV.get(1), 200, 122880);
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{
+ CustomItemList.eM_dynamoMulti16_UV.get(1),
+ GT_OreDictUnificator.get(OrePrefixes.wireGt12, Materials.NaquadahAlloy, 2),
+ GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Osmium, 6)},
+ Materials.Tungsten.getMolten(1152),
+ CustomItemList.eM_dynamoMulti64_UV.get(1), 400, 122880);
+
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{
+ ItemList.Hatch_Dynamo_MAX.get(1),
+ GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.Superconductor, 2),
+ GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Neutronium, 2)},
+ Materials.Silver.getMolten(2304),
+ CustomItemList.eM_dynamoMulti4_UHV.get(1), 100, 500000);
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{
+ CustomItemList.eM_dynamoMulti4_UHV.get(1),
+ GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.Superconductor, 2),
+ GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Neutronium, 4)},
+ Materials.Electrum.getMolten(2304),
+ CustomItemList.eM_dynamoMulti16_UHV.get(1), 200, 500000);
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{
+ CustomItemList.eM_dynamoMulti16_UHV.get(1),
+ GT_OreDictUnificator.get(OrePrefixes.wireGt12, Materials.Superconductor, 2),
+ GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Neutronium, 6)},
+ Materials.Tungsten.getMolten(2304),
+ CustomItemList.eM_dynamoMulti64_UHV.get(1), 400, 500000);
+
+ //Energy Hatches 4A-64A IV-UHV
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{
+ ItemList.Hatch_Energy_IV.get(1),
+ GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.Tungsten, 2),
+ GT_OreDictUnificator.get(OrePrefixes.plate, Materials.TungstenSteel, 2)},
+ Materials.Silver.getMolten(144),
+ CustomItemList.eM_energyMulti4_IV.get(1), 100, 7680);
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{
+ CustomItemList.eM_energyMulti4_IV.get(1),
+ GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.Tungsten, 2),
+ GT_OreDictUnificator.get(OrePrefixes.plate, Materials.TungstenSteel, 4)},
+ Materials.Electrum.getMolten(144),
+ CustomItemList.eM_energyMulti16_IV.get(1), 200, 7680);
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{
+ CustomItemList.eM_energyMulti16_IV.get(1),
+ GT_OreDictUnificator.get(OrePrefixes.wireGt12, Materials.Tungsten, 2),
+ GT_OreDictUnificator.get(OrePrefixes.plate, Materials.TungstenSteel, 6)},
+ Materials.Tungsten.getMolten(144),
+ CustomItemList.eM_energyMulti64_IV.get(1), 400, 7680);
+
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{
+ ItemList.Hatch_Energy_LuV.get(1),
+ GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.VanadiumGallium, 2),
+ GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Chrome, 2)},
+ Materials.Silver.getMolten(288),
+ CustomItemList.eM_energyMulti4_LuV.get(1), 100, 30720);
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{
+ CustomItemList.eM_energyMulti4_LuV.get(1),
+ GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.VanadiumGallium, 2),
+ GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Chrome, 4)},
+ Materials.Electrum.getMolten(288),
+ CustomItemList.eM_energyMulti16_LuV.get(1), 200, 30720);
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{
+ CustomItemList.eM_energyMulti16_LuV.get(1),
+ GT_OreDictUnificator.get(OrePrefixes.wireGt12, Materials.VanadiumGallium, 2),
+ GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Chrome, 6)},
+ Materials.Tungsten.getMolten(288),
+ CustomItemList.eM_energyMulti64_LuV.get(1), 400, 30720);
+
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{
+ ItemList.Hatch_Energy_ZPM.get(1),
+ GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.Naquadah, 2),
+ GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Iridium, 2)},
+ Materials.Silver.getMolten(576),
+ CustomItemList.eM_energyMulti4_ZPM.get(1), 100, 122880);
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{
+ CustomItemList.eM_energyMulti4_ZPM.get(1),
+ GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.Naquadah, 2),
+ GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Iridium, 4)},
+ Materials.Electrum.getMolten(576),
+ CustomItemList.eM_energyMulti16_ZPM.get(1), 200, 122880);
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{
+ CustomItemList.eM_energyMulti16_ZPM.get(1),
+ GT_OreDictUnificator.get(OrePrefixes.wireGt12, Materials.Naquadah, 2),
+ GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Iridium, 6)},
+ Materials.Tungsten.getMolten(576),
+ CustomItemList.eM_energyMulti64_ZPM.get(1), 400, 122880);
+
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{
+ ItemList.Hatch_Energy_UV.get(1),
+ GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.NaquadahAlloy, 2),
+ GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Osmium, 2)},
+ Materials.Silver.getMolten(1152),
+ CustomItemList.eM_energyMulti4_UV.get(1), 100, 500000);
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{
+ CustomItemList.eM_energyMulti4_UV.get(1),
+ GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.NaquadahAlloy, 2),
+ GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Osmium, 4)},
+ Materials.Electrum.getMolten(1152),
+ CustomItemList.eM_energyMulti16_UV.get(1), 200, 500000);
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{
+ CustomItemList.eM_energyMulti16_UV.get(1),
+ GT_OreDictUnificator.get(OrePrefixes.wireGt12, Materials.NaquadahAlloy, 2),
+ GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Osmium, 6)},
+ Materials.Tungsten.getMolten(1152),
+ CustomItemList.eM_energyMulti64_UV.get(1), 400, 500000);
+
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{
+ ItemList.Hatch_Energy_MAX.get(1),
+ GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.Superconductor, 2),
+ GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Neutronium, 2)},
+ Materials.Silver.getMolten(2304),
+ CustomItemList.eM_energyMulti4_UHV.get(1), 100, 500000);
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{
+ CustomItemList.eM_energyMulti4_UHV.get(1),
+ GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.Superconductor, 2),
+ GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Neutronium, 4)},
+ Materials.Electrum.getMolten(2304),
+ CustomItemList.eM_energyMulti16_UHV.get(1), 200, 500000);
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{
+ CustomItemList.eM_energyMulti16_UHV.get(1),
+ GT_OreDictUnificator.get(OrePrefixes.wireGt12, Materials.Superconductor, 2),
+ GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Neutronium, 6)},
+ Materials.Tungsten.getMolten(2304),
+ CustomItemList.eM_energyMulti64_UHV.get(1), 400, 500000);
+
+ //Laser Dynamo IV-UV 256/t
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_IV.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 1), ItemList.Emitter_IV.get(1), ItemList.Electric_Pump_IV.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.TungstenSteel, 2), GT_Utility.getIntegratedCircuit(1)}, null, CustomItemList.eM_dynamoTunnel1_IV.get(1), 1000, 7680);
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_LuV.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 1), ItemList.Emitter_LuV.get(1), ItemList.Electric_Pump_LuV.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.VanadiumGallium, 2), GT_Utility.getIntegratedCircuit(1)}, null, CustomItemList.eM_dynamoTunnel1_LuV.get(1), 1000, 30720);
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_ZPM.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 1), ItemList.Emitter_ZPM.get(1), ItemList.Electric_Pump_ZPM.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.Naquadah, 2), GT_Utility.getIntegratedCircuit(1)}, null, CustomItemList.eM_dynamoTunnel1_ZPM.get(1), 1000, 122880);
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_UV.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 1), ItemList.Emitter_UV.get(1), ItemList.Electric_Pump_UV.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.NaquadahAlloy, 2), GT_Utility.getIntegratedCircuit(1)}, null, CustomItemList.eM_dynamoTunnel1_UV.get(1), 1000, 500000);
+
+ //Laser Dynamo IV-UV 1024/t
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_IV.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 2), ItemList.Emitter_IV.get(2), ItemList.Electric_Pump_IV.get(2), GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.TungstenSteel, 4), GT_Utility.getIntegratedCircuit(2)}, null, CustomItemList.eM_dynamoTunnel2_IV.get(1), 2000, 7680);
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_LuV.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 2), ItemList.Emitter_LuV.get(2), ItemList.Electric_Pump_LuV.get(2), GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.VanadiumGallium, 4), GT_Utility.getIntegratedCircuit(2)}, null, CustomItemList.eM_dynamoTunnel2_LuV.get(1), 2000, 30720);
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_ZPM.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 2), ItemList.Emitter_ZPM.get(2), ItemList.Electric_Pump_ZPM.get(2), GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.Naquadah, 4), GT_Utility.getIntegratedCircuit(2)}, null, CustomItemList.eM_dynamoTunnel2_ZPM.get(1), 2000, 122880);
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_UV.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 2), ItemList.Emitter_UV.get(2), ItemList.Electric_Pump_UV.get(2), GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.NaquadahAlloy, 4), GT_Utility.getIntegratedCircuit(2)}, null, CustomItemList.eM_dynamoTunnel2_UV.get(1), 2000, 500000);
+
+ //Laser Dynamo IV-UV 4096/t
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_IV.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 4), ItemList.Emitter_IV.get(4), ItemList.Electric_Pump_IV.get(4), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.TungstenSteel, 4), GT_Utility.getIntegratedCircuit(3)}, null, CustomItemList.eM_dynamoTunnel3_IV.get(1), 4000, 7680);
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_LuV.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 4), ItemList.Emitter_LuV.get(4), ItemList.Electric_Pump_LuV.get(4), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.VanadiumGallium, 4), GT_Utility.getIntegratedCircuit(3)}, null, CustomItemList.eM_dynamoTunnel3_LuV.get(1), 4000, 30720);
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_ZPM.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 4), ItemList.Emitter_ZPM.get(4), ItemList.Electric_Pump_ZPM.get(4), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.Naquadah, 4), GT_Utility.getIntegratedCircuit(3)}, null, CustomItemList.eM_dynamoTunnel3_ZPM.get(1), 4000, 122880);
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_UV.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 4), ItemList.Emitter_UV.get(4), ItemList.Electric_Pump_UV.get(4), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.NaquadahAlloy, 4), GT_Utility.getIntegratedCircuit(3)}, null, CustomItemList.eM_dynamoTunnel3_UV.get(1), 4000, 500000);
+
+ //Laser Dynamo IV-UV 16384/t
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_IV.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 8), ItemList.Emitter_IV.get(8), ItemList.Electric_Pump_IV.get(8), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.TungstenSteel, 8), GT_Utility.getIntegratedCircuit(4)}, null, CustomItemList.eM_dynamoTunnel4_IV.get(1), 8000, 7680);
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_LuV.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 8), ItemList.Emitter_LuV.get(8), ItemList.Electric_Pump_LuV.get(8), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.VanadiumGallium, 8), GT_Utility.getIntegratedCircuit(4)}, null, CustomItemList.eM_dynamoTunnel4_LuV.get(1), 8000, 30720);
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_ZPM.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 8), ItemList.Emitter_ZPM.get(8), ItemList.Electric_Pump_ZPM.get(8), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.Naquadah, 8), GT_Utility.getIntegratedCircuit(4)}, null, CustomItemList.eM_dynamoTunnel4_ZPM.get(1), 8000, 122880);
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_UV.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 8), ItemList.Emitter_UV.get(8), ItemList.Electric_Pump_UV.get(8), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.NaquadahAlloy, 8), GT_Utility.getIntegratedCircuit(4)}, null, CustomItemList.eM_dynamoTunnel4_UV.get(1), 8000, 500000);
+
+ //Laser Dynamo IV-UV 65536/t
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_IV.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 16), ItemList.Emitter_IV.get(16), ItemList.Electric_Pump_IV.get(16), GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.TungstenSteel, 8), GT_Utility.getIntegratedCircuit(5)}, null, CustomItemList.eM_dynamoTunnel5_IV.get(1), 16000, 7680);
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_LuV.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 16), ItemList.Emitter_LuV.get(16), ItemList.Electric_Pump_LuV.get(16), GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.VanadiumGallium, 8), GT_Utility.getIntegratedCircuit(5)}, null, CustomItemList.eM_dynamoTunnel5_LuV.get(1), 16000, 30720);
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_ZPM.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 16), ItemList.Emitter_ZPM.get(16), ItemList.Electric_Pump_ZPM.get(16), GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.Naquadah, 8), GT_Utility.getIntegratedCircuit(5)}, null, CustomItemList.eM_dynamoTunnel5_ZPM.get(1), 16000, 122880);
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_UV.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 16), ItemList.Emitter_UV.get(16), ItemList.Electric_Pump_UV.get(16), GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.NaquadahAlloy, 8), GT_Utility.getIntegratedCircuit(5)}, null, CustomItemList.eM_dynamoTunnel5_UV.get(1), 16000, 500000);
+
+ //Laser Dynamo IV-UV 262144/t
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_IV.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 32), ItemList.Emitter_IV.get(32), ItemList.Electric_Pump_IV.get(32), GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.TungstenSteel, 16), GT_Utility.getIntegratedCircuit(6)}, null, CustomItemList.eM_dynamoTunnel6_IV.get(1), 32000, 7680);
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_LuV.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 32), ItemList.Emitter_LuV.get(32), ItemList.Electric_Pump_LuV.get(32), GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.VanadiumGallium, 16), GT_Utility.getIntegratedCircuit(6)}, null, CustomItemList.eM_dynamoTunnel6_LuV.get(1), 32000, 30720);
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_ZPM.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 32), ItemList.Emitter_ZPM.get(32), ItemList.Electric_Pump_ZPM.get(32), GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.Naquadah, 16), GT_Utility.getIntegratedCircuit(6)}, null, CustomItemList.eM_dynamoTunnel6_ZPM.get(1), 32000, 122880);
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_UV.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 32), ItemList.Emitter_UV.get(32), ItemList.Electric_Pump_UV.get(32), GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.NaquadahAlloy, 16), GT_Utility.getIntegratedCircuit(6)}, null, CustomItemList.eM_dynamoTunnel6_UV.get(1), 32000, 500000);
+
+ //Laser Dynamo IV-UV 1048576/t
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_IV.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 64), ItemList.Emitter_IV.get(64), ItemList.Electric_Pump_IV.get(64), GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.TungstenSteel, 16), GT_Utility.getIntegratedCircuit(7)}, null, CustomItemList.eM_dynamoTunnel7_IV.get(1), 64000, 7680);
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_LuV.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 64), ItemList.Emitter_LuV.get(64), ItemList.Electric_Pump_LuV.get(64), GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.VanadiumGallium, 16), GT_Utility.getIntegratedCircuit(7)}, null, CustomItemList.eM_dynamoTunnel7_LuV.get(1), 64000, 30720);
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_ZPM.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 64), ItemList.Emitter_ZPM.get(64), ItemList.Electric_Pump_ZPM.get(64), GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.Naquadah, 16), GT_Utility.getIntegratedCircuit(7)}, null, CustomItemList.eM_dynamoTunnel7_ZPM.get(1), 64000, 122880);
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_UV.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 64), ItemList.Emitter_UV.get(64), ItemList.Electric_Pump_UV.get(64), GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.NaquadahAlloy, 16), GT_Utility.getIntegratedCircuit(7)}, null, CustomItemList.eM_dynamoTunnel7_UV.get(1), 64000, 500000);
+
+ //Laser Target IV-UV 256/t
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_IV.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 1), ItemList.Sensor_IV.get(1), ItemList.Electric_Pump_IV.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.TungstenSteel, 2), GT_Utility.getIntegratedCircuit(1)}, null, CustomItemList.eM_energyTunnel1_IV.get(1), 1000, 7680);
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_LuV.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 1), ItemList.Sensor_LuV.get(1), ItemList.Electric_Pump_LuV.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.VanadiumGallium, 2), GT_Utility.getIntegratedCircuit(1)}, null, CustomItemList.eM_energyTunnel1_LuV.get(1), 1000, 30720);
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_ZPM.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 1), ItemList.Sensor_ZPM.get(1), ItemList.Electric_Pump_ZPM.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.Naquadah, 2), GT_Utility.getIntegratedCircuit(1)}, null, CustomItemList.eM_energyTunnel1_ZPM.get(1), 1000, 122880);
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_UV.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 1), ItemList.Sensor_UV.get(1), ItemList.Electric_Pump_UV.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.NaquadahAlloy, 2), GT_Utility.getIntegratedCircuit(1)}, null, CustomItemList.eM_energyTunnel1_UV.get(1), 1000, 500000);
+
+ //Laser Target IV-UV 1024/t
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_IV.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 2), ItemList.Sensor_IV.get(2), ItemList.Electric_Pump_IV.get(2), GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.TungstenSteel, 4), GT_Utility.getIntegratedCircuit(2)}, null, CustomItemList.eM_energyTunnel2_IV.get(1), 2000, 7680);
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_LuV.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 2), ItemList.Sensor_LuV.get(2), ItemList.Electric_Pump_LuV.get(2), GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.VanadiumGallium, 4), GT_Utility.getIntegratedCircuit(2)}, null, CustomItemList.eM_energyTunnel2_LuV.get(1), 2000, 30720);
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_ZPM.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 2), ItemList.Sensor_ZPM.get(2), ItemList.Electric_Pump_ZPM.get(2), GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.Naquadah, 4), GT_Utility.getIntegratedCircuit(2)}, null, CustomItemList.eM_energyTunnel2_ZPM.get(1), 2000, 122880);
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_UV.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 2), ItemList.Sensor_UV.get(2), ItemList.Electric_Pump_UV.get(2), GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.NaquadahAlloy, 4), GT_Utility.getIntegratedCircuit(2)}, null, CustomItemList.eM_energyTunnel2_UV.get(1), 2000, 500000);
+
+ //Laser Target IV-UV 4096/t
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_IV.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 4), ItemList.Sensor_IV.get(4), ItemList.Electric_Pump_IV.get(4), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.TungstenSteel, 4), GT_Utility.getIntegratedCircuit(3)}, null, CustomItemList.eM_energyTunnel3_IV.get(1), 4000, 7680);
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_LuV.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 4), ItemList.Sensor_LuV.get(4), ItemList.Electric_Pump_LuV.get(4), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.VanadiumGallium, 4), GT_Utility.getIntegratedCircuit(3)}, null, CustomItemList.eM_energyTunnel3_LuV.get(1), 4000, 30720);
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_ZPM.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 4), ItemList.Sensor_ZPM.get(4), ItemList.Electric_Pump_ZPM.get(4), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.Naquadah, 4), GT_Utility.getIntegratedCircuit(3)}, null, CustomItemList.eM_energyTunnel3_ZPM.get(1), 4000, 122880);
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_UV.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 4), ItemList.Sensor_UV.get(4), ItemList.Electric_Pump_UV.get(4), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.NaquadahAlloy, 4), GT_Utility.getIntegratedCircuit(3)}, null, CustomItemList.eM_energyTunnel3_UV.get(1), 4000, 500000);
+
+ //Laser Target IV-UV 16384/t
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_IV.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 8), ItemList.Sensor_IV.get(8), ItemList.Electric_Pump_IV.get(8), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.TungstenSteel, 8), GT_Utility.getIntegratedCircuit(4)}, null, CustomItemList.eM_energyTunnel4_IV.get(1), 8000, 7680);
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_LuV.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 8), ItemList.Sensor_LuV.get(8), ItemList.Electric_Pump_LuV.get(8), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.VanadiumGallium, 8), GT_Utility.getIntegratedCircuit(4)}, null, CustomItemList.eM_energyTunnel4_LuV.get(1), 8000, 30720);
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_ZPM.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 8), ItemList.Sensor_ZPM.get(8), ItemList.Electric_Pump_ZPM.get(8), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.Naquadah, 8), GT_Utility.getIntegratedCircuit(4)}, null, CustomItemList.eM_energyTunnel4_ZPM.get(1), 8000, 122880);
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_UV.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 8), ItemList.Sensor_UV.get(8), ItemList.Electric_Pump_UV.get(8), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.NaquadahAlloy, 8), GT_Utility.getIntegratedCircuit(4)}, null, CustomItemList.eM_energyTunnel4_UV.get(1), 8000, 500000);
+
+ //Laser Target IV-UV 65536/t
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_IV.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 16), ItemList.Sensor_IV.get(16), ItemList.Electric_Pump_IV.get(16), GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.TungstenSteel, 8), GT_Utility.getIntegratedCircuit(5)}, null, CustomItemList.eM_energyTunnel5_IV.get(1), 16000, 7680);
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_LuV.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 16), ItemList.Sensor_LuV.get(16), ItemList.Electric_Pump_LuV.get(16), GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.VanadiumGallium, 8), GT_Utility.getIntegratedCircuit(5)}, null, CustomItemList.eM_energyTunnel5_LuV.get(1), 16000, 30720);
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_ZPM.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 16), ItemList.Sensor_ZPM.get(16), ItemList.Electric_Pump_ZPM.get(16), GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.Naquadah, 8), GT_Utility.getIntegratedCircuit(5)}, null, CustomItemList.eM_energyTunnel5_ZPM.get(1), 16000, 122880);
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_UV.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 16), ItemList.Sensor_UV.get(16), ItemList.Electric_Pump_UV.get(16), GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.NaquadahAlloy, 8), GT_Utility.getIntegratedCircuit(5)}, null, CustomItemList.eM_energyTunnel5_UV.get(1), 16000, 500000);
+
+ //Laser Target IV-UV 262144/t
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_IV.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 32), ItemList.Sensor_IV.get(32), ItemList.Electric_Pump_IV.get(32), GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.TungstenSteel, 16), GT_Utility.getIntegratedCircuit(6)}, null, CustomItemList.eM_energyTunnel6_IV.get(1), 32000, 7680);
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_LuV.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 32), ItemList.Sensor_LuV.get(32), ItemList.Electric_Pump_LuV.get(32), GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.VanadiumGallium, 16), GT_Utility.getIntegratedCircuit(6)}, null, CustomItemList.eM_energyTunnel6_LuV.get(1), 32000, 30720);
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_ZPM.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 32), ItemList.Sensor_ZPM.get(32), ItemList.Electric_Pump_ZPM.get(32), GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.Naquadah, 16), GT_Utility.getIntegratedCircuit(6)}, null, CustomItemList.eM_energyTunnel6_ZPM.get(1), 32000, 122880);
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_UV.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 32), ItemList.Sensor_UV.get(32), ItemList.Electric_Pump_UV.get(32), GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.NaquadahAlloy, 16), GT_Utility.getIntegratedCircuit(6)}, null, CustomItemList.eM_energyTunnel6_UV.get(1), 32000, 500000);
+
+ //Laser Target IV-UV 1048576/t
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_IV.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 64), ItemList.Sensor_IV.get(64), ItemList.Electric_Pump_IV.get(64), GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.TungstenSteel, 16), GT_Utility.getIntegratedCircuit(7)}, null, CustomItemList.eM_energyTunnel7_IV.get(1), 64000, 7680);
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_LuV.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 64), ItemList.Sensor_LuV.get(64), ItemList.Electric_Pump_LuV.get(64), GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.VanadiumGallium, 16), GT_Utility.getIntegratedCircuit(7)}, null, CustomItemList.eM_energyTunnel7_LuV.get(1), 64000, 30720);
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_ZPM.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 64), ItemList.Sensor_ZPM.get(64), ItemList.Electric_Pump_ZPM.get(64), GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.Naquadah, 16), GT_Utility.getIntegratedCircuit(7)}, null, CustomItemList.eM_energyTunnel7_ZPM.get(1), 64000, 122880);
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_UV.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 64), ItemList.Sensor_UV.get(64), ItemList.Electric_Pump_UV.get(64), GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.NaquadahAlloy, 16), GT_Utility.getIntegratedCircuit(7)}, null, CustomItemList.eM_energyTunnel7_UV.get(1), 64000, 500000);
+
+ //Data Input
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{
+ CustomItemList.eM_Computer_Casing.get(1),
+ ItemList.Hatch_Input_Bus_LuV.get(1),
+ ItemList.Circuit_Crystalcomputer.get(1),
+ CustomItemList.DATApipe.get(2)
+ }, Materials.Iridium.getMolten(1296), CustomItemList.dataIn_Hatch.get(1), 200, 122880);
+ //Data Output
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{
+ CustomItemList.eM_Computer_Casing.get(1),
+ ItemList.Hatch_Output_Bus_LuV.get(1),
+ ItemList.Circuit_Crystalcomputer.get(1),
+ CustomItemList.DATApipe.get(2)
+ }, Materials.Iridium.getMolten(1296), CustomItemList.dataOut_Hatch.get(1), 200, 122880);
+
+ //Rack
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{
+ CustomItemList.eM_Computer_Bus.get(1),
+ ItemList.Hatch_Input_Bus_ZPM.get(1),
+ ItemList.Circuit_Crystalcomputer.get(2),
+ CustomItemList.DATApipe.get(4)
+ }, Materials.Iridium.getMolten(1296), CustomItemList.rack_Hatch.get(1), 800, 122880);
+
+ //Object Holder
+ GT_Values.RA.addAssemblylineRecipe(ItemList.Hatch_Input_Bus_ZPM.get(1), 10000, new Object[]{
+ ItemList.Hatch_Input_Bus_ZPM.get(1),
+ CustomItemList.eM_Computer_Bus.get(1),
+ ItemList.Emitter_ZPM.get(8),
+ ItemList.Robot_Arm_ZPM.get(1),
+ ItemList.Electric_Motor_ZPM.get(2),
+ new ItemStack[]{GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Superconductor, 1)},
+ new ItemStack[]{GT_OreDictUnificator.get(OrePrefixes.cableGt02, Materials.Naquadah, 2)},
+ new ItemStack[]{GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Naquadah, 16)},
+ CustomItemList.DATApipe.get(2),
+ }, new FluidStack[]{
+ Materials.UUMatter.getFluid(500),
+ Materials.Iridium.getMolten(1000),
+ new FluidStack(FluidRegistry.getFluid("ic2coolant"), 1000)
+ }, CustomItemList.holder_Hatch.get(1), 1200, 100000);
+
+ //Parameterizer
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{
+ CustomItemList.eM_Computer_Casing.get(1),
+ ItemList.Circuit_Masterquantumcomputer.get(1),
+ CustomItemList.DATApipe.get(4),
+ ItemList.Cover_Screen.get(1 ),
+ new ItemStack(Blocks.stone_button, 16),
+ }, Materials.Iridium.getMolten(2592), CustomItemList.Parametrizer_Hatch.get(1), 800, 122880);
+ //Uncertainty
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{
+ CustomItemList.eM_Computer_Casing.get(1),
+ ItemList.Circuit_Ultimatecrystalcomputer.get(1),
+ CustomItemList.DATApipe.get(16),
+ ItemList.Cover_Screen.get(1 ),
+ new ItemStack(Blocks.stone_button, 16),
+ }, Materials.Iridium.getMolten(2592), CustomItemList.Uncertainty_Hatch.get(1), 1200, 122880);
+
+ //Elemental Input
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{
+ CustomItemList.eM_Containment.get(1),
+ ItemList.Hatch_Input_UV.get(1),
+ GT_OreDictUnificator.get(OrePrefixes.pipeMedium, Materials.Naquadah, 2),
+ ItemList.Sensor_UV.get(1)
+ }, Materials.Osmiridium.getMolten(1296), CustomItemList.eM_in_UV.get(1), 800, 500000);
+ //Elemental Output
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{
+ CustomItemList.eM_Containment.get(1),
+ ItemList.Hatch_Output_UV.get(1),
+ GT_OreDictUnificator.get(OrePrefixes.pipeMedium, Materials.Naquadah, 2),
+ ItemList.Emitter_UV.get(1)
+ }, Materials.Osmiridium.getMolten(1296), CustomItemList.eM_out_UV.get(1), 800, 500000);
+ //Overflow
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{
+ CustomItemList.eM_Containment.get(1),
+ ItemList.Hatch_Muffler_UV.get(1),
+ GT_OreDictUnificator.get(OrePrefixes.pipeLarge, Materials.Naquadah, 1),
+ ItemList.Field_Generator_UV.get(1)
+ }, Materials.Osmiridium.getMolten(1296), CustomItemList.eM_muffler_UV.get(1), 800, 500000);
+
+ //endregion
+
+
+ //region multi blocks
+
+ //Microwave Grinder
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{
+ ItemList.Machine_HV_Microwave.get(1),
+ GT_OreDictUnificator.get(OrePrefixes.plate, Materials.StainlessSteel, 4),
+ GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Advanced, 4),
+ GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.AnnealedCopper, 16),
+ ItemList.Upgrade_Overclocker.get(4),
+ }, Materials.Copper.getMolten(576), CustomItemList.Machine_Multi_Microwave.get(1), 800, 480);
+
+ //Network Switch
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{
+ CustomItemList.Machine_Multi_Transformer.get(1),
+ GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Master, 4),
+ GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Cobalt, 64),
+ GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Copper, 64),
+ CustomItemList.DATApipe.get(4),
+ }, Materials.Iridium.getMolten(1296), CustomItemList.Machine_Multi_Switch.get(1), 800, 122880);
+
+ //Quantum Computer
+ GT_Values.RA.addAssemblylineRecipe(ItemList.Tool_DataOrb.get(1), 20000, new Object[]{
+ CustomItemList.Machine_Multi_Switch.get(1),
+ new ItemStack[]{GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Superconductor, 2)},
+ ItemList.Tool_DataOrb.get(1),
+ ItemList.Cover_Screen.get(1),
+ new ItemStack[]{GT_OreDictUnificator.get(OrePrefixes.wireGt04, getOrDefault("SuperconductorUV",Materials.Superconductor), 8)},
+ CustomItemList.DATApipe.get(8),
+ }, new FluidStack[]{
+ Materials.UUMatter.getFluid(1000),
+ Materials.Iridium.getMolten(1296),
+ new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000),
+ Materials.Hydrogen.getGas(1000),
+ }, CustomItemList.Machine_Multi_Computer.get(1), 12000, 100000);
+
+ //Research Station
+ GT_Values.RA.addAssemblylineRecipe(ItemList.Machine_IV_Scanner.get(1), 80000, new Object[]{
+ CustomItemList.Machine_Multi_Switch.get(1),
+ ItemList.Sensor_ZPM.get(8),
+ new ItemStack[]{GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Superconductor, 4)},
+ ItemList.Field_Generator_ZPM.get(1),
+ ItemList.Electric_Motor_ZPM.get(2),
+ new ItemStack[]{GT_OreDictUnificator.get(OrePrefixes.cableGt02, Materials.Naquadah, 4)},
+ new ItemStack[]{GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Naquadah, 32)},
+ CustomItemList.DATApipe.get(16),
+ }, new FluidStack[]{
+ Materials.UUMatter.getFluid(1000),
+ Materials.Iridium.getMolten(1296),
+ new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000),
+ Materials.Osmium.getMolten(1296),
+ }, CustomItemList.Machine_Multi_Research.get(1), 12000, 100000);
+
+ //Matter Junction
+ TT_recipeAdder.addResearchableAssemblylineRecipe(CustomItemList.Machine_Multi_Switch.get(1),
+ 8000,32, 500000, 4, new ItemStack[]{
+ CustomItemList.Machine_Multi_Transformer.get(1),
+ GT_OreDictUnificator.get(OrePrefixes.pipeMedium, Materials.Naquadah, 4),
+ ItemList.Robot_Arm_LuV.get(2),
+ ItemList.Electric_Piston_LuV.get(2),
+ ItemList.Circuit_Wetwaresupercomputer.get(2),
+ GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.Superconductor, 4),
+ }, new FluidStack[]{
+ Materials.UUMatter.getFluid(1000),
+ Materials.Naquadah.getMolten(1296),
+ new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000),
+ Materials.Osmium.getMolten(1296),
+ }, CustomItemList.Machine_Multi_EMjunction.get(1), 12000, 100000);
+
+ //Matter Quantizer
+ TT_recipeAdder.addResearchableAssemblylineRecipe(ItemList.Hatch_Input_UV.get(1),
+ 12000,32, 500000, 6, new ItemStack[]{
+ CustomItemList.Machine_Multi_Transformer.get(1),
+ GT_OreDictUnificator.get(OrePrefixes.pipeMedium, Materials.Naquadah, 4),
+ ItemList.Emitter_UV.get(2),
+ ItemList.Circuit_Wetwaresupercomputer.get(1),
+ GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.Superconductor, 2),
+ }, new FluidStack[]{
+ Materials.UUMatter.getFluid(1000),
+ Materials.Naquadah.getMolten(1296),
+ new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000),
+ Materials.Osmium.getMolten(1296),
+ }, CustomItemList.Machine_Multi_MatterToEM.get(1), 12000, 100000);
+
+ //Matter DeQuantizer
+ TT_recipeAdder.addResearchableAssemblylineRecipe(ItemList.Hatch_Output_UV.get(1),
+ 12000,32, 500000, 6, new ItemStack[]{
+ CustomItemList.Machine_Multi_Transformer.get(1),
+ GT_OreDictUnificator.get(OrePrefixes.pipeMedium, Materials.Naquadah, 4),
+ ItemList.Sensor_UV.get(2),
+ ItemList.Circuit_Wetwaresupercomputer.get(1),
+ GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.Superconductor, 2),
+ }, new FluidStack[]{
+ Materials.UUMatter.getFluid(1000),
+ Materials.Naquadah.getMolten(1296),
+ new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000),
+ Materials.Osmium.getMolten(1296),
+ }, CustomItemList.Machine_Multi_EMToMatter.get(1), 12000, 100000);
+
+ //Multi Infuser
+ TT_recipeAdder.addResearchableAssemblylineRecipe(CustomItemList.Machine_Multi_Transformer.get(1),
+ 192000,512, 2000000, 32, new ItemStack[]{
+ CustomItemList.Machine_Multi_Transformer.get(1),
+ CustomItemList.eM_Coil.get(8),
+ CustomItemList.eM_Power.get( 8),
+ GT_OreDictUnificator.get(OrePrefixes.screw, Materials.NeodymiumMagnetic, 16),
+ }, new FluidStack[]{
+ Materials.Electrum.getMolten(2592),
+ Materials.Neutronium.getMolten(1872),
+ new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000),
+ }, CustomItemList.Machine_Multi_Infuser.get(1), 8000, 2000000);
+
+
+ //endregion
+ register_machine_EM_behaviours();
+ }
+
+ private void register_machine_EM_behaviours(){
+ GT_MetaTileEntity_EM_machine.registerBehaviour(()->new Behaviour_Centrifuge(5),ItemList.Machine_IV_Centrifuge.get(1));
+ try {
+ GT_MetaTileEntity_EM_machine.registerBehaviour(()->new Behaviour_Centrifuge(6),ItemList.valueOf("Machine_LuV_Centrifuge").get(1));
+ GT_MetaTileEntity_EM_machine.registerBehaviour(()->new Behaviour_Centrifuge(7),ItemList.valueOf("Machine_ZPM_Centrifuge").get(1));
+ GT_MetaTileEntity_EM_machine.registerBehaviour(()->new Behaviour_Centrifuge(8),ItemList.valueOf("Machine_UV_Centrifuge").get(1));
+ GT_MetaTileEntity_EM_machine.registerBehaviour(()->new Behaviour_Centrifuge(9),ItemList.valueOf("Machine_UV_Centrifuge").get(4));
+ GT_MetaTileEntity_EM_machine.registerBehaviour(()->new Behaviour_Centrifuge(10),ItemList.valueOf("Machine_UV_Centrifuge").get(16));
+ GT_MetaTileEntity_EM_machine.registerBehaviour(()->new Behaviour_Centrifuge(11),ItemList.valueOf("Machine_UV_Centrifuge").get(40));
+ GT_MetaTileEntity_EM_machine.registerBehaviour(()->new Behaviour_Centrifuge(12),ItemList.valueOf("Machine_UV_Centrifuge").get(64));
+ }catch (IllegalArgumentException|NullPointerException e){
+ GT_MetaTileEntity_EM_machine.registerBehaviour(()->new Behaviour_Centrifuge(6),ItemList.Machine_IV_Centrifuge.get(2));
+ GT_MetaTileEntity_EM_machine.registerBehaviour(()->new Behaviour_Centrifuge(7),ItemList.Machine_IV_Centrifuge.get(4));
+ GT_MetaTileEntity_EM_machine.registerBehaviour(()->new Behaviour_Centrifuge(8),ItemList.Machine_IV_Centrifuge.get(8));
+ GT_MetaTileEntity_EM_machine.registerBehaviour(()->new Behaviour_Centrifuge(9),ItemList.Machine_IV_Centrifuge.get(16));
+ GT_MetaTileEntity_EM_machine.registerBehaviour(()->new Behaviour_Centrifuge(10),ItemList.Machine_IV_Centrifuge.get(32));
+ GT_MetaTileEntity_EM_machine.registerBehaviour(()->new Behaviour_Centrifuge(11),ItemList.Machine_IV_Centrifuge.get(48));
+ GT_MetaTileEntity_EM_machine.registerBehaviour(()->new Behaviour_Centrifuge(12),ItemList.Machine_IV_Centrifuge.get(64));
+ }
+
+ GT_MetaTileEntity_EM_machine.registerBehaviour(()->new Behaviour_ElectromagneticSeparator(5),ItemList.Machine_IV_ElectromagneticSeparator.get(1));
+ try {
+ GT_MetaTileEntity_EM_machine.registerBehaviour(()->new Behaviour_ElectromagneticSeparator(6),ItemList.valueOf("Machine_LuV_ElectromagneticSeparator").get(1));
+ GT_MetaTileEntity_EM_machine.registerBehaviour(()->new Behaviour_ElectromagneticSeparator(7),ItemList.valueOf("Machine_ZPM_ElectromagneticSeparator").get(1));
+ GT_MetaTileEntity_EM_machine.registerBehaviour(()->new Behaviour_ElectromagneticSeparator(8),ItemList.valueOf("Machine_UV_ElectromagneticSeparator").get(1));
+ GT_MetaTileEntity_EM_machine.registerBehaviour(()->new Behaviour_ElectromagneticSeparator(9),ItemList.valueOf("Machine_UV_ElectromagneticSeparator").get(4));
+ GT_MetaTileEntity_EM_machine.registerBehaviour(()->new Behaviour_ElectromagneticSeparator(10),ItemList.valueOf("Machine_UV_ElectromagneticSeparator").get(16));
+ GT_MetaTileEntity_EM_machine.registerBehaviour(()->new Behaviour_ElectromagneticSeparator(11),ItemList.valueOf("Machine_UV_ElectromagneticSeparator").get(40));
+ GT_MetaTileEntity_EM_machine.registerBehaviour(()->new Behaviour_ElectromagneticSeparator(12),ItemList.valueOf("Machine_UV_ElectromagneticSeparator").get(64));
+ }catch (IllegalArgumentException|NullPointerException e){
+ GT_MetaTileEntity_EM_machine.registerBehaviour(()->new Behaviour_ElectromagneticSeparator(6),ItemList.Machine_IV_ElectromagneticSeparator.get(2));
+ GT_MetaTileEntity_EM_machine.registerBehaviour(()->new Behaviour_ElectromagneticSeparator(7),ItemList.Machine_IV_ElectromagneticSeparator.get(4));
+ GT_MetaTileEntity_EM_machine.registerBehaviour(()->new Behaviour_ElectromagneticSeparator(8),ItemList.Machine_IV_ElectromagneticSeparator.get(8));
+ GT_MetaTileEntity_EM_machine.registerBehaviour(()->new Behaviour_ElectromagneticSeparator(9),ItemList.Machine_IV_ElectromagneticSeparator.get(16));
+ GT_MetaTileEntity_EM_machine.registerBehaviour(()->new Behaviour_ElectromagneticSeparator(10),ItemList.Machine_IV_ElectromagneticSeparator.get(32));
+ GT_MetaTileEntity_EM_machine.registerBehaviour(()->new Behaviour_ElectromagneticSeparator(11),ItemList.Machine_IV_ElectromagneticSeparator.get(48));
+ GT_MetaTileEntity_EM_machine.registerBehaviour(()->new Behaviour_ElectromagneticSeparator(12),ItemList.Machine_IV_ElectromagneticSeparator.get(64));
+ }
+
+ GT_MetaTileEntity_EM_machine.registerBehaviour(()->new Behaviour_Recycler(5),ItemList.Machine_IV_Recycler.get(1));
+ try {
+ GT_MetaTileEntity_EM_machine.registerBehaviour(()->new Behaviour_Recycler(6),ItemList.valueOf("Machine_LuV_Recycler").get(1));
+ GT_MetaTileEntity_EM_machine.registerBehaviour(()->new Behaviour_Recycler(7),ItemList.valueOf("Machine_ZPM_Recycler").get(1));
+ GT_MetaTileEntity_EM_machine.registerBehaviour(()->new Behaviour_Recycler(8),ItemList.valueOf("Machine_UV_Recycler").get(1));
+ GT_MetaTileEntity_EM_machine.registerBehaviour(()->new Behaviour_Recycler(9),ItemList.valueOf("Machine_UV_Recycler").get(4));
+ GT_MetaTileEntity_EM_machine.registerBehaviour(()->new Behaviour_Recycler(10),ItemList.valueOf("Machine_UV_Recycler").get(16));
+ GT_MetaTileEntity_EM_machine.registerBehaviour(()->new Behaviour_Recycler(11),ItemList.valueOf("Machine_UV_Recycler").get(40));
+ GT_MetaTileEntity_EM_machine.registerBehaviour(()->new Behaviour_Recycler(12),ItemList.valueOf("Machine_UV_Recycler").get(64));
+ }catch (IllegalArgumentException|NullPointerException e){
+ GT_MetaTileEntity_EM_machine.registerBehaviour(()->new Behaviour_Recycler(6),ItemList.Machine_IV_Recycler.get(2));
+ GT_MetaTileEntity_EM_machine.registerBehaviour(()->new Behaviour_Recycler(7),ItemList.Machine_IV_Recycler.get(4));
+ GT_MetaTileEntity_EM_machine.registerBehaviour(()->new Behaviour_Recycler(8),ItemList.Machine_IV_Recycler.get(8));
+ GT_MetaTileEntity_EM_machine.registerBehaviour(()->new Behaviour_Recycler(9),ItemList.Machine_IV_Recycler.get(16));
+ GT_MetaTileEntity_EM_machine.registerBehaviour(()->new Behaviour_Recycler(10),ItemList.Machine_IV_Recycler.get(32));
+ GT_MetaTileEntity_EM_machine.registerBehaviour(()->new Behaviour_Recycler(11),ItemList.Machine_IV_Recycler.get(48));
+ GT_MetaTileEntity_EM_machine.registerBehaviour(()->new Behaviour_Recycler(12),ItemList.Machine_IV_Recycler.get(64));
+ }
+ }
+}
diff --git a/src/main/java/com/github/technus/tectech/font/TecTechFontRender.java b/src/main/java/com/github/technus/tectech/font/TecTechFontRender.java
index a7130bab90..4aea8bce92 100644
--- a/src/main/java/com/github/technus/tectech/font/TecTechFontRender.java
+++ b/src/main/java/com/github/technus/tectech/font/TecTechFontRender.java
@@ -212,13 +212,13 @@ public class TecTechFontRender extends FontRenderer {
}
private int drawStringFront(String p_85187_1_, int p_85187_2_, int p_85187_3_, int p_85187_4_) {
- enableAlpha();
+ GL11.glEnable(3008);
resetStyles2();
return renderString2(p_85187_1_, p_85187_2_, p_85187_3_, p_85187_4_, false);
}
private int drawStringBack(String p_85187_1_, int p_85187_2_, int p_85187_3_, int p_85187_4_) {
- enableAlpha();
+ GL11.glEnable(3008);
resetStyles2();
return renderString2(p_85187_1_, p_85187_2_ + 1, p_85187_3_ + 1, p_85187_4_, true);
}
diff --git a/src/main/java/com/github/technus/tectech/loader/NetworkDispatcher.java b/src/main/java/com/github/technus/tectech/loader/NetworkDispatcher.java
index 7c8b7d66b7..71478f3ad8 100644
--- a/src/main/java/com/github/technus/tectech/loader/NetworkDispatcher.java
+++ b/src/main/java/com/github/technus/tectech/loader/NetworkDispatcher.java
@@ -1,10 +1,11 @@
package com.github.technus.tectech.loader;
+import com.github.technus.tectech.thing.metaTileEntity.hatch.TextParametersMessage;
+import com.github.technus.tectech.thing.metaTileEntity.pipe.PipeActivityMessage;
+import com.github.technus.tectech.thing.metaTileEntity.RotationMessage;
import com.github.technus.tectech.mechanics.data.ChunkDataMessage;
import com.github.technus.tectech.mechanics.data.PlayerDataMessage;
import com.github.technus.tectech.mechanics.data.RendererMessage;
-import com.github.technus.tectech.thing.metaTileEntity.RotationMessage;
-import com.github.technus.tectech.thing.metaTileEntity.pipe.PipeActivityMessage;
import static com.github.technus.tectech.Reference.MODID;
@@ -21,12 +22,20 @@ public class NetworkDispatcher extends eu.usrv.yamcore.network.PacketDispatcher
public void registerPackets() {
registerMessage(PipeActivityMessage.ServerHandler.class, PipeActivityMessage.PipeActivityQuery.class);
registerMessage(PipeActivityMessage.ClientHandler.class, PipeActivityMessage.PipeActivityData.class);
+
registerMessage(RotationMessage.ServerHandler.class, RotationMessage.RotationQuery.class);
registerMessage(RotationMessage.ClientHandler.class, RotationMessage.RotationData.class);
+
registerMessage(ChunkDataMessage.ServerHandler.class, ChunkDataMessage.ChunkDataQuery.class);
registerMessage(ChunkDataMessage.ClientHandler.class, ChunkDataMessage.ChunkDataData.class);
+
registerMessage(PlayerDataMessage.ServerHandler.class, PlayerDataMessage.PlayerDataQuery.class);
registerMessage(PlayerDataMessage.ClientHandler.class, PlayerDataMessage.PlayerDataData.class);
+
registerMessage(RendererMessage.ClientHandler.class, RendererMessage.RendererData.class);
+
+ registerMessage(TextParametersMessage.ServerHandler.class, TextParametersMessage.ParametersTextQuery.class);
+ registerMessage(TextParametersMessage.ServerUpdateHandler.class, TextParametersMessage.ParametersTextUpdate.class);
+ registerMessage(TextParametersMessage.ClientHandler.class, TextParametersMessage.ParametersTextData.class);
}
}
diff --git a/src/main/java/com/github/technus/tectech/loader/recipe/RecipeLoader.java b/src/main/java/com/github/technus/tectech/loader/recipe/RecipeLoader.java
index 8a0fb20c59..8165cd7fec 100644
--- a/src/main/java/com/github/technus/tectech/loader/recipe/RecipeLoader.java
+++ b/src/main/java/com/github/technus/tectech/loader/recipe/RecipeLoader.java
@@ -2,6 +2,7 @@ package com.github.technus.tectech.loader.recipe;
import com.github.technus.tectech.Reference;
import com.github.technus.tectech.compatibility.dreamcraft.DreamCraftRecipeLoader;
+import com.github.technus.tectech.compatibility.spartakcore.SpartakCoreRecipeLoader;
import com.github.technus.tectech.mechanics.elementalMatter.definitions.complex.dAtomDefinition;
import com.github.technus.tectech.mechanics.elementalMatter.definitions.complex.dHadronDefinition;
import com.github.technus.tectech.thing.CustomItemList;
@@ -110,8 +111,11 @@ public class RecipeLoader implements Runnable {
if (Loader.isModLoaded(Reference.DREAMCRAFT)) {
new DreamCraftRecipeLoader().run();//init recipes for GTNH version
+ } else if (Loader.isModLoaded(Reference.SPARTAKCORE)) {
+ new SpartakCoreRecipeLoader().run();//init recipes for SpartakCore version
} else {
new BloodyRecipeLoader().run();//init recipes for NON-GTNH version
}
}
}
+
diff --git a/src/main/java/com/github/technus/tectech/loader/thing/MachineLoader.java b/src/main/java/com/github/technus/tectech/loader/thing/MachineLoader.java
index 59e9f99a14..803c19572e 100644
--- a/src/main/java/com/github/technus/tectech/loader/thing/MachineLoader.java
+++ b/src/main/java/com/github/technus/tectech/loader/thing/MachineLoader.java
@@ -549,8 +549,9 @@ public class MachineLoader implements Runnable {
// Hatches
// ===================================================================================================
- Parametrizer_Hatch.set(new GT_MetaTileEntity_Hatch_Param(15420, "hatch.param.tier.07", "Parametrizer", 7).getStackForm(1L));
- ParametrizerX_Hatch.set(new GT_MetaTileEntity_Hatch_Param(15421, "hatch.param.tier.10", "Parametrizer X", 10).getStackForm(1L));
+ Parametrizer_Hatch.set(new GT_MetaTileEntity_Hatch_Param(15420, "hatch.param.tier.05", "Parametrizer", 5).getStackForm(1L));
+ ParametrizerX_Hatch.set(new GT_MetaTileEntity_Hatch_Param(15421, "hatch.param.tier.07", "Parametrizer X", 7).getStackForm(1L));
+ ParametrizerTXT_Hatch.set(new GT_MetaTileEntity_Hatch_ParamText(15422, "hatch.param.tier.10", "Parametrizer tXt", 10).getStackForm(1L));
Uncertainty_Hatch.set(new GT_MetaTileEntity_Hatch_Uncertainty(15430, "hatch.certain.tier.07", "Uncertainty Resolver", 7).getStackForm(1L));
UncertaintyX_Hatch.set(new GT_MetaTileEntity_Hatch_Uncertainty(15431, "hatch.certain.tier.10", "Uncertainty Resolver X", 10).getStackForm(1L));
diff --git a/src/main/java/com/github/technus/tectech/thing/CustomItemList.java b/src/main/java/com/github/technus/tectech/thing/CustomItemList.java
index 01773fb42d..c86dcee0b0 100644
--- a/src/main/java/com/github/technus/tectech/thing/CustomItemList.java
+++ b/src/main/java/com/github/technus/tectech/thing/CustomItemList.java
@@ -74,7 +74,7 @@ public enum CustomItemList implements IItemContainer {
eM_in_UV, eM_in_UHV, eM_in_UEV, eM_in_UIV, eM_in_UMV, eM_in_UXV,
eM_out_UV, eM_out_UHV, eM_out_UEV, eM_out_UIV, eM_out_UMV, eM_out_UXV,
eM_muffler_UV, eM_muffler_UHV, eM_muffler_UEV, eM_muffler_UIV, eM_muffler_UMV, eM_muffler_UXV,
- Parametrizer_Hatch, ParametrizerX_Hatch, Uncertainty_Hatch, UncertaintyX_Hatch, dataIn_Hatch, dataOut_Hatch, dataInAss_Hatch, dataOutAss_Hatch,
+ Parametrizer_Hatch, ParametrizerX_Hatch, ParametrizerTXT_Hatch, Uncertainty_Hatch, UncertaintyX_Hatch, dataIn_Hatch, dataOut_Hatch, dataInAss_Hatch, dataOutAss_Hatch,
eM_Containment, eM_Containment_Field, eM_Containment_Advanced, eM_Coil, eM_Teleportation, eM_Dimensional, eM_Ultimate_Containment, eM_Ultimate_Containment_Advanced, eM_Ultimate_Containment_Field, eM_Spacetime, eM_Computer_Casing, eM_Computer_Bus, eM_Computer_Vent, eM_Hollow, eM_Power,
debugBlock,
diff --git a/src/main/java/com/github/technus/tectech/thing/item/ParametrizerMemoryCard.java b/src/main/java/com/github/technus/tectech/thing/item/ParametrizerMemoryCard.java
index f913682fd8..d875fe6545 100644
--- a/src/main/java/com/github/technus/tectech/thing/item/ParametrizerMemoryCard.java
+++ b/src/main/java/com/github/technus/tectech/thing/item/ParametrizerMemoryCard.java
@@ -3,6 +3,7 @@ package com.github.technus.tectech.thing.item;
import com.github.technus.tectech.CommonValues;
import com.github.technus.tectech.Util;
import com.github.technus.tectech.thing.metaTileEntity.hatch.GT_MetaTileEntity_Hatch_Param;
+import com.github.technus.tectech.thing.metaTileEntity.hatch.GT_MetaTileEntity_Hatch_ParamText;
import com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_MetaTileEntity_MultiblockBase_EM;
import cpw.mods.fml.common.registry.GameRegistry;
import cpw.mods.fml.relauncher.Side;
@@ -34,8 +35,8 @@ public final class ParametrizerMemoryCard extends Item {
private static IIcon locked, unlocked;
private ParametrizerMemoryCard() {
- setHasSubtypes(true);
setMaxStackSize(1);
+ setHasSubtypes(true);
setUnlocalizedName("em.parametrizerMemoryCard");
setTextureName(MODID + ":itemParametrizerMemoryCardUnlocked");
}
@@ -64,6 +65,8 @@ public final class ParametrizerMemoryCard extends Item {
tNBT.setInteger("param", parametrizer.param);
tNBT.setDouble("value0D", parametrizer.value0D);
tNBT.setDouble("value1D", parametrizer.value1D);
+ tNBT.removeTag("value0s");
+ tNBT.removeTag("value1s");
}
return true;
} else if (metaTE instanceof GT_MetaTileEntity_MultiblockBase_EM) {
@@ -79,6 +82,28 @@ public final class ParametrizerMemoryCard extends Item {
tNBT.getDouble("value1D"));
return true;
}
+ } else if (metaTE instanceof GT_MetaTileEntity_Hatch_ParamText) {
+ GT_MetaTileEntity_Hatch_ParamText parametrizer = (GT_MetaTileEntity_Hatch_ParamText) metaTE;
+ if (aStack.getTagCompound() == null) {
+ aStack.setTagCompound(new NBTTagCompound());
+ }
+ NBTTagCompound tNBT = aStack.getTagCompound();
+ if (aStack.getItemDamage() == 1) {
+ //write to parametrizer
+ parametrizer.param = tNBT.getInteger("param");
+ parametrizer.value0D = tNBT.getDouble("value0D");
+ parametrizer.value1D = tNBT.getDouble("value1D");
+ parametrizer.value0s = tNBT.getString("value0s");
+ parametrizer.value1s = tNBT.getString("value1s");
+ } else {
+ //read from parametrizer
+ tNBT.setInteger("param", parametrizer.param);
+ tNBT.setDouble("value0D", parametrizer.value0D);
+ tNBT.setDouble("value1D", parametrizer.value1D);
+ tNBT.setString("value0s", parametrizer.value0s);
+ tNBT.setString("value1s", parametrizer.value1s);
+ }
+ return true;
}
}
}
@@ -113,16 +138,21 @@ public final class ParametrizerMemoryCard extends Item {
}
aList.add(EnumChatFormatting.BLUE + "Sneak right click to lock/unlock");
- long temp;
- if (tNBT != null && tNBT.hasKey("param")) {
- aList.add("Hatch ID: " + EnumChatFormatting.AQUA + tNBT.getInteger("param"));
- temp = tNBT.getInteger("value0D");
- aList.add("Value 0D: " + EnumChatFormatting.AQUA + temp);
- aList.add("Value 0B: " + EnumChatFormatting.AQUA + Util.longBitsToShortString(Double.doubleToLongBits(temp)));
- temp = tNBT.getInteger("value1D");
- aList.add("Value 1D: " + EnumChatFormatting.AQUA + temp);
- aList.add("Value 1B: " + EnumChatFormatting.AQUA + Util.longBitsToShortString(Double.doubleToLongBits(temp)));
- aList.add("Uses Floats: " + (tNBT.getBoolean("usesFloats") ? EnumChatFormatting.GREEN + "TRUE" : EnumChatFormatting.RED + "FALSE"));
+ double temp;
+ if(tNBT!=null && tNBT.hasKey("param")) {
+ aList.add("Hatch ID: "+EnumChatFormatting.AQUA + tNBT.getInteger("param"));
+ temp=tNBT.getInteger("value0D");
+ aList.add("Value 0D: "+EnumChatFormatting.AQUA + temp);
+ aList.add("Value 0B: "+EnumChatFormatting.AQUA + Util.longBitsToShortString(Double.doubleToLongBits(temp)));
+ if(tNBT.hasKey("value0s")) {
+ aList.add("Value 0s: " + EnumChatFormatting.AQUA + tNBT.getString("value0s"));
+ }
+ temp=tNBT.getInteger("value1D");
+ aList.add("Value 1D: "+EnumChatFormatting.AQUA + temp);
+ aList.add("Value 1B: "+EnumChatFormatting.AQUA + Util.longBitsToShortString(Double.doubleToLongBits(temp)));
+ if(tNBT.hasKey("value1s")) {
+ aList.add("Value 1s: " + EnumChatFormatting.AQUA + tNBT.getString("value1s"));
+ }
}
}
diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_Param.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_Param.java
index a4a713626c..e1c99e4080 100644
--- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_Param.java
+++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_Param.java
@@ -2,10 +2,7 @@ package com.github.technus.tectech.thing.metaTileEntity.hatch;
import com.github.technus.tectech.CommonValues;
import com.github.technus.tectech.Util;
-import com.github.technus.tectech.thing.metaTileEntity.hatch.gui.GT_Container_Param;
-import com.github.technus.tectech.thing.metaTileEntity.hatch.gui.GT_Container_ParamAdv;
-import com.github.technus.tectech.thing.metaTileEntity.hatch.gui.GT_GUIContainer_Param;
-import com.github.technus.tectech.thing.metaTileEntity.hatch.gui.GT_GUIContainer_ParamAdv;
+import com.github.technus.tectech.thing.metaTileEntity.hatch.gui.*;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import gregtech.api.enums.Textures;
@@ -54,7 +51,7 @@ public class GT_MetaTileEntity_Hatch_Param extends GT_MetaTileEntity_Hatch {
@Override
public Object getServerGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) {
- if (mTier > 7) {
+ if (mTier > 5) {
return new GT_Container_ParamAdv(aPlayerInventory, aBaseMetaTileEntity);
}
return new GT_Container_Param(aPlayerInventory, aBaseMetaTileEntity);
@@ -62,7 +59,7 @@ public class GT_MetaTileEntity_Hatch_Param extends GT_MetaTileEntity_Hatch {
@Override
public Object getClientGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) {
- if (mTier > 7) {
+ if (mTier > 5) {
return new GT_GUIContainer_ParamAdv(aPlayerInventory, aBaseMetaTileEntity);
}
return new GT_GUIContainer_Param(aPlayerInventory, aBaseMetaTileEntity);
diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_ParamText.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_ParamText.java
new file mode 100644
index 0000000000..6a93fac487
--- /dev/null
+++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_ParamText.java
@@ -0,0 +1,203 @@
+package com.github.technus.tectech.thing.metaTileEntity.hatch;
+
+import com.github.technus.tectech.CommonValues;
+import com.github.technus.tectech.Util;
+import com.github.technus.tectech.loader.NetworkDispatcher;
+import com.github.technus.tectech.thing.metaTileEntity.hatch.gui.GT_Container_ParamText;
+import com.github.technus.tectech.thing.metaTileEntity.hatch.gui.GT_GUIContainer_ParamText;
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
+import gregtech.api.enums.Textures;
+import gregtech.api.interfaces.ITexture;
+import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
+import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch;
+import gregtech.api.objects.GT_RenderedTexture;
+import net.minecraft.client.renderer.texture.IIconRegister;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.entity.player.EntityPlayerMP;
+import net.minecraft.entity.player.InventoryPlayer;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.util.EnumChatFormatting;
+import net.minecraftforge.fluids.FluidStack;
+
+/**
+ * Created by danie_000 on 15.12.2016.
+ */
+public class GT_MetaTileEntity_Hatch_ParamText extends GT_MetaTileEntity_Hatch {
+ public int param = -1;
+ public String value0s="";
+ public String value1s="";
+ public double value0D = 0;
+ public double value1D = 0;
+ public double input0D = 0;
+ public double input1D = 0;
+ private static Textures.BlockIcons.CustomIcon ScreenON;
+ private static Textures.BlockIcons.CustomIcon ScreenOFF;
+
+ public GT_MetaTileEntity_Hatch_ParamText(int aID, String aName, String aNameRegional, int aTier) {
+ super(aID, aName, aNameRegional, aTier, 0, "For parametrization of Multiblocks");
+ Util.setTier(aTier,this);
+ }
+
+ public GT_MetaTileEntity_Hatch_ParamText(String aName, int aTier, String aDescription, ITexture[][][] aTextures) {
+ super(aName, aTier, 0, aDescription, aTextures);
+ }
+
+ @Override
+ @SideOnly(Side.CLIENT)
+ public void registerIcons(IIconRegister aBlockIconRegister) {
+ super.registerIcons(aBlockIconRegister);
+ ScreenOFF = new Textures.BlockIcons.CustomIcon("iconsets/PARAM");
+ ScreenON = new Textures.BlockIcons.CustomIcon("iconsets/PARAM_ACTIVE");
+ }
+
+ @Override
+ public Object getServerGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) {
+ if(aPlayerInventory.player instanceof EntityPlayerMP) {
+ NetworkDispatcher.INSTANCE.sendTo(new TextParametersMessage.ParametersTextData(this), (EntityPlayerMP) aPlayerInventory.player);
+ }
+ return new GT_Container_ParamText(aPlayerInventory, aBaseMetaTileEntity);
+ }
+
+ @Override
+ public Object getClientGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) {
+ return new GT_GUIContainer_ParamText(aPlayerInventory, aBaseMetaTileEntity);
+ }
+
+ @Override
+ public ITexture[] getTexturesActive(ITexture aBaseTexture) {
+ return new ITexture[]{aBaseTexture, new GT_RenderedTexture(ScreenON)};
+ }
+
+ @Override
+ public ITexture[] getTexturesInactive(ITexture aBaseTexture) {
+ return new ITexture[]{aBaseTexture, new GT_RenderedTexture(ScreenOFF)};
+ }
+
+ //@Override
+ //public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) {
+ // if (aBaseMetaTileEntity.isClientSide() && (aTick % 20L == 0L)) {
+ // //refresh casing on state change
+ // int Xpos = aBaseMetaTileEntity.getXCoord();
+ // int Ypos = aBaseMetaTileEntity.getYCoord();
+ // int Zpos = aBaseMetaTileEntity.getZCoord();
+ // try {
+ // aBaseMetaTileEntity.getWorld().markBlockRangeForRenderUpdate(Xpos , Ypos, Zpos , Xpos , Ypos, Zpos );
+ // } catch (Exception e) {}
+ // }
+ // super.onPostTick(aBaseMetaTileEntity, aTick);
+ //}
+
+ @Override
+ public IMetaTileEntity newMetaEntity(IGregTechTileEntity iGregTechTileEntity) {
+ return new GT_MetaTileEntity_Hatch_ParamText(mName, mTier, mDescription, mTextures);
+ }
+
+ @Override
+ public boolean isGivingInformation() {
+ return true;
+ }
+
+ @Override
+ public String[] getInfoData() {
+ return new String[]{
+ "Parametrizer ID: " + EnumChatFormatting.GREEN + param,
+ "Value 0S: " + EnumChatFormatting.DARK_AQUA + value0s,
+ "Value 1S: " + EnumChatFormatting.DARK_BLUE + value1s,
+ "Value 0D: " + EnumChatFormatting.AQUA + value0D,
+ "Value 1D: " + EnumChatFormatting.BLUE + value1D,
+ "Input 0D: " + EnumChatFormatting.GOLD + input0D,
+ "Input 1D: " + EnumChatFormatting.YELLOW + input1D,
+ };
+ }
+
+ @Override
+ public boolean isSimpleMachine() {
+ return true;
+ }
+
+ @Override
+ public boolean allowPullStack(IGregTechTileEntity aBaseMetaTileEntity, int aIndex, byte aSide, ItemStack aStack) {
+ return false;
+ }
+
+ @Override
+ public boolean allowPutStack(IGregTechTileEntity aBaseMetaTileEntity, int aIndex, byte aSide, ItemStack aStack) {
+ return false;
+ }
+
+ @Override
+ public void saveNBTData(NBTTagCompound aNBT) {
+ super.saveNBTData(aNBT);
+ aNBT.setDouble("eValue0D", value0D);
+ aNBT.setDouble("eValue1D", value1D);
+ aNBT.setDouble("eInput0D", input0D);
+ aNBT.setDouble("eInput1D", input1D);
+ aNBT.setInteger("eParam", param);
+ aNBT.setString("eIeValue0S", value0s);
+ aNBT.setString("eIeValue1S", value1s);
+ }
+
+ @Override
+ public void loadNBTData(NBTTagCompound aNBT) {
+ super.loadNBTData(aNBT);
+ value0D = aNBT.getDouble("eValue0D");
+ value1D = aNBT.getDouble("eValue1D");
+ input0D = aNBT.getDouble("eInput0D");
+ input1D = aNBT.getDouble("eInput1D");
+ param = aNBT.getInteger("eParam");
+ value0s = aNBT.getString("eIeValue0S");
+ if (value0s==null){
+ value0s="";
+ }
+ value1s = aNBT.getString("eIeValue1S");
+ if(value1s==null){
+ value1s="";
+ }
+ }
+
+ @Override
+ public boolean isFacingValid(byte aFacing) {
+ return true;
+ }
+
+ @Override
+ public boolean isAccessAllowed(EntityPlayer aPlayer) {
+ return true;
+ }
+
+ @Override
+ public boolean isValidSlot(int aIndex) {
+ return false;
+ }
+
+ @Override
+ public boolean isLiquidInput(byte aSide) {
+ return false;
+ }
+
+ @Override
+ public boolean isFluidInputAllowed(FluidStack aFluid) {
+ return false;
+ }
+
+ @Override
+ public boolean onRightclick(IGregTechTileEntity aBaseMetaTileEntity, EntityPlayer aPlayer) {
+ if (aBaseMetaTileEntity.isClientSide()) {
+ return true;
+ }
+ aBaseMetaTileEntity.openGUI(aPlayer);
+ return true;
+ }
+
+ @Override
+ public String[] getDescription() {
+ return new String[]{
+ CommonValues.TEC_MARK_GENERAL,
+ mDescription,
+ EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD + "E=mine*craft\u00b2"
+ };
+ }
+}
diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_Rack.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_Rack.java
index 24b47ec90f..db5920184e 100644
--- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_Rack.java
+++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_Rack.java
@@ -317,6 +317,17 @@ public class GT_MetaTileEntity_Hatch_Rack extends GT_MetaTileEntity_Hatch {
new RackComponent("dreamcraft:item.PikoCircuit", 64, 40, -.5f, 8500, true);
new RackComponent("dreamcraft:item.QuantumCircuit", 128, 48, -.6f, 9000, true);
}
+
+ if (Loader.isModLoaded(Reference.SPARTAKCORE)) {
+ //CustomGT5u circuits
+ //these components causes crashes when used with the original GT5u
+ new RackComponent(ItemList.NandChip.get(1), 2, 6, 0, 750, true);//Primitive Circuit
+ new RackComponent(ItemList.Circuit_Biowarecomputer.get(1), 40, 26, -.35F, 5900, true);
+ new RackComponent(ItemList.Circuit_Biowaresupercomputer.get(1), 42, 30, -.4F, 6200, true);
+ new RackComponent(ItemList.Circuit_Biomainframe.get(1), 40, 28, -.4F, 6000, true);//UHV Circuit
+ new RackComponent(ItemList.Circuit_Bioprocessor.get(1), 34, 20, -.35F, 5800, true);
+ }
+
if (Loader.isModLoaded("OpenComputers")) {
new RackComponent("OpenComputers:item.23", 0, 1, 0f, 100, true);//Transistor
new RackComponent("OpenComputers:item.24", 7, 12, -.05f, 1500, true);//chip t1
diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/TextParametersMessage.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/TextParametersMessage.java
new file mode 100644
index 0000000000..d206143700
--- /dev/null
+++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/TextParametersMessage.java
@@ -0,0 +1,160 @@
+package com.github.technus.tectech.thing.metaTileEntity.hatch;
+
+
+import com.github.technus.tectech.Util;
+import com.github.technus.tectech.thing.metaTileEntity.hatch.gui.GT_GUIContainer_ParamText;
+import cpw.mods.fml.common.network.ByteBufUtils;
+import cpw.mods.fml.common.network.simpleimpl.IMessage;
+import cpw.mods.fml.common.network.simpleimpl.MessageContext;
+import eu.usrv.yamcore.network.client.AbstractClientMessageHandler;
+import eu.usrv.yamcore.network.server.AbstractServerMessageHandler;
+import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
+import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+import io.netty.buffer.ByteBuf;
+import net.minecraft.client.Minecraft;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraft.world.World;
+import net.minecraftforge.common.DimensionManager;
+
+public class TextParametersMessage implements IMessage {
+ int mPosX;
+ int mPosY;
+ int mPosZ;
+ int mPosD;
+ String mVal0;
+ String mVal1;
+
+ public TextParametersMessage() {}
+
+ @Override
+ public void fromBytes(ByteBuf pBuffer) {
+ NBTTagCompound tTag = ByteBufUtils.readTag(pBuffer);
+ mPosX = tTag.getInteger("posx");
+ mPosY = tTag.getInteger("posy");
+ mPosZ = tTag.getInteger("posz");
+ mPosD = tTag.getInteger("posd");
+ mVal0 = tTag.getString("value0s");
+ if(mVal0==null) {
+ mVal0="";
+ }
+ mVal1 = tTag.getString("value1s");
+ if(mVal1==null) {
+ mVal1="";
+ }
+ }
+
+ @Override
+ public void toBytes(ByteBuf pBuffer) {
+ NBTTagCompound tFXTag = new NBTTagCompound();
+ tFXTag.setInteger("posx", mPosX);
+ tFXTag.setInteger("posy", mPosY);
+ tFXTag.setInteger("posz", mPosZ);
+ tFXTag.setInteger("posd", mPosD);
+ tFXTag.setString("value0s", mVal0);
+ tFXTag.setString("value1s", mVal1);
+ ByteBufUtils.writeTag(pBuffer, tFXTag);
+ }
+
+ public static class ParametersTextQuery extends TextParametersMessage {
+ public ParametersTextQuery() {}
+
+ public ParametersTextQuery(GT_MetaTileEntity_Hatch_ParamText metaTile) {
+ IGregTechTileEntity base=metaTile.getBaseMetaTileEntity();
+ mPosX=base.getXCoord();
+ mPosY=base.getYCoord();
+ mPosZ=base.getZCoord();
+ mPosD=base.getWorld().provider.dimensionId;
+ }
+ }
+
+ public static class ParametersTextData extends TextParametersMessage{
+ public ParametersTextData() {}
+
+ public ParametersTextData(GT_MetaTileEntity_Hatch_ParamText metaTile) {
+ IGregTechTileEntity base=metaTile.getBaseMetaTileEntity();
+ mPosX=base.getXCoord();
+ mPosY=base.getYCoord();
+ mPosZ=base.getZCoord();
+ mPosD=base.getWorld().provider.dimensionId;
+ mVal0 =metaTile.value0s;
+ mVal1 =metaTile.value1s;
+ }
+ }
+
+ public static class ParametersTextUpdate extends TextParametersMessage{
+ public ParametersTextUpdate() {}
+
+ public ParametersTextUpdate(GT_MetaTileEntity_Hatch_ParamText metaTile) {
+ IGregTechTileEntity base=metaTile.getBaseMetaTileEntity();
+ mPosX=base.getXCoord();
+ mPosY=base.getYCoord();
+ mPosZ=base.getZCoord();
+ mPosD=base.getWorld().provider.dimensionId;
+ mVal0 =metaTile.value0s;
+ mVal1 =metaTile.value1s;
+ }
+ }
+
+ public static class ClientHandler extends AbstractClientMessageHandler<ParametersTextData> {
+ @Override
+ public IMessage handleClientMessage(EntityPlayer pPlayer, ParametersTextData pMessage, MessageContext pCtx) {
+ if(pPlayer.worldObj.provider.dimensionId==pMessage.mPosD){
+ TileEntity te=pPlayer.worldObj.getTileEntity(pMessage.mPosX,pMessage.mPosY,pMessage.mPosZ);
+ if(te instanceof IGregTechTileEntity){
+ IMetaTileEntity meta = ((IGregTechTileEntity) te).getMetaTileEntity();
+ if(meta instanceof GT_MetaTileEntity_Hatch_ParamText){
+ ((GT_MetaTileEntity_Hatch_ParamText) meta).value0s =pMessage.mVal0;
+ ((GT_MetaTileEntity_Hatch_ParamText) meta).value1s =pMessage.mVal1;
+ if(Minecraft.getMinecraft().currentScreen instanceof GT_GUIContainer_ParamText){
+ GT_GUIContainer_ParamText gui=((GT_GUIContainer_ParamText) Minecraft.getMinecraft().currentScreen);
+ if(gui.mContainer==meta){
+ gui.setTextIn0(pMessage.mVal0);
+ gui.setTextIn1(pMessage.mVal1);
+ }
+ }
+ }
+ }
+ }
+ return null;
+ }
+ }
+
+ public static class ServerHandler extends AbstractServerMessageHandler<ParametersTextQuery> {
+ @Override
+ public IMessage handleServerMessage(EntityPlayer pPlayer, ParametersTextQuery pMessage, MessageContext pCtx) {
+ World world = DimensionManager.getWorld(pMessage.mPosD);
+ if (world != null) {
+ TileEntity te = world.getTileEntity(pMessage.mPosX, pMessage.mPosY, pMessage.mPosZ);
+ if (te instanceof IGregTechTileEntity) {
+ IMetaTileEntity meta = ((IGregTechTileEntity) te).getMetaTileEntity();
+ if (meta instanceof GT_MetaTileEntity_Hatch_ParamText) {
+ return new ParametersTextData((GT_MetaTileEntity_Hatch_ParamText) meta);
+ }
+ }
+ }
+ return null;
+ }
+ }
+
+ public static class ServerUpdateHandler extends AbstractServerMessageHandler<ParametersTextUpdate> {
+ @Override
+ public IMessage handleServerMessage(EntityPlayer pPlayer, ParametersTextUpdate pMessage, MessageContext pCtx) {
+ World world = DimensionManager.getWorld(pMessage.mPosD);
+ if(world!=null){
+ TileEntity te=world.getTileEntity(pMessage.mPosX,pMessage.mPosY,pMessage.mPosZ);
+ if(te instanceof IGregTechTileEntity){
+ IMetaTileEntity meta = ((IGregTechTileEntity) te).getMetaTileEntity();
+ if(meta instanceof GT_MetaTileEntity_Hatch_ParamText){
+ ((GT_MetaTileEntity_Hatch_ParamText) meta).value0s =pMessage.mVal0;
+ ((GT_MetaTileEntity_Hatch_ParamText) meta).value1s =pMessage.mVal1;
+ ((GT_MetaTileEntity_Hatch_ParamText) meta).value0D=Util.getValue(pMessage.mVal0);
+ ((GT_MetaTileEntity_Hatch_ParamText) meta).value1D=Util.getValue(pMessage.mVal1);
+ }
+ }
+ }
+ return null;
+ }
+ }
+}
diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_Container_ParamText.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_Container_ParamText.java
new file mode 100644
index 0000000000..43eea1a123
--- /dev/null
+++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_Container_ParamText.java
@@ -0,0 +1,151 @@
+package com.github.technus.tectech.thing.metaTileEntity.hatch.gui;
+
+import com.github.technus.tectech.TecTech;
+import com.github.technus.tectech.Util;
+import com.github.technus.tectech.loader.NetworkDispatcher;
+import com.github.technus.tectech.thing.metaTileEntity.hatch.GT_MetaTileEntity_Hatch_ParamText;
+import com.github.technus.tectech.thing.metaTileEntity.hatch.TextParametersMessage;
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
+import gregtech.api.gui.GT_ContainerMetaTile_Machine;
+import gregtech.api.gui.GT_Slot_Holo;
+import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.entity.player.EntityPlayerMP;
+import net.minecraft.entity.player.InventoryPlayer;
+import net.minecraft.inventory.ICrafting;
+import net.minecraft.inventory.Slot;
+import net.minecraft.item.ItemStack;
+
+import java.util.Objects;
+
+public class GT_Container_ParamText extends GT_ContainerMetaTile_Machine {
+ public int param = 0;
+ public double value0f = 0;
+ public double value1f = 0;
+ public double input0f = 0;
+ public double input1f = 0;
+ public String value0s="";
+ public String value1s="";
+
+ public GT_Container_ParamText(InventoryPlayer aInventoryPlayer, IGregTechTileEntity aTileEntity) {
+ super(aInventoryPlayer, aTileEntity);
+ }
+
+ @Override
+ public void addSlots(InventoryPlayer aInventoryPlayer) {
+ addSlotToContainer(new GT_Slot_Holo(mTileEntity, 2, 8, 5, false, false, 1));
+ addSlotToContainer(new GT_Slot_Holo(mTileEntity, 2, 26, 5, false, false, 1));
+ addSlotToContainer(new GT_Slot_Holo(mTileEntity, 2, 152, 5, false, false, 1));
+ addSlotToContainer(new GT_Slot_Holo(mTileEntity, 2, 134, 5, false, false, 1));
+ }
+
+ @Override
+ public ItemStack slotClick(int aSlotIndex, int aMouseclick, int aShifthold, EntityPlayer aPlayer) {
+ if (aSlotIndex < 0) {
+ return super.slotClick(aSlotIndex, aMouseclick, aShifthold, aPlayer);
+ }
+ Slot tSlot = (Slot) inventorySlots.get(aSlotIndex);
+ if (tSlot != null && mTileEntity.getMetaTileEntity() != null) {
+ boolean doStuff = true;
+ GT_MetaTileEntity_Hatch_ParamText paramH = (GT_MetaTileEntity_Hatch_ParamText) mTileEntity.getMetaTileEntity();
+ switch (aSlotIndex) {
+ case 0:
+ paramH.param -= aShifthold == 1 ? 16 : 4;
+ break;
+ case 1:
+ paramH.param -= aShifthold == 1 ? 2 : 1;
+ break;
+ case 2:
+ paramH.param += aShifthold == 1 ? 16 : 4;
+ break;
+ case 3:
+ paramH.param += aShifthold == 1 ? 2 : 1;
+ break;
+ default:
+ doStuff = false;
+ }
+ if (doStuff) {
+ IGregTechTileEntity base=paramH.getBaseMetaTileEntity();
+ TecTech.proxy.playSound(base,"fx_click");
+ if (paramH.param > 9) {
+ paramH.param = 9;
+ } else if (paramH.param < -1) {
+ paramH.param = -1;
+ }
+ }
+ }
+ return super.slotClick(aSlotIndex, aMouseclick, aShifthold, aPlayer);
+ }
+
+ @Override
+ public void detectAndSendChanges() {
+ super.detectAndSendChanges();
+ if (mTileEntity.isClientSide() || mTileEntity.getMetaTileEntity() == null) {
+ return;
+ }
+ param = ((GT_MetaTileEntity_Hatch_ParamText) mTileEntity.getMetaTileEntity()).param;
+ value0f = ((GT_MetaTileEntity_Hatch_ParamText) mTileEntity.getMetaTileEntity()).value0D;
+ value1f = ((GT_MetaTileEntity_Hatch_ParamText) mTileEntity.getMetaTileEntity()).value1D;
+ input0f = ((GT_MetaTileEntity_Hatch_ParamText) mTileEntity.getMetaTileEntity()).input0D;
+ input1f = ((GT_MetaTileEntity_Hatch_ParamText) mTileEntity.getMetaTileEntity()).input1D;
+ for (Object crafter : crafters) {
+ ICrafting var1 = (ICrafting) crafter;
+ Util.sendInteger(param,this,var1,100);
+ Util.sendDouble(value0f,this,var1,102);
+ Util.sendDouble(value1f,this,var1, 106);
+ Util.sendDouble(input0f,this,var1, 110);
+ Util.sendDouble(input1f,this,var1, 114);
+ }
+ if(!Objects.equals(value0s,((GT_MetaTileEntity_Hatch_ParamText) mTileEntity.getMetaTileEntity()).value0s) ||
+ !Objects.equals(value0s,((GT_MetaTileEntity_Hatch_ParamText) mTileEntity.getMetaTileEntity()).value0s)){
+ value0s =((GT_MetaTileEntity_Hatch_ParamText) mTileEntity.getMetaTileEntity()).value0s;
+ value1s =((GT_MetaTileEntity_Hatch_ParamText) mTileEntity.getMetaTileEntity()).value1s;
+ for(Object object:crafters){
+ if(object instanceof EntityPlayerMP){
+ NetworkDispatcher.INSTANCE.sendTo(
+ new TextParametersMessage.ParametersTextData(
+ ((GT_MetaTileEntity_Hatch_ParamText) mTileEntity.getMetaTileEntity())),
+ (EntityPlayerMP)object);
+ }
+ }
+ }
+ }
+
+ @Override
+ @SideOnly(Side.CLIENT)
+ public void updateProgressBar(int par1, int par2) {
+ super.updateProgressBar(par1, par2);
+ switch (par1) {
+ case 100:
+ case 101:
+ param=Util.receiveInteger(param,100,par1,par2);
+ return;
+ case 102:
+ case 103:
+ case 104:
+ case 105:
+ value0f=Util.receiveDouble(value0f,102,par1,par2);
+ return;
+ case 106:
+ case 107:
+ case 108:
+ case 109:
+ value1f=Util.receiveDouble(value1f,106,par1,par2);
+ return;
+ case 110:
+ case 111:
+ case 112:
+ case 113:
+ input0f=Util.receiveDouble(input0f,110,par1,par2);
+ return;
+ case 114:
+ case 115:
+ case 116:
+ case 117:
+ input1f=Util.receiveDouble(input1f,114,par1,par2);
+ return;
+ default:
+ }
+ }
+}
diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_GUIContainer_ParamText.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_GUIContainer_ParamText.java
new file mode 100644
index 0000000000..ed1f1acdee
--- /dev/null
+++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_GUIContainer_ParamText.java
@@ -0,0 +1,168 @@
+package com.github.technus.tectech.thing.metaTileEntity.hatch.gui;
+
+import com.github.technus.tectech.Util;
+import com.github.technus.tectech.font.TecTechFontRender;
+import com.github.technus.tectech.loader.NetworkDispatcher;
+import com.github.technus.tectech.thing.metaTileEntity.hatch.GT_MetaTileEntity_Hatch_ParamText;
+import com.github.technus.tectech.thing.metaTileEntity.hatch.TextParametersMessage;
+import gregtech.api.gui.GT_GUIContainerMetaTile_Machine;
+import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+import net.minecraft.client.gui.GuiTextField;
+import net.minecraft.entity.player.InventoryPlayer;
+
+import java.util.Locale;
+import java.util.Objects;
+
+import static gregtech.api.enums.GT_Values.RES_PATH_GUI;
+
+public class GT_GUIContainer_ParamText extends GT_GUIContainerMetaTile_Machine {
+ private GuiTextField value0tb;
+ private GuiTextField valie1tb;
+
+ public GT_GUIContainer_ParamText(InventoryPlayer aInventoryPlayer, IGregTechTileEntity aTileEntity) {
+ super(new GT_Container_ParamText(aInventoryPlayer, aTileEntity), RES_PATH_GUI + "ParametrizerText.png");
+ }
+
+ @Override
+ public void initGui() {
+ super.initGui();
+ value0tb = new GuiTextField(TecTechFontRender.INSTANCE, (this.width - 176) / 2 + 12 + 14, (this.height - 166) / 2 + 26, 156 - 18, 12);
+ value0tb.setMaxStringLength(80);
+ valie1tb = new GuiTextField(TecTechFontRender.INSTANCE, (this.width - 176) / 2 + 12 + 14, (this.height - 166) / 2 + 41, 156 - 18, 12);
+ valie1tb.setMaxStringLength(80);
+ updateValues();
+ }
+
+ @Override
+ public void onGuiClosed() {
+ super.onGuiClosed();
+ value0tb.setFocused(false);
+ valie1tb.setFocused(false);
+ updateValues();
+ }
+
+ @Override
+ protected void keyTyped(char p_73869_1_, int p_73869_2_) {
+ value0tb.textboxKeyTyped(p_73869_1_, p_73869_2_);
+ valie1tb.textboxKeyTyped(p_73869_1_, p_73869_2_);
+ if ((p_73869_2_ != 1 && p_73869_2_ != this.mc.gameSettings.keyBindInventory.getKeyCode()) || (!value0tb.isFocused() && !valie1tb.isFocused())) {
+ super.keyTyped(p_73869_1_, p_73869_2_);
+ }
+ updateValues();
+ }
+
+ @Override
+ public void updateScreen() {
+ super.updateScreen();
+ value0tb.updateCursorCounter();
+ valie1tb.updateCursorCounter();
+ }
+
+ @Override
+ public void drawScreen(int par1, int par2, float par3) {
+ super.drawScreen(par1, par2, par3);
+ value0tb.drawTextBox();
+ valie1tb.drawTextBox();
+ }
+
+ @Override
+ protected void mouseClicked(int p_73864_1_, int p_73864_2_, int p_73864_3_) {
+ super.mouseClicked(p_73864_1_, p_73864_2_, p_73864_3_);
+ value0tb.mouseClicked(p_73864_1_, p_73864_2_, p_73864_3_);
+ valie1tb.mouseClicked(p_73864_1_, p_73864_2_, p_73864_3_);
+ updateValues();
+ }
+
+ @Override
+ protected void drawGuiContainerForegroundLayer(int par1, int par2) {
+ if (mContainer != null) {
+ TecTechFontRender.INSTANCE.drawSplitString("Parameters tXt: " + ((GT_Container_ParamText) mContainer).param, 46, 7, 167, 0xffffff);
+ Locale locale = Locale.getDefault();
+ TecTechFontRender.INSTANCE.drawSplitString("\u24EA\u2b06", 10, 29, 16, 0x00bbff);
+ TecTechFontRender.INSTANCE.drawSplitString("\u2460\u2b06", 10, 44, 16, 0x0077ff);
+ TecTechFontRender.INSTANCE.drawSplitString("\u24EA\u2b07" + String.format(locale, "%+.5E", (((GT_Container_ParamText) mContainer).input0f)), 10, 56, 167, 0x22ddff);
+ TecTechFontRender.INSTANCE.drawSplitString("\u2460\u2b07" + String.format(locale, "%+.5E", (((GT_Container_ParamText) mContainer).input1f)), 10, 65, 167, 0x00ffff);
+ } else {
+ TecTechFontRender.INSTANCE.drawSplitString("Parameters tXt", 46, 7, 167, 0xffffff);
+ }
+ }
+
+ @Override
+ protected void drawGuiContainerBackgroundLayer(float par1, int par2, int par3) {
+ super.drawGuiContainerBackgroundLayer(par1, par2, par3);
+ int x = (width - xSize) / 2;
+ int y = (height - ySize) / 2;
+ drawTexturedModalRect(x, y, 0, 0, xSize, ySize);
+ }
+
+ private void updateValues() {
+ updateIn0();
+ updateIn1();
+ }
+
+ private void updateIn0() {
+ if (!value0tb.isFocused()) {
+ String str = value0tb.getText().toLowerCase();
+ double val;
+ try {
+ if (str.contains("b")) {
+ String[] split = str.split("b");
+ val = Util.bitStringToInt(split[0].replaceAll("[^-]", "") + split[1].replaceAll("_",""));
+ } else if (str.contains("x")) {
+ String[] split = str.split("x");
+ val = Util.hexStringToInt(split[0].replaceAll("[^-]", "") + split[1].replaceAll("_",""));
+ } else {
+ val = Util.stringToDouble(str);
+ }
+ if (!Objects.equals(((GT_MetaTileEntity_Hatch_ParamText) ((GT_Container_ParamText) mContainer).mTileEntity.getMetaTileEntity()).value0s, value0tb.getText())) {
+ ((GT_Container_ParamText) mContainer).value0s = value0tb.getText();
+ ((GT_Container_ParamText) mContainer).value0f = val;
+ ((GT_MetaTileEntity_Hatch_ParamText) ((GT_Container_ParamText) mContainer).mTileEntity.getMetaTileEntity()).value0s = value0tb.getText();
+
+ NetworkDispatcher.INSTANCE.sendToServer(new TextParametersMessage.ParametersTextUpdate(
+ (GT_MetaTileEntity_Hatch_ParamText) ((GT_Container_ParamText) mContainer).mTileEntity.getMetaTileEntity()));
+ }
+ } catch (Exception e) {
+ value0tb.setText(((GT_MetaTileEntity_Hatch_ParamText) ((GT_Container_ParamText) mContainer).mTileEntity.getMetaTileEntity()).value0s);
+ }
+ }
+ }
+
+ private void updateIn1() {
+ if (!valie1tb.isFocused()) {
+ String str = valie1tb.getText().toLowerCase();
+ double val;
+ try {
+ if (str.contains("b")) {
+ String[] split = str.split("b");
+ val = Util.bitStringToInt(split[0].replaceAll("[^-]", "") + split[1].replaceAll("_",""));
+ } else if (str.contains("x")) {
+ String[] split = str.split("x");
+ val = Util.hexStringToInt(split[0].replaceAll("[^-]", "") + split[1].replaceAll("_",""));
+ } else {
+ val = Util.stringToDouble(str);
+ }
+ if (!Objects.equals(((GT_MetaTileEntity_Hatch_ParamText) ((GT_Container_ParamText) mContainer).mTileEntity.getMetaTileEntity()).value1s, valie1tb.getText())) {
+ ((GT_Container_ParamText) mContainer).value1s = valie1tb.getText();
+ ((GT_Container_ParamText) mContainer).value1f = val;
+ ((GT_MetaTileEntity_Hatch_ParamText) ((GT_Container_ParamText) mContainer).mTileEntity.getMetaTileEntity()).value1s = valie1tb.getText();
+
+ NetworkDispatcher.INSTANCE.sendToServer(new TextParametersMessage.ParametersTextUpdate(
+ (GT_MetaTileEntity_Hatch_ParamText) ((GT_Container_ParamText) mContainer).mTileEntity.getMetaTileEntity()));
+ }
+ } catch (Exception e) {
+ valie1tb.setText(((GT_MetaTileEntity_Hatch_ParamText) ((GT_Container_ParamText) mContainer).mTileEntity.getMetaTileEntity()).value1s);
+ }
+ }
+ }
+
+ public void setTextIn0(String in0) {
+ ((GT_Container_ParamText) mContainer).value0s = in0;
+ this.value0tb.setText(in0);
+ }
+
+ public void setTextIn1(String in1) {
+ ((GT_Container_ParamText) mContainer).value1s = in1;
+ this.valie1tb.setText(in1);
+ }
+}
diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_bhg.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_bhg.java
index 30ee7c4d64..972f44fd85 100644
--- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_bhg.java
+++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_bhg.java
@@ -21,6 +21,8 @@ import static com.github.technus.tectech.Util.StructureBuilderExtreme;
import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.textureOffset;
import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.texturePage;
import static com.github.technus.tectech.thing.casing.TT_Container_Casings.sBlockCasingsTT;
+import static com.github.technus.tectech.thing.metaTileEntity.multi.GT_MetaTileEntity_EM_decay.URANIUM_INGOT_MASS_DIFF;
+import static com.github.technus.tectech.thing.metaTileEntity.multi.GT_MetaTileEntity_EM_decay.URANIUM_MASS_TO_EU_INSTANT;
import static gregtech.api.enums.GT_Values.E;
/**
@@ -30,6 +32,11 @@ public class GT_MetaTileEntity_EM_bhg extends GT_MetaTileEntity_MultiblockBase_E
private static Textures.BlockIcons.CustomIcon ScreenOFF;
private static Textures.BlockIcons.CustomIcon ScreenON;
+ private static final double NEUTRONIUM_BLOCK_MASS =4.1E17;
+ private static final double NEUTRONIUM_BLOCK_ATOM_COUNT =2.4478671E44;
+ private static final double NEUTRONIUM_BLOCK_TO_EU_INSTANT = URANIUM_MASS_TO_EU_INSTANT * NEUTRONIUM_BLOCK_MASS /(URANIUM_INGOT_MASS_DIFF * 1.78266191e-36);//~ 5.314e40
+ private static final double NEUTRON_TO_EU_INSTANT = NEUTRONIUM_BLOCK_TO_EU_INSTANT / NEUTRONIUM_BLOCK_ATOM_COUNT;//~ 0.00021708694
+
public boolean glassDome=false;
//Time dillatation - to slow down the explosion thing but REALLY REDUCE POWER OUTPUT
@@ -190,4 +197,103 @@ public class GT_MetaTileEntity_EM_bhg extends GT_MetaTileEntity_MultiblockBase_E
EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD + "Super unstable!!!"
};
}
+
+ /**
+ * Black hole event horizon radius calculator
+ * @param massKg mass in kg
+ * @return radius in meters
+ */
+ private static double getSchwarzschildRadius(double massKg) {
+ return massKg * 1.48523238761875E-27;
+ }
+
+ /**
+ * Black hole event horizon surface area calculator
+ * @param massKg mass in kg
+ * @return area in meters^2
+ */
+ private static double getSchwarzschildArea(double massKg) {
+ return Math.pow(getSchwarzschildRadius(massKg), 2) * 12.566370614359172;
+ }
+
+ /**
+ * Black hole event horizon temperature calculator
+ * @param massKg mass in kg
+ * @return temperature in K
+ */
+ private static double getTemperature(double massKg) {
+ return 2.841438513199716E-9 / (2.3159488515170722E-32 * massKg);
+ }
+
+ /**
+ * Black hole luminosity calculator
+ * @param massKg mass in kg
+ * @return luminosity in watts
+ */
+ private static double getLuminosity(double massKg) {
+ return getSchwarzschildArea(massKg) * 5.670373e-8 * Math.pow(getTemperature(massKg), 4);
+ }
+
+ /**
+ * Black hole acretion disk luminosity calculator
+ * @param massKgPer1s mass injection kg per s
+ * @return luminosity in watts
+ */
+ private static double getAcretionDiskLuminosity(double massKgPer1s) {
+ return massKgPer1s * 7.48962648947348E15;
+ }
+
+ /**
+ * Black hole gravity field calculator, should be used for gravity blasting
+ * @param massKg mass in kg
+ * @param distanceSq distance squared in meters
+ * @return gravity field
+ */
+ private static double getGravityField(double massKg,double distanceSq) {
+ return massKg * 6.6743015e-11 / distanceSq;
+ }
+
+ /**
+ * Black hole containment force calculator
+ * @param massKg mass in kg
+ * @param radiusSq radius squared in meters
+ * @return force in newtons
+ */
+ private static double getContainmentForce(double massKg,double radiusSq) {
+ return Math.pow(massKg, 2) * 6.6743015e-11 / radiusSq;
+ }
+
+ /**
+ * Black hole containment pressure calculator F/s, should be used for bhg initial release explosion?
+ * @param massKg mass in kg
+ * @param radiusSq radius squared in meters
+ * @return pressure in pascals
+ */
+ private static double getContainmentPressure(double massKg,double radiusSq) {
+ return getContainmentForce(massKg, radiusSq) / (12.566370614359172 * radiusSq);
+ }
+
+ /**
+ * Black hole containment energy calculator, assuming F*s, and 100% efficient gravity force field
+ * @param massKg mass in kg
+ * @return power in watts
+ */
+ private static double getContainmentPower(double massKg) {
+ return Math.pow(massKg, 2) * 8.387174624097334E-10;
+ }
+
+ /**
+ * Black hole power balance, zero at mass ~= 2.5525e10 (T~=4.8067e12)
+ * @param massKg mass in kg
+ * @param massKgPer1s mass injection kg per s
+ * @return power in watts
+ */
+ @Deprecated
+ private static double getContainmentPowerBalance(double massKg,double massKgPer1s) {
+ return getLuminosity(massKg)+getAcretionDiskLuminosity(massKgPer1s)-getContainmentPower(massKg);
+ }
+
+ //todo compaction energy 8 * Long.MAx_VALUE?
+
+ //todo neutronium decay gen? 0.0007186885 mass diff - actually compute hydrogen amount...
}
diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_decay.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_decay.java
index 9a4b8021c1..21344b9f34 100644
--- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_decay.java
+++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_decay.java
@@ -42,9 +42,9 @@ public class GT_MetaTileEntity_EM_decay extends GT_MetaTileEntity_MultiblockBase
private static Textures.BlockIcons.CustomIcon ScreenOFF;
private static Textures.BlockIcons.CustomIcon ScreenON;
- private static final double URANIUM_INGOT_MASS_DIFF = 1.6114516E10;
- private static final double MASS_TO_EU_PARTIAL = ConfigUtil.getFloat(MainConfig.get(), "balance/energy/generator/nuclear") * 3_000_000.0 / URANIUM_INGOT_MASS_DIFF;
- private static final double MASS_TO_EU_INSTANT= MASS_TO_EU_PARTIAL *20;
+ public static final double URANIUM_INGOT_MASS_DIFF = 1.6114516E10;
+ private static final double URANIUM_MASS_TO_EU_PARTIAL = ConfigUtil.getFloat(MainConfig.get(), "balance/energy/generator/nuclear") * 3_000_000.0 / URANIUM_INGOT_MASS_DIFF;
+ public static final double URANIUM_MASS_TO_EU_INSTANT = URANIUM_MASS_TO_EU_PARTIAL *20;
//region parameters
protected Parameters.Group.ParameterIn ampereFlow;
@@ -164,7 +164,7 @@ public class GT_MetaTileEntity_EM_decay extends GT_MetaTileEntity_MultiblockBase
for(cElementalInstanceStack stack:outputEM[0].values()){
if (stack.getEnergy() == 0 && stack.definition.decayMakesEnergy(1)
&& getBaseMetaTileEntity().decreaseStoredEnergyUnits(
- (long) (stack.getEnergySettingCost(1) * MASS_TO_EU_INSTANT), false)) {
+ (long) (stack.getEnergySettingCost(1) * URANIUM_MASS_TO_EU_INSTANT), false)) {
stack.setEnergy(1);
}else if(!stack.definition.decayMakesEnergy(stack.getEnergy())){
outputEM[0].remove(stack.definition);
@@ -175,7 +175,7 @@ public class GT_MetaTileEntity_EM_decay extends GT_MetaTileEntity_MultiblockBase
float preMass=outputEM[0].getMass();
outputEM[0].tickContent(1,0,1);
- double energyDose=((preMass-outputEM[0].getMass())* MASS_TO_EU_PARTIAL);
+ double energyDose=((preMass-outputEM[0].getMass())* URANIUM_MASS_TO_EU_PARTIAL);
eAmpereFlow=(long) ampereFlow.get();
if (eAmpereFlow <= 0) {
mEUt=0;
diff --git a/src/main/resources/assets/gregtech/textures/gui/ParametrizerText.png b/src/main/resources/assets/gregtech/textures/gui/ParametrizerText.png
new file mode 100644
index 0000000000..da78ca5b21
--- /dev/null
+++ b/src/main/resources/assets/gregtech/textures/gui/ParametrizerText.png
Binary files differ