aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--build.gradle68
-rw-r--r--build.properties2
-rw-r--r--src/main/java/com/github/technus/tectech/Util.java17
-rw-r--r--src/main/java/com/github/technus/tectech/compatibility/dreamcraft/DreamCraftRecipeLoader.java166
-rw-r--r--src/main/java/com/github/technus/tectech/loader/MainLoader.java5
-rw-r--r--src/main/java/com/github/technus/tectech/loader/network/NetworkDispatcher.java21
-rw-r--r--src/main/java/com/github/technus/tectech/loader/network/PipeActivityMessage.java134
-rw-r--r--src/main/java/com/github/technus/tectech/loader/network/RotationMessage.java (renamed from src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/network/RotationMessage.java)2
-rw-r--r--src/main/java/com/github/technus/tectech/loader/recipe/BloodyRecipeLoader.java159
-rw-r--r--src/main/java/com/github/technus/tectech/loader/thing/MachineLoader.java292
-rw-r--r--src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/stacks/cElementalInstanceStack.java47
-rw-r--r--src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/templates/cElementalPrimitive.java14
-rw-r--r--src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/complex/atom/dAtomDefinition.java2
-rw-r--r--src/main/java/com/github/technus/tectech/recipe/TT_recipeAdder.java5
-rw-r--r--src/main/java/com/github/technus/tectech/thing/CustomItemList.java26
-rw-r--r--src/main/java/com/github/technus/tectech/thing/item/gui/ScanDisplayScreen.java6
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/Textures.java76
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_CreativeData.java117
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_DynamoMulti.java5
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_DynamoTunnel.java107
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_EnergyMulti.java5
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_EnergyTunnel.java53
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_InputElemental.java2
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_OutputData.java1
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_OutputDataItems.java1
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_OutputElemental.java6
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_Container_ParamAdv.java4
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_GUIContainer_ParamAdv.java2
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_decay.java17
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_scanner.java2
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_Container_MultiMachineEM.java10
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_GUIContainer_MultiMachineEM.java30
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_MetaTileEntity_MultiblockBase_EM.java71
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/LedStatus.java20
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/Parameters.java14
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/network/RotationPacketDispatcher.java21
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/pipe/GT_MetaTileEntity_Pipe_Data.java53
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/pipe/GT_MetaTileEntity_Pipe_EM.java54
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/pipe/GT_MetaTileEntity_Pipe_Energy.java60
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/pipe/IActivePipe.java9
-rw-r--r--src/main/resources/assets/gregtech/textures/blocks/iconsets/EM_LASER.pngbin0 -> 369 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/blocks/iconsets/OVERLAY_ENERGY_IN_LASER.pngbin0 -> 559 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/blocks/iconsets/OVERLAY_ENERGY_OUT_LASER.pngbin0 -> 555 bytes
43 files changed, 1356 insertions, 350 deletions
diff --git a/build.gradle b/build.gradle
index 6fccbe64e8..0d563706a2 100644
--- a/build.gradle
+++ b/build.gradle
@@ -33,7 +33,7 @@ file "build.properties" withReader {
}
version = "${config.minecraft.version}-${config.tectech.version}"
-group= "com.github.technus"
+group = "com.github.technus"
archivesBaseName = "TecTech"
minecraft {
@@ -59,12 +59,12 @@ repositories {
name = "ic2"
url = "http://maven.ic2.player.to/"
}
-
- ivy {
+
+ ivy {
name 'gtnh_download_source'
artifactPattern "http://downloads.gtnewhorizons.com/Mods_for_Jenkins/[module]-[revision].[ext]"
}
-
+
maven {
name = "chickenbones"
url = "http://chickenbones.net/maven/"
@@ -97,37 +97,37 @@ tasks.setupDecompWorkspace.dependsOn getGregTech
tasks.compileJava.dependsOn getGregTech
processResources
-{
- def cleanVersion = project.version.split('-')[1]
- // this will ensure that this task is redone when the versions change.
- inputs.property "version", cleanVersion
- inputs.property "mcversion", project.minecraft.version
-
- // replace stuff in mcmod.info, nothing else
- from(sourceSets.main.resources.srcDirs) {
- include 'mcmod.info'
-
- // replace version and mcversion
- expand 'version':cleanVersion, 'mcversion':project.minecraft.version
- }
-
- // copy everything else, thats not the mcmod.info
- from(sourceSets.main.resources.srcDirs) {
- exclude 'mcmod.info'
- }
-}
+ {
+ def cleanVersion = project.version.split('-')[1]
+ // this will ensure that this task is redone when the versions change.
+ inputs.property "version", cleanVersion
+ inputs.property "mcversion", project.minecraft.version
-task signJar(dependsOn: 'reobf'){
+ // replace stuff in mcmod.info, nothing else
+ from(sourceSets.main.resources.srcDirs) {
+ include 'mcmod.info'
+
+ // replace version and mcversion
+ expand 'version': cleanVersion, 'mcversion': project.minecraft.version
+ }
+
+ // copy everything else, thats not the mcmod.info
+ from(sourceSets.main.resources.srcDirs) {
+ exclude 'mcmod.info'
+ }
+ }
+
+task signJar(dependsOn: 'reobf') {
doLast {
ant.signjar(
- destDir: jar.destinationDir,
- jar: jar.getArchivePath(),
- alias: findProperty('keyStoreAlias') ?: '',
- keystore: findProperty('keyStore') ?: '',
- storepass: findProperty('keyStorePass') ?: '',
- digestalg: findProperty('signDigestAlg') ?: '',
- tsaurl: findProperty('signTSAurl') ?: '',
- verbose: true
- )
+ destDir: jar.destinationDir,
+ jar: jar.getArchivePath(),
+ alias: findProperty('keyStoreAlias') ?: '',
+ keystore: findProperty('keyStore') ?: '',
+ storepass: findProperty('keyStorePass') ?: '',
+ digestalg: findProperty('signDigestAlg') ?: '',
+ tsaurl: findProperty('signTSAurl') ?: '',
+ verbose: true
+ )
}
-}
+} \ No newline at end of file
diff --git a/build.properties b/build.properties
index 8ca86d80f4..69cdaa724f 100644
--- a/build.properties
+++ b/build.properties
@@ -11,4 +11,4 @@ gregtech.version=5.09.33.16
cofhcore.version=[1.7.10]3.1.4-329-dev
cofhlib.version=[1.7.10]1.0.3-175-dev
-yamcore.version=0.5.78
+yamcore.version=0.5.78 \ No newline at end of file
diff --git a/src/main/java/com/github/technus/tectech/Util.java b/src/main/java/com/github/technus/tectech/Util.java
index f15c07cd19..c550203874 100644
--- a/src/main/java/com/github/technus/tectech/Util.java
+++ b/src/main/java/com/github/technus/tectech/Util.java
@@ -25,8 +25,6 @@ import net.minecraftforge.fluids.FluidStack;
import org.apache.commons.lang3.StringUtils;
import java.lang.reflect.Field;
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
import java.util.*;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
@@ -70,7 +68,7 @@ public final class Util {
}
public static String intBitsToShortString(int number) {
- StringBuilder result = new StringBuilder(16);
+ StringBuilder result = new StringBuilder(35);
for (int i = 31; i >= 0; i--) {
int mask = 1 << i;
@@ -86,10 +84,10 @@ public final class Util {
}
public static String longBitsToShortString(long number) {
- StringBuilder result = new StringBuilder(16);
+ StringBuilder result = new StringBuilder(71);
for (int i = 63; i >= 0; i--) {
- int mask = 1 << i;
+ long mask = 1L << i;
result.append((number & mask) != 0 ? ":" : ".");
if (i % 8 == 0) {
@@ -1376,7 +1374,7 @@ public final class Util {
field.setAccessible(true);
field.set(me,(byte)tier);
}catch (Exception e){
- e.printStackTrace();
+ //e.printStackTrace();
}
}
@@ -1445,4 +1443,11 @@ public final class Util {
crafter.sendProgressBarUpdate(container, startIndex++, (int)(value & 0xFFFFL));
crafter.sendProgressBarUpdate(container, startIndex, (value & 0xFFFF0000)>>>16);
}
+
+ public static String doubleToString(double value){
+ if(value==(long)value){
+ return Long.toString((long)value);
+ }
+ return Double.toString(value);
+ }
}
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 d9ddb3d0e0..dd3ad339af 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
@@ -14,6 +14,7 @@ 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;
@@ -81,6 +82,13 @@ public class DreamCraftRecipeLoader implements Runnable {
ItemList.Circuit_Quantummainframe.get(1)
}, Materials.Osmium.getMolten(288), CustomItemList.EMpipe.get(1), 400, 500000);
+ //Laser
+ addAssemblerRecipeWithCleanroom(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
@@ -143,7 +151,7 @@ public class DreamCraftRecipeLoader implements Runnable {
getOrDefault("Trinium",Materials.Osmium).getMolten(1296),
Materials.Osmium.getMolten(1296),
new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000),
- Materials.Argon.getGas(576),
+ Materials.Argon.getGas(1000),
}, CustomItemList.eM_Hollow.get(2), 200, 2000000);
//EM Coil
@@ -212,6 +220,118 @@ public class DreamCraftRecipeLoader implements Runnable {
//GT_Values.RA.ADD_ASSEMBLER_RECIPE(new ItemStack[]{com.dreammaster.gthandler.CustomItemList.Transformer_UMV_UIV.get(1), CustomItemList.eM_energymulti4_UIV.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.NetherStar, 2), GT_OreDictUnificator.get(OrePrefixes.plate, Materials.BlackPlutonium, 4)}, Materials.Electrum.getMolten(8000), CustomItemList.eM_energymulti16_UIV.get(1), 200, 8000000);
//GT_Values.RA.ADD_ASSEMBLER_RECIPE(new ItemStack[]{com.dreammaster.gthandler.CustomItemList.WetTransformer_UMV_UIV.get(1), CustomItemList.eM_energymulti16_UIV.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt12, Materials.NetherStar, 2), GT_OreDictUnificator.get(OrePrefixes.plate, Materials.BlackPlutonium, 6)}, Materials.Tungsten.getMolten(8000), CustomItemList.eM_energymulti64_UIV.get(1), 400, 8000000);
+ //Laser Dynamo IV-UEV 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);
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_MAX.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 1), ItemList.Emitter_UHV.get(1), ItemList.Electric_Pump_UHV.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.Bedrockium, 2), GT_Utility.getIntegratedCircuit(1)}, null, CustomItemList.eM_dynamotunnel1_UHV.get(1), 1000, 2000000);
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{getItemContainer("Hull_UEV").get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 1), ItemList.Emitter_UEV.get(1), ItemList.Electric_Pump_UEV.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.Draconium, 2), GT_Utility.getIntegratedCircuit(1)}, null, CustomItemList.eM_dynamotunnel1_UEV.get(1), 1000, 8000000);
+
+ //Laser Dynamo IV-UEV 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);
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_MAX.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 2), ItemList.Emitter_UHV.get(2), ItemList.Electric_Pump_UHV.get(2), GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.Bedrockium, 4), GT_Utility.getIntegratedCircuit(2)}, null, CustomItemList.eM_dynamotunnel2_UHV.get(1), 2000, 2000000);
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{getItemContainer("Hull_UEV").get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 2), ItemList.Emitter_UEV.get(2), ItemList.Electric_Pump_UEV.get(2), GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.Draconium, 4), GT_Utility.getIntegratedCircuit(2)}, null, CustomItemList.eM_dynamotunnel2_UEV.get(1), 2000, 8000000);
+
+ //Laser Dynamo IV-UEV 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);
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_MAX.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 4), ItemList.Emitter_UHV.get(4), ItemList.Electric_Pump_UHV.get(4), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.Bedrockium, 4), GT_Utility.getIntegratedCircuit(3)}, null, CustomItemList.eM_dynamotunnel3_UHV.get(1), 4000, 2000000);
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{getItemContainer("Hull_UEV").get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 4), ItemList.Emitter_UEV.get(4), ItemList.Electric_Pump_UEV.get(4), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.Draconium, 4), GT_Utility.getIntegratedCircuit(3)}, null, CustomItemList.eM_dynamotunnel3_UEV.get(1), 4000, 8000000);
+
+ //Laser Dynamo IV-UEV 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);
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_MAX.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 8), ItemList.Emitter_UHV.get(8), ItemList.Electric_Pump_UHV.get(8), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.Bedrockium, 8), GT_Utility.getIntegratedCircuit(4)}, null, CustomItemList.eM_dynamotunnel4_UHV.get(1), 8000, 2000000);
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{getItemContainer("Hull_UEV").get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 8), ItemList.Emitter_UEV.get(8), ItemList.Electric_Pump_UEV.get(8), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.Draconium, 8), GT_Utility.getIntegratedCircuit(4)}, null, CustomItemList.eM_dynamotunnel4_UEV.get(1), 8000, 8000000);
+
+ //Laser Dynamo IV-UEV 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);
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_MAX.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 16), ItemList.Emitter_UHV.get(16), ItemList.Electric_Pump_UHV.get(16), GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.Bedrockium, 8), GT_Utility.getIntegratedCircuit(5)}, null, CustomItemList.eM_dynamotunnel5_UHV.get(1), 16000, 2000000);
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{getItemContainer("Hull_UEV").get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 16), ItemList.Emitter_UEV.get(16), ItemList.Electric_Pump_UEV.get(16), GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.Draconium, 8), GT_Utility.getIntegratedCircuit(5)}, null, CustomItemList.eM_dynamotunnel5_UEV.get(1), 16000, 8000000);
+
+ //Laser Dynamo IV-UEV 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);
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_MAX.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 32), ItemList.Emitter_UHV.get(32), ItemList.Electric_Pump_UHV.get(32), GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.Bedrockium, 16), GT_Utility.getIntegratedCircuit(6)}, null, CustomItemList.eM_dynamotunnel6_UHV.get(1), 32000, 2000000);
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{getItemContainer("Hull_UEV").get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 32), ItemList.Emitter_UEV.get(32), ItemList.Electric_Pump_UEV.get(32), GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.Draconium, 16), GT_Utility.getIntegratedCircuit(6)}, null, CustomItemList.eM_dynamotunnel6_UEV.get(1), 32000, 8000000);
+
+ //Laser Dynamo IV-UEV 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);
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_MAX.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 64), ItemList.Emitter_UHV.get(64), ItemList.Electric_Pump_UHV.get(64), GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.Bedrockium, 16), GT_Utility.getIntegratedCircuit(7)}, null, CustomItemList.eM_dynamotunnel7_UHV.get(1), 64000, 2000000);
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{getItemContainer("Hull_UEV").get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 64), ItemList.Emitter_UEV.get(64), ItemList.Electric_Pump_UEV.get(64), GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.Draconium, 16), GT_Utility.getIntegratedCircuit(7)}, null, CustomItemList.eM_dynamotunnel7_UEV.get(1), 64000, 8000000);
+
+ //Laser Target IV-UEV 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);
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_MAX.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 1), ItemList.Sensor_UHV.get(1), ItemList.Electric_Pump_UHV.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.Bedrockium, 2), GT_Utility.getIntegratedCircuit(1)}, null, CustomItemList.eM_energytunnel1_UHV.get(1), 1000, 2000000);
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{getItemContainer("Hull_UEV").get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 1), ItemList.Sensor_UEV.get(1), ItemList.Electric_Pump_UEV.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.Draconium, 2), GT_Utility.getIntegratedCircuit(1)}, null, CustomItemList.eM_energytunnel1_UEV.get(1), 1000, 8000000);
+
+ //Laser Target IV-UEV 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);
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_MAX.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 2), ItemList.Sensor_UHV.get(2), ItemList.Electric_Pump_UHV.get(2), GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.Bedrockium, 4), GT_Utility.getIntegratedCircuit(2)}, null, CustomItemList.eM_energytunnel2_UHV.get(1), 2000, 2000000);
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{getItemContainer("Hull_UEV").get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 2), ItemList.Sensor_UEV.get(2), ItemList.Electric_Pump_UEV.get(2), GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.Draconium, 4), GT_Utility.getIntegratedCircuit(2)}, null, CustomItemList.eM_energytunnel2_UEV.get(1), 2000, 8000000);
+
+ //Laser Target IV-UEV 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);
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_MAX.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 4), ItemList.Sensor_UHV.get(4), ItemList.Electric_Pump_UHV.get(4), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.Bedrockium, 4), GT_Utility.getIntegratedCircuit(3)}, null, CustomItemList.eM_energytunnel3_UHV.get(1), 4000, 2000000);
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{getItemContainer("Hull_UEV").get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 4), ItemList.Sensor_UEV.get(4), ItemList.Electric_Pump_UEV.get(4), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.Draconium, 4), GT_Utility.getIntegratedCircuit(3)}, null, CustomItemList.eM_energytunnel3_UEV.get(1), 4000, 8000000);
+
+ //Laser Target IV-UEV 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);
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_MAX.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 8), ItemList.Sensor_UHV.get(8), ItemList.Electric_Pump_UHV.get(8), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.Bedrockium, 8), GT_Utility.getIntegratedCircuit(4)}, null, CustomItemList.eM_energytunnel4_UHV.get(1), 8000, 2000000);
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{getItemContainer("Hull_UEV").get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 8), ItemList.Sensor_UEV.get(8), ItemList.Electric_Pump_UEV.get(8), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.Draconium, 8), GT_Utility.getIntegratedCircuit(4)}, null, CustomItemList.eM_energytunnel4_UEV.get(1), 8000, 8000000);
+
+ //Laser Target IV-UEV 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);
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_MAX.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 16), ItemList.Sensor_UHV.get(16), ItemList.Electric_Pump_UHV.get(16), GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.Bedrockium, 8), GT_Utility.getIntegratedCircuit(5)}, null, CustomItemList.eM_energytunnel5_UHV.get(1), 16000, 2000000);
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{getItemContainer("Hull_UEV").get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 16), ItemList.Sensor_UEV.get(16), ItemList.Electric_Pump_UEV.get(16), GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.Draconium, 8), GT_Utility.getIntegratedCircuit(5)}, null, CustomItemList.eM_energytunnel5_UEV.get(1), 16000, 8000000);
+
+ //Laser Target IV-UEV 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);
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_MAX.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 32), ItemList.Sensor_UHV.get(32), ItemList.Electric_Pump_UHV.get(32), GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.Bedrockium, 16), GT_Utility.getIntegratedCircuit(6)}, null, CustomItemList.eM_energytunnel6_UHV.get(1), 32000, 2000000);
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{getItemContainer("Hull_UEV").get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 32), ItemList.Sensor_UEV.get(32), ItemList.Electric_Pump_UEV.get(32), GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.Draconium, 16), GT_Utility.getIntegratedCircuit(6)}, null, CustomItemList.eM_energytunnel6_UEV.get(1), 32000, 8000000);
+
+ //Laser Target IV-UEV 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);
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_MAX.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 64), ItemList.Sensor_UHV.get(64), ItemList.Electric_Pump_UHV.get(64), GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.Bedrockium, 16), GT_Utility.getIntegratedCircuit(7)}, null, CustomItemList.eM_energytunnel7_UHV.get(1), 64000, 2000000);
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{getItemContainer("Hull_UEV").get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 64), ItemList.Sensor_UEV.get(64), ItemList.Electric_Pump_UEV.get(64), GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.Draconium, 16), GT_Utility.getIntegratedCircuit(7)}, null, CustomItemList.eM_energytunnel7_UEV.get(1), 64000, 8000000);
+
//Data Input
addAssemblerRecipeWithCleanroom(new ItemStack[]{
CustomItemList.eM_Computer_Casing.get(1),
@@ -236,15 +356,15 @@ public class DreamCraftRecipeLoader implements Runnable {
}, 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 ItemStack[]{
+ 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),
- ItemList.Circuit_Crystalmainframe.get(1),
- GT_OreDictUnificator.get(OrePrefixes.cableGt02, Materials.Naquadah, 2),
- GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Naquadah, 16),
+ 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),
@@ -323,12 +443,12 @@ public class DreamCraftRecipeLoader implements Runnable {
}, 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 ItemStack[]{
+ GT_Values.RA.addAssemblylineRecipe(ItemList.Tool_DataOrb.get(1), 20000, new Object[]{
CustomItemList.Machine_Multi_Switch.get(1),
- GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Superconductor, 2),
+ new ItemStack[]{GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Superconductor, 2)},
ItemList.Tool_DataOrb.get(1),
ItemList.Cover_Screen.get(1),
- GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.SuperconductorUV, 8),
+ new ItemStack[]{GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.SuperconductorUV, 8)},
CustomItemList.DATApipe.get(8),
}, new FluidStack[]{
Materials.UUMatter.getFluid(1000),
@@ -338,14 +458,14 @@ public class DreamCraftRecipeLoader implements Runnable {
}, CustomItemList.Machine_Multi_Computer.get(1), 12000, 100000);
//Research Station
- GT_Values.RA.addAssemblylineRecipe(getItemContainer("ScannerZPM").get(1), 80000, new ItemStack[]{
+ GT_Values.RA.addAssemblylineRecipe(getItemContainer("ScannerZPM").get(1), 80000, new Object[]{
CustomItemList.Machine_Multi_Switch.get(1),
ItemList.Sensor_ZPM.get(8),
- ItemList.Circuit_Crystalmainframe.get(4),
+ new ItemStack[]{GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Superconductor, 4)},
ItemList.Field_Generator_ZPM.get(1),
ItemList.Electric_Motor_ZPM.get(2),
- GT_OreDictUnificator.get(OrePrefixes.cableGt02, Materials.Naquadah, 4),
- GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Naquadah, 32),
+ 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),
@@ -783,10 +903,10 @@ public class DreamCraftRecipeLoader implements Runnable {
48000, 128, 500000, 8, new ItemStack[]{
ItemList.Circuit_Board_Bio_Ultra.get(2L),
ItemList.Circuit_Biowarecomputer.get(2L),
- ItemList.Circuit_Parts_DiodeSMD.get(48L),
- ItemList.Circuit_Parts_ResistorSMD.get(16L),
ItemList.Circuit_Parts_TransistorSMD.get(16L),
- ItemList.Circuit_Parts_DiodeSMD.get(16L),
+ ItemList.Circuit_Parts_ResistorSMD.get(16L),
+ ItemList.Circuit_Parts_CapacitorSMD.get(16L),
+ ItemList.Circuit_Parts_DiodeSMD.get(48L),
ItemList.Circuit_Chip_NOR.get(32L),
ItemList.Circuit_Chip_Ram.get(64L),
GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.NiobiumTitanium, 32L),
@@ -802,8 +922,7 @@ public class DreamCraftRecipeLoader implements Runnable {
96000, 256, 1000000, 16, new ItemStack[]{
GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Tritanium, 4L),
ItemList.Circuit_Biowaresupercomputer.get(2L),
- ItemList.Circuit_Parts_Coil.get(64L),
- ItemList.Circuit_Parts_Coil.get(64L),
+ ItemList.UV_Coil.get(16L),
ItemList.Circuit_Parts_CapacitorSMD.get(64L),
ItemList.Circuit_Parts_ResistorSMD.get(64L),
ItemList.Circuit_Parts_TransistorSMD.get(64L),
@@ -940,10 +1059,7 @@ public class DreamCraftRecipeLoader implements Runnable {
//Batteries
TT_recipeAdder.addResearchableAssemblylineRecipe(ItemList.Energy_Cluster.get(1L),12000,16,100000,3,new Object[]{
GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Tritanium, 64L),
- new Object[]{OrePrefixes.circuit.get(Materials.Infinite), 1L},
- new Object[]{OrePrefixes.circuit.get(Materials.Infinite), 1L},
- new Object[]{OrePrefixes.circuit.get(Materials.Infinite), 1L},
- new Object[]{OrePrefixes.circuit.get(Materials.Infinite), 1L},
+ new Object[]{OrePrefixes.circuit.get(Materials.Infinite), 4L},
ItemList.Energy_Cluster.get(8L),
ItemList.Field_Generator_UV.get(2),
ItemList.Circuit_Wafer_HPIC.get(64),
@@ -956,11 +1072,9 @@ public class DreamCraftRecipeLoader implements Runnable {
}, ItemList.ZPM2.get(1), 3000, 400000);
TT_recipeAdder.addResearchableAssemblylineRecipe(ItemList.ZPM2.get(1L),24000,64,200000,6,new Object[]{
- GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.Neutronium, 64L),
- new Object[]{OrePrefixes.circuit.get(Materials.Bio), 1L},
- new Object[]{OrePrefixes.circuit.get(Materials.Bio), 1L},
- new Object[]{OrePrefixes.circuit.get(Materials.Bio), 1L},
- new Object[]{OrePrefixes.circuit.get(Materials.Bio), 1L},
+ GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.Neutronium, 32L),
+ GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.Neutronium, 32L),
+ new Object[]{OrePrefixes.circuit.get(Materials.Bio), 4L},
ItemList.ZPM2.get(8),
ItemList.Field_Generator_UHV.get(4),
ItemList.Circuit_Wafer_UHPIC.get(64),
diff --git a/src/main/java/com/github/technus/tectech/loader/MainLoader.java b/src/main/java/com/github/technus/tectech/loader/MainLoader.java
index 3c9eeac800..884436a144 100644
--- a/src/main/java/com/github/technus/tectech/loader/MainLoader.java
+++ b/src/main/java/com/github/technus/tectech/loader/MainLoader.java
@@ -10,6 +10,7 @@ import com.github.technus.tectech.loader.entity.EntityLoader;
import com.github.technus.tectech.loader.gui.CreativeTabTecTech;
import com.github.technus.tectech.loader.gui.ModGuiHandler;
import com.github.technus.tectech.loader.mechanics.ElementalLoader;
+import com.github.technus.tectech.loader.network.NetworkDispatcher;
import com.github.technus.tectech.loader.recipe.RecipeLoader;
import com.github.technus.tectech.loader.thing.ComponentLoader;
import com.github.technus.tectech.loader.thing.CoverLoader;
@@ -18,7 +19,6 @@ import com.github.technus.tectech.loader.thing.ThingsLoader;
import com.github.technus.tectech.thing.casing.TT_Container_Casings;
import com.github.technus.tectech.thing.metaTileEntity.Textures;
import com.github.technus.tectech.thing.metaTileEntity.multi.GT_MetaTileEntity_EM_collider;
-import com.github.technus.tectech.thing.metaTileEntity.multi.base.network.RotationPacketDispatcher;
import cpw.mods.fml.common.Loader;
import cpw.mods.fml.common.ProgressManager;
import cpw.mods.fml.common.network.NetworkRegistry;
@@ -47,7 +47,6 @@ import static com.github.technus.tectech.compatibility.thaumcraft.elementalMatte
import static com.github.technus.tectech.compatibility.thaumcraft.thing.metaTileEntity.multi.EssentiaCompat.essentiaContainerCompat;
import static com.github.technus.tectech.loader.TecTechConfig.DEBUG_MODE;
import static com.github.technus.tectech.loader.gui.CreativeTabTecTech.creativeTabTecTech;
-import static gregtech.api.enums.Dyes.*;
import static gregtech.api.enums.GT_Values.W;
public final class MainLoader {
@@ -111,7 +110,7 @@ public final class MainLoader {
LOGGER.info("Damage types addition Done");
progressBarLoad.step("Register Packet Dispatcher");
- new RotationPacketDispatcher();
+ new NetworkDispatcher();
LOGGER.info("Packet Dispatcher registered");
progressBarLoad.step("Register GUI Handler");
diff --git a/src/main/java/com/github/technus/tectech/loader/network/NetworkDispatcher.java b/src/main/java/com/github/technus/tectech/loader/network/NetworkDispatcher.java
new file mode 100644
index 0000000000..2ee027ddc8
--- /dev/null
+++ b/src/main/java/com/github/technus/tectech/loader/network/NetworkDispatcher.java
@@ -0,0 +1,21 @@
+package com.github.technus.tectech.loader.network;
+
+import static com.github.technus.tectech.Reference.MODID;
+
+public class NetworkDispatcher extends eu.usrv.yamcore.network.PacketDispatcher {
+ public static NetworkDispatcher INSTANCE;
+
+ public NetworkDispatcher() {
+ super(MODID);
+ INSTANCE = this;
+ registerPackets();
+ }
+
+ @Override
+ 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);
+ }
+}
diff --git a/src/main/java/com/github/technus/tectech/loader/network/PipeActivityMessage.java b/src/main/java/com/github/technus/tectech/loader/network/PipeActivityMessage.java
new file mode 100644
index 0000000000..0323f19428
--- /dev/null
+++ b/src/main/java/com/github/technus/tectech/loader/network/PipeActivityMessage.java
@@ -0,0 +1,134 @@
+package com.github.technus.tectech.loader.network;
+
+import com.github.technus.tectech.thing.metaTileEntity.pipe.IActivePipe;
+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.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 PipeActivityMessage implements IMessage {
+ int mPosX;
+ int mPosY;
+ int mPosZ;
+ int mPosD;
+ int mActive;
+
+ public PipeActivityMessage() {
+ }
+
+ private PipeActivityMessage(IActivePipe metaTile) {
+ IGregTechTileEntity base=metaTile.getBaseMetaTileEntity();
+ mPosX=base.getXCoord();
+ mPosY=base.getYCoord();
+ mPosZ=base.getZCoord();
+ mPosD=base.getWorld().provider.dimensionId;
+ mActive=metaTile.getActive()?1:0;
+ }
+
+ private PipeActivityMessage(World world, int x, int y, int z, boolean active) {
+ mPosX=x;
+ mPosY=y;
+ mPosZ=z;
+ mPosD=world.provider.dimensionId;
+ mActive=active?1:0;
+ }
+
+ @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");
+ mActive = tTag.getInteger("active");
+ }
+
+ @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.setInteger("active", mActive);
+
+ ByteBufUtils.writeTag(pBuffer, tFXTag);
+ }
+
+ public static class PipeActivityQuery extends PipeActivityMessage {
+ public PipeActivityQuery() {
+ }
+
+ public PipeActivityQuery(IActivePipe metaTile) {
+ super(metaTile);
+ }
+
+ public PipeActivityQuery(World world, int x,int y,int z, boolean active) {
+ super(world,x,y,z,active);
+ }
+ }
+
+ public static class PipeActivityData extends PipeActivityMessage {
+ public PipeActivityData() {
+ }
+
+ private PipeActivityData(PipeActivityQuery query){
+ mPosX=query.mPosX;
+ mPosY=query.mPosY;
+ mPosZ=query.mPosZ;
+ mPosD=query.mPosD;
+ mActive=query.mActive;
+ }
+
+ public PipeActivityData(IActivePipe metaTile) {
+ super(metaTile);
+ }
+
+ public PipeActivityData(World world, int x,int y,int z, boolean active) {
+ super(world,x,y,z,active);
+ }
+ }
+
+ public static class ClientHandler extends AbstractClientMessageHandler<PipeActivityData> {
+ @Override
+ public IMessage handleClientMessage(EntityPlayer pPlayer, PipeActivityData 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 IActivePipe){
+ ((IActivePipe) meta).setActive((byte)pMessage.mActive==1);
+ }
+ }
+ }
+ return null;
+ }
+ }
+
+ public static class ServerHandler extends AbstractServerMessageHandler<PipeActivityQuery> {
+ @Override
+ public IMessage handleServerMessage(EntityPlayer pPlayer, PipeActivityQuery 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 IActivePipe) {
+ pMessage.mActive=((IActivePipe) meta).getActive()?1:0;
+ return new PipeActivityData(pMessage);
+ }
+ }
+ }
+ return null;
+ }
+ }
+} \ No newline at end of file
diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/network/RotationMessage.java b/src/main/java/com/github/technus/tectech/loader/network/RotationMessage.java
index 59b14c16ed..ec78021a60 100644
--- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/network/RotationMessage.java
+++ b/src/main/java/com/github/technus/tectech/loader/network/RotationMessage.java
@@ -1,4 +1,4 @@
-package com.github.technus.tectech.thing.metaTileEntity.multi.base.network;
+package com.github.technus.tectech.loader.network;
import com.github.technus.tectech.thing.metaTileEntity.IFrontRotation;
import com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_MetaTileEntity_MultiblockBase_EM;
diff --git a/src/main/java/com/github/technus/tectech/loader/recipe/BloodyRecipeLoader.java b/src/main/java/com/github/technus/tectech/loader/recipe/BloodyRecipeLoader.java
index fc2cc455de..c4ab54694c 100644
--- a/src/main/java/com/github/technus/tectech/loader/recipe/BloodyRecipeLoader.java
+++ b/src/main/java/com/github/technus/tectech/loader/recipe/BloodyRecipeLoader.java
@@ -12,6 +12,7 @@ import gregtech.api.enums.Materials;
import gregtech.api.enums.OrePrefixes;
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;
@@ -49,6 +50,13 @@ public class BloodyRecipeLoader implements Runnable {
ItemList.Circuit_Quantummainframe.get(1)
}, Materials.Osmium.getMolten(288), CustomItemList.EMpipe.get(1), 400, 491520);
+ //Laser
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{
+ CustomItemList.DATApipe.get(1),
+ GT_ModHandler.getIC2Item("reinforcedGlass", 1L),
+ GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Osmium, 2)
+ }, null, CustomItemList.LASERpipe.get(1), 100, 500000);
+
//endregoin
@@ -250,25 +258,82 @@ public class BloodyRecipeLoader implements Runnable {
Materials.Tungsten.getMolten(4608),
CustomItemList.eM_dynamomulti64_UEV.get(1), 2000, 500000);
- //Energy Hatches UV-UIV
+ //Energy Hatches 4A-64A IV-UIV
+ 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, 122880);
+ 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, 122880);
+ 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, 122880);
+ CustomItemList.eM_energymulti64_UV.get(1), 400, 500000);
GT_Values.RA.addAssemblerRecipe(new ItemStack[]{
ItemList.Hatch_Energy_MAX.get(1),
@@ -308,6 +373,90 @@ public class BloodyRecipeLoader implements Runnable {
Materials.Tungsten.getMolten(4608),
CustomItemList.eM_energymulti64_UEV.get(1), 400, 2000000);
+ //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),
@@ -344,7 +493,7 @@ public class BloodyRecipeLoader implements Runnable {
CustomItemList.DATApipe.get(2),
}, new FluidStack[]{
Materials.UUMatter.getFluid(500),
- Materials.Iridium.getMolten(1000),
+ Materials.Iridium.getMolten(1152),
new FluidStack(FluidRegistry.getFluid("ic2coolant"), 1000)
}, CustomItemList.holder_Hatch.get(1), 1200, 100000);
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 032cc4b685..cc864ab03d 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
@@ -9,10 +9,15 @@ import com.github.technus.tectech.thing.metaTileEntity.multi.*;
import com.github.technus.tectech.thing.metaTileEntity.multi.em_machine.GT_MetaTileEntity_EM_machine;
import com.github.technus.tectech.thing.metaTileEntity.pipe.GT_MetaTileEntity_Pipe_Data;
import com.github.technus.tectech.thing.metaTileEntity.pipe.GT_MetaTileEntity_Pipe_EM;
+import com.github.technus.tectech.thing.metaTileEntity.pipe.GT_MetaTileEntity_Pipe_Energy;
import com.github.technus.tectech.thing.metaTileEntity.single.*;
import cpw.mods.fml.common.Loader;
+import net.minecraft.init.Blocks;
+import net.minecraft.item.ItemStack;
+import static com.github.technus.tectech.CommonValues.V;
import static com.github.technus.tectech.thing.CustomItemList.*;
+import static com.github.technus.tectech.thing.CustomItemList.eM_dynamotunnel9001;
/**
* Created by danie_000 on 16.11.2016.
@@ -153,6 +158,148 @@ public class MachineLoader implements Runnable {
eM_energymulti64_UXV.set(new GT_MetaTileEntity_Hatch_EnergyMulti(
15128, "hatch.energymulti64.tier.13", "UXV 64A Energy Hatch", 13, 64).getStackForm(1L));
+
+ // ===================================================================================================
+ // Multi AMP Laser INPUTS
+ // ===================================================================================================
+
+ eM_energytunnel1_IV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel(
+ 15130, "hatch.energytunnel1.tier.05", "IV 256/t Laser Target Hatch", 5, 256).getStackForm(1L));
+ eM_energytunnel2_IV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel(
+ 15140, "hatch.energytunnel2.tier.05", "IV 1024/t Laser Target Hatch", 5, 1024).getStackForm(1L));
+ eM_energytunnel3_IV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel(
+ 15150, "hatch.energytunnel3.tier.05", "IV 4096/t Laser Target Hatch", 5, 4096).getStackForm(1L));
+ eM_energytunnel4_IV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel(
+ 15160, "hatch.energytunnel4.tier.05", "IV 16384/t Laser Target Hatch", 5, 16384).getStackForm(1L));
+ eM_energytunnel5_IV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel(
+ 15170, "hatch.energytunnel5.tier.05", "IV 65536/t Laser Target Hatch", 5, 65536).getStackForm(1L));
+ eM_energytunnel6_IV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel(
+ 15180, "hatch.energytunnel6.tier.05", "IV 262144/t Laser Target Hatch", 5, 262144).getStackForm(1L));
+ eM_energytunnel7_IV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel(
+ 15190, "hatch.energytunnel7.tier.05", "IV 1048576/t Laser Target Hatch", 5, 1048576).getStackForm(1L));
+
+ eM_energytunnel1_LuV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel(
+ 15131, "hatch.energytunnel1.tier.06", "LuV 256/t Laser Target Hatch", 6, 256).getStackForm(1L));
+ eM_energytunnel2_LuV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel(
+ 15141, "hatch.energytunnel2.tier.06", "LuV 1024/t Laser Target Hatch", 6, 1024).getStackForm(1L));
+ eM_energytunnel3_LuV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel(
+ 15151, "hatch.energytunnel3.tier.06", "LuV 4096/t Laser Target Hatch", 6, 4096).getStackForm(1L));
+ eM_energytunnel4_LuV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel(
+ 15161, "hatch.energytunnel4.tier.06", "LuV 16384/t Laser Target Hatch", 6, 16384).getStackForm(1L));
+ eM_energytunnel5_LuV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel(
+ 15171, "hatch.energytunnel5.tier.06", "LuV 65536/t Laser Target Hatch", 6, 65536).getStackForm(1L));
+ eM_energytunnel6_LuV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel(
+ 15181, "hatch.energytunnel6.tier.06", "LuV 262144/t Laser Target Hatch", 6, 262144).getStackForm(1L));
+ eM_energytunnel7_LuV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel(
+ 15191, "hatch.energytunnel7.tier.06", "LuV 1048576/t Laser Target Hatch", 6, 1048576).getStackForm(1L));
+
+ eM_energytunnel1_ZPM.set(new GT_MetaTileEntity_Hatch_EnergyTunnel(
+ 15132, "hatch.energytunnel1.tier.07", "ZPM 256/t Laser Target Hatch", 7, 256).getStackForm(1L));
+ eM_energytunnel2_ZPM.set(new GT_MetaTileEntity_Hatch_EnergyTunnel(
+ 15142, "hatch.energytunnel2.tier.07", "ZPM 1024/t Laser Target Hatch", 7, 1024).getStackForm(1L));
+ eM_energytunnel3_ZPM.set(new GT_MetaTileEntity_Hatch_EnergyTunnel(
+ 15152, "hatch.energytunnel3.tier.07", "ZPM 4096/t Laser Target Hatch", 7, 4096).getStackForm(1L));
+ eM_energytunnel4_ZPM.set(new GT_MetaTileEntity_Hatch_EnergyTunnel(
+ 15162, "hatch.energytunnel4.tier.07", "ZPM 16384/t Laser Target Hatch", 7, 16384).getStackForm(1L));
+ eM_energytunnel5_ZPM.set(new GT_MetaTileEntity_Hatch_EnergyTunnel(
+ 15172, "hatch.energytunnel5.tier.07", "ZPM 65536/t Laser Target Hatch", 7, 65536).getStackForm(1L));
+ eM_energytunnel6_ZPM.set(new GT_MetaTileEntity_Hatch_EnergyTunnel(
+ 15182, "hatch.energytunnel6.tier.07", "ZPM 262144/t Laser Target Hatch", 7, 262144).getStackForm(1L));
+ eM_energytunnel7_ZPM.set(new GT_MetaTileEntity_Hatch_EnergyTunnel(
+ 15192, "hatch.energytunnel7.tier.07", "ZPM 1048576/t Laser Target Hatch", 7, 1048576).getStackForm(1L));
+
+ eM_energytunnel1_UV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel(
+ 15133, "hatch.energytunnel1.tier.08", "UV 256/t Laser Target Hatch", 8, 256).getStackForm(1L));
+ eM_energytunnel2_UV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel(
+ 15143, "hatch.energytunnel2.tier.08", "UV 1024/t Laser Target Hatch", 8, 1024).getStackForm(1L));
+ eM_energytunnel3_UV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel(
+ 15153, "hatch.energytunnel3.tier.08", "UV 4096/t Laser Target Hatch", 8, 4096).getStackForm(1L));
+ eM_energytunnel4_UV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel(
+ 15163, "hatch.energytunnel4.tier.08", "UV 16384/t Laser Target Hatch", 8, 16384).getStackForm(1L));
+ eM_energytunnel5_UV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel(
+ 15173, "hatch.energytunnel5.tier.08", "UV 65536/t Laser Target Hatch", 8, 65536).getStackForm(1L));
+ eM_energytunnel6_UV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel(
+ 15183, "hatch.energytunnel6.tier.08", "UV 262144/t Laser Target Hatch", 8, 262144).getStackForm(1L));
+ eM_energytunnel7_UV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel(
+ 15193, "hatch.energytunnel7.tier.08", "UV 1048576/t Laser Target Hatch", 8, 1048576).getStackForm(1L));
+
+ eM_energytunnel1_UHV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel(
+ 15134, "hatch.energytunnel1.tier.09", "UHV 256/t Laser Target Hatch", 9, 256).getStackForm(1L));
+ eM_energytunnel2_UHV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel(
+ 15144, "hatch.energytunnel2.tier.09", "UHV 1024/t Laser Target Hatch", 9, 1024).getStackForm(1L));
+ eM_energytunnel3_UHV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel(
+ 15154, "hatch.energytunnel3.tier.09", "UHV 4096/t Laser Target Hatch", 9, 4096).getStackForm(1L));
+ eM_energytunnel4_UHV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel(
+ 15164, "hatch.energytunnel4.tier.09", "UHV 16384/t Laser Target Hatch", 9, 16384).getStackForm(1L));
+ eM_energytunnel5_UHV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel(
+ 15174, "hatch.energytunnel5.tier.09", "UHV 65536/t Laser Target Hatch", 9, 65536).getStackForm(1L));
+ eM_energytunnel6_UHV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel(
+ 15184, "hatch.energytunnel6.tier.09", "UHV 262144/t Laser Target Hatch", 9, 262144).getStackForm(1L));
+ eM_energytunnel7_UHV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel(
+ 15194, "hatch.energytunnel7.tier.09", "UHV 1048576/t Laser Target Hatch", 9, 1048576).getStackForm(1L));
+
+ eM_energytunnel1_UEV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel(
+ 15135, "hatch.energytunnel1.tier.10", "UEV 256/t Laser Target Hatch", 10, 256).getStackForm(1L));
+ eM_energytunnel2_UEV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel(
+ 15145, "hatch.energytunnel2.tier.10", "UEV 1024/t Laser Target Hatch", 10, 1024).getStackForm(1L));
+ eM_energytunnel3_UEV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel(
+ 15155, "hatch.energytunnel3.tier.10", "UEV 4096/t Laser Target Hatch", 10, 4096).getStackForm(1L));
+ eM_energytunnel4_UEV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel(
+ 15165, "hatch.energytunnel4.tier.10", "UEV 16384/t Laser Target Hatch", 10, 16384).getStackForm(1L));
+ eM_energytunnel5_UEV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel(
+ 15175, "hatch.energytunnel5.tier.10", "UEV 65536/t Laser Target Hatch", 10, 65536).getStackForm(1L));
+ eM_energytunnel6_UEV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel(
+ 15185, "hatch.energytunnel6.tier.10", "UEV 262144/t Laser Target Hatch", 10, 262144).getStackForm(1L));
+ eM_energytunnel7_UEV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel(
+ 15195, "hatch.energytunnel7.tier.10", "UEV 1048576/t Laser Target Hatch", 10, 1048576).getStackForm(1L));
+
+ eM_energytunnel1_UIV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel(
+ 15136, "hatch.energytunnel1.tier.11", "UIV 256/t Laser Target Hatch", 11, 256).getStackForm(1L));
+ eM_energytunnel2_UIV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel(
+ 15146, "hatch.energytunnel2.tier.11", "UIV 1024/t Laser Target Hatch", 11, 1024).getStackForm(1L));
+ eM_energytunnel3_UIV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel(
+ 15156, "hatch.energytunnel3.tier.11", "UIV 4096/t Laser Target Hatch", 11, 4096).getStackForm(1L));
+ eM_energytunnel4_UIV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel(
+ 15166, "hatch.energytunnel4.tier.11", "UIV 16384/t Laser Target Hatch", 11, 16384).getStackForm(1L));
+ eM_energytunnel5_UIV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel(
+ 15176, "hatch.energytunnel5.tier.11", "UIV 65536/t Laser Target Hatch", 11, 65536).getStackForm(1L));
+ eM_energytunnel6_UIV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel(
+ 15186, "hatch.energytunnel6.tier.11", "UIV 262144/t Laser Target Hatch", 11, 262144).getStackForm(1L));
+ eM_energytunnel7_UIV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel(
+ 15196, "hatch.energytunnel7.tier.11", "UIV 1048576/t Laser Target Hatch", 11, 1048576).getStackForm(1L));
+
+ eM_energytunnel1_UMV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel(
+ 15137, "hatch.energytunnel1.tier.12", "UMV 256/t Laser Target Hatch", 12, 256).getStackForm(1L));
+ eM_energytunnel2_UMV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel(
+ 15147, "hatch.energytunnel2.tier.12", "UMV 1024/t Laser Target Hatch", 12, 1024).getStackForm(1L));
+ eM_energytunnel3_UMV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel(
+ 15157, "hatch.energytunnel3.tier.12", "UMV 4096/t Laser Target Hatch", 12, 4096).getStackForm(1L));
+ eM_energytunnel4_UMV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel(
+ 15167, "hatch.energytunnel4.tier.12", "UMV 16384/t Laser Target Hatch", 12, 16384).getStackForm(1L));
+ eM_energytunnel5_UMV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel(
+ 15177, "hatch.energytunnel5.tier.12", "UMV 65536/t Laser Target Hatch", 12, 65536).getStackForm(1L));
+ eM_energytunnel6_UMV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel(
+ 15187, "hatch.energytunnel6.tier.12", "UMV 262144/t Laser Target Hatch", 12, 262144).getStackForm(1L));
+ eM_energytunnel7_UMV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel(
+ 15197, "hatch.energytunnel7.tier.12", "UMV 1048576/t Laser Target Hatch", 12, 1048576).getStackForm(1L));
+
+ eM_energytunnel1_UXV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel(
+ 15138, "hatch.energytunnel1.tier.13", "UXV 256/t Laser Target Hatch", 13, 256).getStackForm(1L));
+ eM_energytunnel2_UXV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel(
+ 15148, "hatch.energytunnel2.tier.13", "UXV 1024/t Laser Target Hatch", 13, 1024).getStackForm(1L));
+ eM_energytunnel3_UXV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel(
+ 15158, "hatch.energytunnel3.tier.13", "UXV 4096/t Laser Target Hatch", 13, 4096).getStackForm(1L));
+ eM_energytunnel4_UXV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel(
+ 15168, "hatch.energytunnel4.tier.13", "UXV 16384/t Laser Target Hatch", 13, 16384).getStackForm(1L));
+ eM_energytunnel5_UXV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel(
+ 15178, "hatch.energytunnel5.tier.13", "UXV 65536/t Laser Target Hatch", 13, 65536).getStackForm(1L));
+ eM_energytunnel6_UXV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel(
+ 15188, "hatch.energytunnel6.tier.13", "UXV 262144/t Laser Target Hatch", 13, 262144).getStackForm(1L));
+ eM_energytunnel7_UXV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel(
+ 15198, "hatch.energytunnel7.tier.13", "UXV 1048576/t Laser Target Hatch", 13, 1048576).getStackForm(1L));
+ eM_energytunnel9001.set(new GT_MetaTileEntity_Hatch_EnergyTunnel(
+ 15199, "hatch.energytunnel.tier.14", "Legendary Laser Target Hatch", 14, (int)V[14]).getStackForm(1L));
+
// ===================================================================================================
// Multi AMP Power OUTPUTS
// ===================================================================================================
@@ -222,6 +369,147 @@ public class MachineLoader implements Runnable {
15228, "hatch.dynamomulti64.tier.13", "UXV 64A Dynamo Hatch", 13, 64).getStackForm(1L));
// ===================================================================================================
+ // Multi AMP Laser OUTPUTS
+ // ===================================================================================================
+
+ eM_dynamotunnel1_IV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel(
+ 15230, "hatch.dynamotunnel1.tier.05", "IV 256/t Laser Source Hatch", 5, 256).getStackForm(1L));
+ eM_dynamotunnel2_IV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel(
+ 15240, "hatch.dynamotunnel2.tier.05", "IV 1024/t Laser Source Hatch", 5, 1024).getStackForm(1L));
+ eM_dynamotunnel3_IV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel(
+ 15250, "hatch.dynamotunnel3.tier.05", "IV 4096/t Laser Source Hatch", 5, 4096).getStackForm(1L));
+ eM_dynamotunnel4_IV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel(
+ 15260, "hatch.dynamotunnel4.tier.05", "IV 16384/t Laser Source Hatch", 5, 16384).getStackForm(1L));
+ eM_dynamotunnel5_IV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel(
+ 15270, "hatch.dynamotunnel5.tier.05", "IV 65536/t Laser Source Hatch", 5, 65536).getStackForm(1L));
+ eM_dynamotunnel6_IV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel(
+ 15280, "hatch.dynamotunnel6.tier.05", "IV 262144/t Laser Source Hatch", 5, 262144).getStackForm(1L));
+ eM_dynamotunnel7_IV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel(
+ 15290, "hatch.dynamotunnel7.tier.05", "IV 1048576/t Laser Source Hatch", 5, 1048576).getStackForm(1L));
+
+ eM_dynamotunnel1_LuV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel(
+ 15231, "hatch.dynamotunnel1.tier.06", "LuV 256/t Laser Source Hatch", 6, 256).getStackForm(1L));
+ eM_dynamotunnel2_LuV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel(
+ 15241, "hatch.dynamotunnel2.tier.06", "LuV 1024/t Laser Source Hatch", 6, 1024).getStackForm(1L));
+ eM_dynamotunnel3_LuV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel(
+ 15251, "hatch.dynamotunnel3.tier.06", "LuV 4096/t Laser Source Hatch", 6, 4096).getStackForm(1L));
+ eM_dynamotunnel4_LuV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel(
+ 15261, "hatch.dynamotunnel4.tier.06", "LuV 16384/t Laser Source Hatch", 6, 16384).getStackForm(1L));
+ eM_dynamotunnel5_LuV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel(
+ 15271, "hatch.dynamotunnel5.tier.06", "LuV 65536/t Laser Source Hatch", 6, 65536).getStackForm(1L));
+ eM_dynamotunnel6_LuV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel(
+ 15281, "hatch.dynamotunnel6.tier.06", "LuV 262144/t Laser Source Hatch", 6, 262144).getStackForm(1L));
+ eM_dynamotunnel7_LuV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel(
+ 15291, "hatch.dynamotunnel7.tier.06", "LuV 1048576/t Laser Source Hatch", 6, 1048576).getStackForm(1L));
+
+ eM_dynamotunnel1_ZPM.set(new GT_MetaTileEntity_Hatch_DynamoTunnel(
+ 15232, "hatch.dynamotunnel1.tier.07", "ZPM 256/t Laser Source Hatch", 7, 256).getStackForm(1L));
+ eM_dynamotunnel2_ZPM.set(new GT_MetaTileEntity_Hatch_DynamoTunnel(
+ 15242, "hatch.dynamotunnel2.tier.07", "ZPM 1024/t Laser Source Hatch", 7, 1024).getStackForm(1L));
+ eM_dynamotunnel3_ZPM.set(new GT_MetaTileEntity_Hatch_DynamoTunnel(
+ 15252, "hatch.dynamotunnel3.tier.07", "ZPM 4096/t Laser Source Hatch", 7, 4096).getStackForm(1L));
+ eM_dynamotunnel4_ZPM.set(new GT_MetaTileEntity_Hatch_DynamoTunnel(
+ 15262, "hatch.dynamotunnel4.tier.07", "ZPM 16384/t Laser Source Hatch", 7, 16384).getStackForm(1L));
+ eM_dynamotunnel5_ZPM.set(new GT_MetaTileEntity_Hatch_DynamoTunnel(
+ 15272, "hatch.dynamotunnel5.tier.07", "ZPM 65536/t Laser Source Hatch", 7, 65536).getStackForm(1L));
+ eM_dynamotunnel6_ZPM.set(new GT_MetaTileEntity_Hatch_DynamoTunnel(
+ 15282, "hatch.dynamotunnel6.tier.07", "ZPM 262144/t Laser Source Hatch", 7, 262144).getStackForm(1L));
+ eM_dynamotunnel7_ZPM.set(new GT_MetaTileEntity_Hatch_DynamoTunnel(
+ 15292, "hatch.dynamotunnel7.tier.07", "ZPM 1048576/t Laser Source Hatch", 7, 1048576).getStackForm(1L));
+
+ eM_dynamotunnel1_UV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel(
+ 15233, "hatch.dynamotunnel1.tier.08", "UV 256/t Laser Source Hatch", 8, 256).getStackForm(1L));
+ eM_dynamotunnel2_UV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel(
+ 15243, "hatch.dynamotunnel2.tier.08", "UV 1024/t Laser Source Hatch", 8, 1024).getStackForm(1L));
+ eM_dynamotunnel3_UV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel(
+ 15253, "hatch.dynamotunnel3.tier.08", "UV 4096/t Laser Source Hatch", 8, 4096).getStackForm(1L));
+ eM_dynamotunnel4_UV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel(
+ 15263, "hatch.dynamotunnel4.tier.08", "UV 16384/t Laser Source Hatch", 8, 16384).getStackForm(1L));
+ eM_dynamotunnel5_UV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel(
+ 15273, "hatch.dynamotunnel5.tier.08", "UV 65536/t Laser Source Hatch", 8, 65536).getStackForm(1L));
+ eM_dynamotunnel6_UV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel(
+ 15283, "hatch.dynamotunnel6.tier.08", "UV 262144/t Laser Source Hatch", 8, 262144).getStackForm(1L));
+ eM_dynamotunnel7_UV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel(
+ 15293, "hatch.dynamotunnel7.tier.08", "UV 1048576/t Laser Source Hatch", 8, 1048576).getStackForm(1L));
+
+ eM_dynamotunnel1_UHV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel(
+ 15234, "hatch.dynamotunnel1.tier.09", "UHV 256/t Laser Source Hatch", 9, 256).getStackForm(1L));
+ eM_dynamotunnel2_UHV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel(
+ 15244, "hatch.dynamotunnel2.tier.09", "UHV 1024/t Laser Source Hatch", 9, 1024).getStackForm(1L));
+ eM_dynamotunnel3_UHV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel(
+ 15254, "hatch.dynamotunnel3.tier.09", "UHV 4096/t Laser Source Hatch", 9, 4096).getStackForm(1L));
+ eM_dynamotunnel4_UHV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel(
+ 15264, "hatch.dynamotunnel4.tier.09", "UHV 16384/t Laser Source Hatch", 9, 16384).getStackForm(1L));
+ eM_dynamotunnel5_UHV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel(
+ 15274, "hatch.dynamotunnel5.tier.09", "UHV 65536/t Laser Source Hatch", 9, 65536).getStackForm(1L));
+ eM_dynamotunnel6_UHV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel(
+ 15284, "hatch.dynamotunnel6.tier.09", "UHV 262144/t Laser Source Hatch", 9, 262144).getStackForm(1L));
+ eM_dynamotunnel7_UHV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel(
+ 15294, "hatch.dynamotunnel7.tier.09", "UHV 1048576/t Laser Source Hatch", 9, 1048576).getStackForm(1L));
+
+ eM_dynamotunnel1_UEV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel(
+ 15235, "hatch.dynamotunnel1.tier.10", "UEV 256/t Laser Source Hatch", 10, 256).getStackForm(1L));
+ eM_dynamotunnel2_UEV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel(
+ 15245, "hatch.dynamotunnel2.tier.10", "UEV 1024/t Laser Source Hatch", 10, 1024).getStackForm(1L));
+ eM_dynamotunnel3_UEV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel(
+ 15255, "hatch.dynamotunnel3.tier.10", "UEV 4096/t Laser Source Hatch", 10, 4096).getStackForm(1L));
+ eM_dynamotunnel4_UEV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel(
+ 15265, "hatch.dynamotunnel4.tier.10", "UEV 16384/t Laser Source Hatch", 10, 16384).getStackForm(1L));
+ eM_dynamotunnel5_UEV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel(
+ 15275, "hatch.dynamotunnel5.tier.10", "UEV 65536/t Laser Source Hatch", 10, 65536).getStackForm(1L));
+ eM_dynamotunnel6_UEV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel(
+ 15285, "hatch.dynamotunnel6.tier.10", "UEV 262144/t Laser Source Hatch", 10, 262144).getStackForm(1L));
+ eM_dynamotunnel7_UEV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel(
+ 15295, "hatch.dynamotunnel7.tier.10", "UEV 1048576/t Laser Source Hatch", 10, 1048576).getStackForm(1L));
+
+ eM_dynamotunnel1_UIV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel(
+ 15236, "hatch.dynamotunnel1.tier.11", "UIV 256/t Laser Source Hatch", 11, 256).getStackForm(1L));
+ eM_dynamotunnel2_UIV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel(
+ 15246, "hatch.dynamotunnel2.tier.11", "UIV 1024/t Laser Source Hatch", 11, 1024).getStackForm(1L));
+ eM_dynamotunnel3_UIV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel(
+ 15256, "hatch.dynamotunnel3.tier.11", "UIV 4096/t Laser Source Hatch", 11, 4096).getStackForm(1L));
+ eM_dynamotunnel4_UIV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel(
+ 15266, "hatch.dynamotunnel4.tier.11", "UIV 16384/t Laser Source Hatch", 11, 16384).getStackForm(1L));
+ eM_dynamotunnel5_UIV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel(
+ 15276, "hatch.dynamotunnel5.tier.11", "UIV 65536/t Laser Source Hatch", 11, 65536).getStackForm(1L));
+ eM_dynamotunnel6_UIV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel(
+ 15286, "hatch.dynamotunnel6.tier.11", "UIV 262144/t Laser Source Hatch", 11, 262144).getStackForm(1L));
+ eM_dynamotunnel7_UIV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel(
+ 15296, "hatch.dynamotunnel7.tier.11", "UIV 1048576/t Laser Source Hatch", 11, 1048576).getStackForm(1L));
+
+ eM_dynamotunnel1_UMV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel(
+ 15237, "hatch.dynamotunnel1.tier.12", "UMV 256/t Laser Source Hatch", 12, 256).getStackForm(1L));
+ eM_dynamotunnel2_UMV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel(
+ 15247, "hatch.dynamotunnel2.tier.12", "UMV 1024/t Laser Source Hatch", 12, 1024).getStackForm(1L));
+ eM_dynamotunnel3_UMV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel(
+ 15257, "hatch.dynamotunnel3.tier.12", "UMV 4096/t Laser Source Hatch", 12, 4096).getStackForm(1L));
+ eM_dynamotunnel4_UMV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel(
+ 15267, "hatch.dynamotunnel4.tier.12", "UMV 16384/t Laser Source Hatch", 12, 16384).getStackForm(1L));
+ eM_dynamotunnel5_UMV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel(
+ 15277, "hatch.dynamotunnel5.tier.12", "UMV 65536/t Laser Source Hatch", 12, 65536).getStackForm(1L));
+ eM_dynamotunnel6_UMV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel(
+ 15287, "hatch.dynamotunnel6.tier.12", "UMV 262144/t Laser Source Hatch", 12, 262144).getStackForm(1L));
+ eM_dynamotunnel7_UMV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel(
+ 15297, "hatch.dynamotunnel7.tier.12", "UMV 1048576/t Laser Source Hatch", 12, 1048576).getStackForm(1L));
+
+ eM_dynamotunnel1_UXV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel(
+ 15238, "hatch.dynamotunnel1.tier.13", "UXV 256/t Laser Source Hatch", 13, 256).getStackForm(1L));
+ eM_dynamotunnel2_UXV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel(
+ 15248, "hatch.dynamotunnel2.tier.13", "UXV 1024/t Laser Source Hatch", 13, 1024).getStackForm(1L));
+ eM_dynamotunnel3_UXV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel(
+ 15258, "hatch.dynamotunnel3.tier.13", "UXV 4096/t Laser Source Hatch", 13, 4096).getStackForm(1L));
+ eM_dynamotunnel4_UXV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel(
+ 15268, "hatch.dynamotunnel4.tier.13", "UXV 16384/t Laser Source Hatch", 13, 16384).getStackForm(1L));
+ eM_dynamotunnel5_UXV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel(
+ 15278, "hatch.dynamotunnel5.tier.13", "UXV 65536/t Laser Source Hatch", 13, 65536).getStackForm(1L));
+ eM_dynamotunnel6_UXV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel(
+ 15288, "hatch.dynamotunnel6.tier.13", "UXV 262144/t Laser Source Hatch", 13, 262144).getStackForm(1L));
+ eM_dynamotunnel7_UXV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel(
+ 15298, "hatch.dynamotunnel7.tier.13", "UXV 1048576/t Laser Source Hatch", 13, 1048576).getStackForm(1L));
+ eM_dynamotunnel9001.set(new GT_MetaTileEntity_Hatch_DynamoTunnel(
+ 15299, "hatch.dynamotunnel.tier.14", "Legendary Laser Source Hatch", 14, (int)V[14]).getStackForm(1L));
+
+ // ===================================================================================================
// MULTIBLOCKS
// ===================================================================================================
@@ -285,7 +573,7 @@ public class MachineLoader implements Runnable {
// ===================================================================================================
EMpipe.set(new GT_MetaTileEntity_Pipe_EM(15460, "pipe.elementalmatter", "Quantum \"Tunnel\"").getStackForm(1L));
-
+ LASERpipe.set(new GT_MetaTileEntity_Pipe_Energy(15465, "pipe.energystream", "Laser Vacuum Pipe").getStackForm(1L));
DATApipe.set(new GT_MetaTileEntity_Pipe_Data(15470, "pipe.datastream", "Optical Fiber Cable").getStackForm(1L));
// ===================================================================================================
@@ -340,9 +628,11 @@ public class MachineLoader implements Runnable {
// ===================================================================================================
// Debug Stuff
// ===================================================================================================
+ hatch_CreativeData.set(new GT_MetaTileEntity_Hatch_CreativeData(15496,"debug.tt.data","Debug Data Hatch",15).getStackForm(1));
hatch_CreativeMaitenance.set(new GT_MetaTileEntity_Hatch_CreativeMaintenance(15497, "debug.tt.maintenance", "Debug Maintenance Hatch", 15).getStackForm(1L));
Machine_DebugGenny.set(new GT_MetaTileEntity_DebugPowerGenerator(15498, "debug.tt.genny", "Debug Power Generator", 15).getStackForm(1L));
Machine_DebugWriter.set(new GT_MetaTileEntity_DebugStructureWriter(15499, "debug.tt.writer", "Debug Structure Writer", 15).getStackForm(1L));
+ UnusedStuff.set(new ItemStack(Blocks.air));
// ===================================================================================================
// MetaTE init
diff --git a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/stacks/cElementalInstanceStack.java b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/stacks/cElementalInstanceStack.java
index d97ec5d1f6..7c04fe2c40 100644
--- a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/stacks/cElementalInstanceStack.java
+++ b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/stacks/cElementalInstanceStack.java
@@ -275,17 +275,21 @@ public final class cElementalInstanceStack implements iHasElementalDefinition {
}
cElementalInstanceStackMap products=decays[0].getResults(lifeTimeMult, newProductsAge, newEnergyLevel, amount);
if(newProductsAge<0){
- for(cElementalInstanceStack stack:products.values()){
- if(stack.definition.equals(definition)){
- stack.age= age;
- stack.setEnergy(energy);
+ if(products.size()==1) {
+ if(products.size()==1 && products.get(0).definition.equals(definition)) {
+ products.get(0).setEnergy(energy);
+ products.get(0).age=age;
+ }
+ }else {
+ for (cElementalInstanceStack stack : products.values()) {
+ if (stack.definition.equals(definition)) {
+ stack.age = age;
+ }
}
}
}else{
- for(cElementalInstanceStack stack:products.values()){
- if(stack.definition.equals(definition)){
- stack.setEnergy(energy);
- }
+ if(products.size()==1 && products.get(0).definition.equals(definition)) {
+ products.get(0).setEnergy(energy);
}
}
if(this.energy <= 0 && products.getMass() > getMass()){
@@ -361,18 +365,21 @@ public final class cElementalInstanceStack implements iHasElementalDefinition {
}
}
- if(newProductsAge<0){
- for(cElementalInstanceStack stack:output.values()){
- if(stack.definition.equals(definition)){
- stack.age= age;
- stack.setEnergy(energy);
+ if(newProductsAge<0) {
+ if (output.size() == 1 && output.get(0).definition.equals(definition)) {
+ output.get(0).setEnergy(energy);
+ output.get(0).age = age;
+ } else {
+ for (cElementalInstanceStack stack : output.values()) {
+ if (stack.definition.equals(definition)) {
+ stack.age = age;
+ }
}
}
}else{
- for(cElementalInstanceStack stack:output.values()){
- if(stack.definition.equals(definition)){
- stack.setEnergy(energy);
- }
+ if(output.size()==1 && output.get(0).definition.equals(definition)) {
+ output.get(0).setEnergy(energy);
+ output.get(0).age=age;
}
}
if(this.energy <= 0 && output.getMass() > getMass()){
@@ -420,9 +427,9 @@ public final class cElementalInstanceStack implements iHasElementalDefinition {
}
definition.addScanResults(lines,capabilities,energy);
if(Util.areBitsSet(SCAN_GET_TIMESPAN_MULT,capabilities)) {
- lines.add("TIME SPAN MULTIPLIER = " + lifeTimeMult);
+ lines.add("TIME MULT = " + lifeTimeMult);
if(Util.areBitsSet(SCAN_GET_TIMESPAN_INFO,capabilities)) {
- lines.add("TIME SPAN MULTIPLIED = " + lifeTime + " s");
+ lines.add("TIME SPAN = " + lifeTime + " s");
}
}
if(Util.areBitsSet(SCAN_GET_AGE,capabilities)) {
@@ -432,7 +439,7 @@ public final class cElementalInstanceStack implements iHasElementalDefinition {
lines.add("COLOR = " + color + " RGB or CMY");
}
if(Util.areBitsSet(SCAN_GET_ENERGY_LEVEL,capabilities)) {
- lines.add("E. LEVEL = " + energy);
+ lines.add("ENERGY = " + energy);
}
if(Util.areBitsSet(SCAN_GET_AMOUNT,capabilities)) {
lines.add("AMOUNT = " + amount);
diff --git a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/templates/cElementalPrimitive.java b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/templates/cElementalPrimitive.java
index 738301d50c..bcd46c579a 100644
--- a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/templates/cElementalPrimitive.java
+++ b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/templates/cElementalPrimitive.java
@@ -1,7 +1,6 @@
package com.github.technus.tectech.mechanics.elementalMatter.core.templates;
import com.github.technus.tectech.TecTech;
-import com.github.technus.tectech.Util;
import com.github.technus.tectech.mechanics.elementalMatter.core.cElementalDecay;
import com.github.technus.tectech.mechanics.elementalMatter.core.cElementalDefinitionStackMap;
import com.github.technus.tectech.mechanics.elementalMatter.core.tElementalException;
@@ -16,6 +15,7 @@ import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
+import static com.github.technus.tectech.Util.areBitsSet;
import static com.github.technus.tectech.loader.TecTechConfig.DEBUG_MODE;
import static com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive.cPrimitiveDefinition.null__;
import static com.github.technus.tectech.thing.metaTileEntity.multi.GT_MetaTileEntity_EM_scanner.*;
@@ -212,23 +212,23 @@ public abstract class cElementalPrimitive extends cElementalDefinition {
@Override
public void addScanResults(ArrayList<String> lines, int capabilities, long energyLevel) {
- if(Util.areBitsSet(SCAN_GET_CLASS_TYPE, capabilities)) {
+ if(areBitsSet(SCAN_GET_CLASS_TYPE, capabilities)) {
lines.add("CLASS = " + nbtType + ' ' + getClassType());
}
- if(Util.areBitsSet(SCAN_GET_NOMENCLATURE|SCAN_GET_CHARGE|SCAN_GET_MASS|SCAN_GET_TIMESPAN_INFO, capabilities)) {
+ if(areBitsSet(SCAN_GET_NOMENCLATURE|SCAN_GET_CHARGE|SCAN_GET_MASS|SCAN_GET_TIMESPAN_INFO, capabilities)) {
lines.add("NAME = "+getName());
lines.add("SYMBOL = "+getSymbol());
}
- if(Util.areBitsSet(SCAN_GET_CHARGE,capabilities)) {
+ if(areBitsSet(SCAN_GET_CHARGE,capabilities)) {
lines.add("CHARGE = " + getCharge() / 3f + " e");
}
- if(Util.areBitsSet(SCAN_GET_COLOR,capabilities)) {
+ if(areBitsSet(SCAN_GET_COLOR,capabilities)) {
lines.add(getColor() < 0 ? "COLORLESS" : "CARRIES COLOR");
}
- if(Util.areBitsSet(SCAN_GET_MASS,capabilities)) {
+ if(areBitsSet(SCAN_GET_MASS,capabilities)) {
lines.add("MASS = " + getMass() + " eV/c\u00b2");
}
- if(Util.areBitsSet(SCAN_GET_TIMESPAN_INFO, capabilities)){
+ if(areBitsSet(SCAN_GET_TIMESPAN_INFO, capabilities)){
lines.add((isTimeSpanHalfLife()?"HALF LIFE = ":"LIFE TIME = ")+getRawTimeSpan(energyLevel)+ " s");
lines.add(" "+"At current energy level");
}
diff --git a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/complex/atom/dAtomDefinition.java b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/complex/atom/dAtomDefinition.java
index 23f566075a..99e80b7be2 100644
--- a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/complex/atom/dAtomDefinition.java
+++ b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/complex/atom/dAtomDefinition.java
@@ -1652,7 +1652,7 @@ public final class dAtomDefinition extends cElementalDefinition {
}
if(iaeaDefinitionExistsAndHasEnergyLevels && Util.areBitsSet(SCAN_GET_ENERGY_STATES,capabilities)){
for(int i=1;i<iaea.energeticStatesArray.length;i++){
- lines.add("ENERGY LEVEL "+i+" = "+iaea.energeticStatesArray[i].energy+" eV");
+ lines.add("E LEVEL "+i+" = "+iaea.energeticStatesArray[i].energy+" eV");
}
}
if(Util.areBitsSet(SCAN_GET_TIMESPAN_INFO, capabilities)){
diff --git a/src/main/java/com/github/technus/tectech/recipe/TT_recipeAdder.java b/src/main/java/com/github/technus/tectech/recipe/TT_recipeAdder.java
index f38fc1fc60..4e352a7610 100644
--- a/src/main/java/com/github/technus/tectech/recipe/TT_recipeAdder.java
+++ b/src/main/java/com/github/technus/tectech/recipe/TT_recipeAdder.java
@@ -4,6 +4,7 @@ import com.github.technus.tectech.TecTech;
import com.github.technus.tectech.mechanics.elementalMatter.core.cElementalDefinitionStackMap;
import com.github.technus.tectech.mechanics.elementalMatter.core.stacks.cElementalDefinitionStack;
import com.github.technus.tectech.mechanics.elementalMatter.core.templates.iElementalDefinition;
+import com.github.technus.tectech.thing.CustomItemList;
import com.github.technus.tectech.thing.item.ElementalDefinitionContainer_EM;
import com.github.technus.tectech.thing.metaTileEntity.multi.GT_MetaTileEntity_EM_crafting;
import com.github.technus.tectech.thing.metaTileEntity.multi.em_machine.GT_MetaTileEntity_EM_machine;
@@ -50,7 +51,7 @@ public class TT_recipeAdder extends GT_RecipeAdder {
}
TT_recipe.GT_Recipe_MapTT.sResearchableFakeRecipes.addFakeRecipe(false, new ItemStack[]{aResearchItem}, new ItemStack[]{aOutput}, new ItemStack[]{ItemList.Tool_DataStick.getWithName(1L, "Writes Research result")}, null, null, totalComputationRequired, researchEUt, researchAmperage| computationRequiredPerSec<<16);
GT_Recipe.GT_Recipe_Map.sAssemblylineVisualRecipes.addFakeRecipe(false, aInputs, new ItemStack[]{aOutput}, new ItemStack[]{ItemList.Tool_DataStick.getWithName(1L, "Reads Research result")}, aFluidInputs, null, assDuration, assEUt, 0,true);
- GT_Recipe.GT_Recipe_AssemblyLine.sAssemblylineRecipes.add(new GT_Recipe.GT_Recipe_AssemblyLine( aResearchItem, totalComputationRequired/computationRequiredPerSec, aInputs, aFluidInputs, aOutput, assDuration, assEUt));
+ GT_Recipe.GT_Recipe_AssemblyLine.sAssemblylineRecipes.add(new GT_Recipe.GT_Recipe_AssemblyLine(CustomItemList.UnusedStuff.get(1), totalComputationRequired/computationRequiredPerSec, aInputs, aFluidInputs, aOutput, assDuration, assEUt));
return true;
}
@@ -115,7 +116,7 @@ public class TT_recipeAdder extends GT_RecipeAdder {
}
TT_recipe.GT_Recipe_MapTT.sResearchableFakeRecipes.addFakeRecipe(false, new ItemStack[]{aResearchItem}, new ItemStack[]{aOutput}, new ItemStack[]{ItemList.Tool_DataStick.getWithName(1L, "Writes Research result")}, null, null, totalComputationRequired, researchEUt, researchAmperage| computationRequiredPerSec<<16);
GT_Recipe.GT_Recipe_Map.sAssemblylineVisualRecipes.addFakeRecipe(false,tInputs,new ItemStack[]{aOutput},new ItemStack[]{ItemList.Tool_DataStick.getWithName(1L, "Reads Research result", new Object[0])},aFluidInputs,null,assDuration,assEUt,0,tAlts,true);
- GT_Recipe.GT_Recipe_AssemblyLine.sAssemblylineRecipes.add(new GT_Recipe.GT_Recipe_AssemblyLine( aResearchItem, totalComputationRequired/computationRequiredPerSec, tInputs, aFluidInputs, aOutput, assDuration, assEUt, tAlts));
+ GT_Recipe.GT_Recipe_AssemblyLine.sAssemblylineRecipes.add(new GT_Recipe.GT_Recipe_AssemblyLine( CustomItemList.UnusedStuff.get(1), totalComputationRequired/computationRequiredPerSec, tInputs, aFluidInputs, aOutput, assDuration, assEUt, tAlts));
return true;
}
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 0010378b29..8d77610ffc 100644
--- a/src/main/java/com/github/technus/tectech/thing/CustomItemList.java
+++ b/src/main/java/com/github/technus/tectech/thing/CustomItemList.java
@@ -23,13 +23,13 @@ public enum CustomItemList implements IItemContainer {
Transformer_HA_UEV_UHV,Transformer_HA_UIV_UEV,Transformer_HA_UMV_UIV,Transformer_HA_UXV_UMV,
Transformer_HA_OPV_UXV,Transformer_HA_MAXV_OPV,
- hatch_CreativeMaitenance,
+ hatch_CreativeMaitenance,hatch_CreativeData,
Machine_OwnerDetector,Machine_DataReader,
Machine_BuckConverter_IV,Machine_BuckConverter_LuV,Machine_BuckConverter_ZPM,
Machine_BuckConverter_UV,Machine_BuckConverter_UHV,Machine_BuckConverter_UEV,
Machine_BuckConverter_UIV,Machine_BuckConverter_UMV, Machine_BuckConverter_UXV,
- Machine_DebugWriter,Machine_DebugGenny,
- EMpipe, DATApipe, rack_Hatch, holder_Hatch, capacitor_Hatch,
+ Machine_DebugWriter,Machine_DebugGenny,UnusedStuff,
+ EMpipe, DATApipe, LASERpipe, rack_Hatch, holder_Hatch, capacitor_Hatch,
eM_dynamomulti4_IV, eM_dynamomulti16_IV, eM_dynamomulti64_IV,
eM_dynamomulti4_LuV, eM_dynamomulti16_LuV, eM_dynamomulti64_LuV,
@@ -40,6 +40,16 @@ public enum CustomItemList implements IItemContainer {
eM_dynamomulti4_UIV, eM_dynamomulti16_UIV, eM_dynamomulti64_UIV,
eM_dynamomulti4_UMV, eM_dynamomulti16_UMV, eM_dynamomulti64_UMV,
eM_dynamomulti4_UXV, eM_dynamomulti16_UXV, eM_dynamomulti64_UXV,
+ eM_dynamotunnel1_IV,eM_dynamotunnel2_IV,eM_dynamotunnel3_IV,eM_dynamotunnel4_IV,eM_dynamotunnel5_IV,eM_dynamotunnel6_IV,eM_dynamotunnel7_IV,
+ eM_dynamotunnel1_LuV,eM_dynamotunnel2_LuV,eM_dynamotunnel3_LuV,eM_dynamotunnel4_LuV,eM_dynamotunnel5_LuV,eM_dynamotunnel6_LuV,eM_dynamotunnel7_LuV,
+ eM_dynamotunnel1_ZPM,eM_dynamotunnel2_ZPM,eM_dynamotunnel3_ZPM,eM_dynamotunnel4_ZPM,eM_dynamotunnel5_ZPM,eM_dynamotunnel6_ZPM,eM_dynamotunnel7_ZPM,
+ eM_dynamotunnel1_UV,eM_dynamotunnel2_UV,eM_dynamotunnel3_UV,eM_dynamotunnel4_UV,eM_dynamotunnel5_UV,eM_dynamotunnel6_UV,eM_dynamotunnel7_UV,
+ eM_dynamotunnel1_UHV,eM_dynamotunnel2_UHV,eM_dynamotunnel3_UHV,eM_dynamotunnel4_UHV,eM_dynamotunnel5_UHV,eM_dynamotunnel6_UHV,eM_dynamotunnel7_UHV,
+ eM_dynamotunnel1_UEV,eM_dynamotunnel2_UEV,eM_dynamotunnel3_UEV,eM_dynamotunnel4_UEV,eM_dynamotunnel5_UEV,eM_dynamotunnel6_UEV,eM_dynamotunnel7_UEV,
+ eM_dynamotunnel1_UIV,eM_dynamotunnel2_UIV,eM_dynamotunnel3_UIV,eM_dynamotunnel4_UIV,eM_dynamotunnel5_UIV,eM_dynamotunnel6_UIV,eM_dynamotunnel7_UIV,
+ eM_dynamotunnel1_UMV,eM_dynamotunnel2_UMV,eM_dynamotunnel3_UMV,eM_dynamotunnel4_UMV,eM_dynamotunnel5_UMV,eM_dynamotunnel6_UMV,eM_dynamotunnel7_UMV,
+ eM_dynamotunnel1_UXV,eM_dynamotunnel2_UXV,eM_dynamotunnel3_UXV,eM_dynamotunnel4_UXV,eM_dynamotunnel5_UXV,eM_dynamotunnel6_UXV,eM_dynamotunnel7_UXV,
+ eM_dynamotunnel9001,
eM_energymulti4_IV, eM_energymulti16_IV, eM_energymulti64_IV,
eM_energymulti4_LuV, eM_energymulti16_LuV, eM_energymulti64_LuV,
@@ -50,6 +60,16 @@ public enum CustomItemList implements IItemContainer {
eM_energymulti4_UIV, eM_energymulti16_UIV, eM_energymulti64_UIV,
eM_energymulti4_UMV, eM_energymulti16_UMV, eM_energymulti64_UMV,
eM_energymulti4_UXV, eM_energymulti16_UXV, eM_energymulti64_UXV,
+ eM_energytunnel1_IV,eM_energytunnel2_IV,eM_energytunnel3_IV,eM_energytunnel4_IV,eM_energytunnel5_IV,eM_energytunnel6_IV,eM_energytunnel7_IV,
+ eM_energytunnel1_LuV,eM_energytunnel2_LuV,eM_energytunnel3_LuV,eM_energytunnel4_LuV,eM_energytunnel5_LuV,eM_energytunnel6_LuV,eM_energytunnel7_LuV,
+ eM_energytunnel1_ZPM,eM_energytunnel2_ZPM,eM_energytunnel3_ZPM,eM_energytunnel4_ZPM,eM_energytunnel5_ZPM,eM_energytunnel6_ZPM,eM_energytunnel7_ZPM,
+ eM_energytunnel1_UV,eM_energytunnel2_UV,eM_energytunnel3_UV,eM_energytunnel4_UV,eM_energytunnel5_UV,eM_energytunnel6_UV,eM_energytunnel7_UV,
+ eM_energytunnel1_UHV,eM_energytunnel2_UHV,eM_energytunnel3_UHV,eM_energytunnel4_UHV,eM_energytunnel5_UHV,eM_energytunnel6_UHV,eM_energytunnel7_UHV,
+ eM_energytunnel1_UEV,eM_energytunnel2_UEV,eM_energytunnel3_UEV,eM_energytunnel4_UEV,eM_energytunnel5_UEV,eM_energytunnel6_UEV,eM_energytunnel7_UEV,
+ eM_energytunnel1_UIV,eM_energytunnel2_UIV,eM_energytunnel3_UIV,eM_energytunnel4_UIV,eM_energytunnel5_UIV,eM_energytunnel6_UIV,eM_energytunnel7_UIV,
+ eM_energytunnel1_UMV,eM_energytunnel2_UMV,eM_energytunnel3_UMV,eM_energytunnel4_UMV,eM_energytunnel5_UMV,eM_energytunnel6_UMV,eM_energytunnel7_UMV,
+ eM_energytunnel1_UXV,eM_energytunnel2_UXV,eM_energytunnel3_UXV,eM_energytunnel4_UXV,eM_energytunnel5_UXV,eM_energytunnel6_UXV,eM_energytunnel7_UXV,
+ eM_energytunnel9001,
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,
diff --git a/src/main/java/com/github/technus/tectech/thing/item/gui/ScanDisplayScreen.java b/src/main/java/com/github/technus/tectech/thing/item/gui/ScanDisplayScreen.java
index 753581439b..7f4c9b64fe 100644
--- a/src/main/java/com/github/technus/tectech/thing/item/gui/ScanDisplayScreen.java
+++ b/src/main/java/com/github/technus/tectech/thing/item/gui/ScanDisplayScreen.java
@@ -21,7 +21,7 @@ public class ScanDisplayScreen extends GuiScreen {
private int baseX,baseY;
private Button up,down,pgUp,pgDown;
private final String[] lines;
- private int firstLine =0;
+ private int firstLine;
private static final ResourceLocation[] BACKGROUNDS =new ResourceLocation[]{new ResourceLocation(MODID+":textures/gui/scanDisplayScreen1.png"),
new ResourceLocation(MODID+":textures/gui/scanDisplayScreen2.png"),
@@ -31,7 +31,7 @@ public class ScanDisplayScreen extends GuiScreen {
new ResourceLocation(MODID+":textures/gui/scanDisplayScreen6.png"),
new ResourceLocation(MODID+":textures/gui/scanDisplayScreen7.png"),
new ResourceLocation(MODID+":textures/gui/scanDisplayScreen8.png")};
- private static final ResourceLocation ITEM =new ResourceLocation(MODID+"::textures/gui/scanDisplayItem.png");
+ private static final ResourceLocation ITEM =new ResourceLocation(MODID+":textures/gui/scanDisplayItem.png");
public ScanDisplayScreen(EntityPlayer player){
lines=ElementalDefinitionScanStorage_EM.getLines(player.getHeldItem());
@@ -82,6 +82,8 @@ public class ScanDisplayScreen extends GuiScreen {
TecTech.proxy.renderUnicodeString(lines[i], textBaseX, textBaseY + 17 - j, 200, itick);
}
}
+ TecTech.proxy.renderUnicodeString(Integer.toString(firstLine), textBaseX, baseY+146, 200, itick);
+ TecTech.proxy.renderUnicodeString(Integer.toString(lines.length), textBaseX, baseY+157, 200, itick);
}
@Override
diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/Textures.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/Textures.java
index 99ff2bea97..d77749d130 100644
--- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/Textures.java
+++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/Textures.java
@@ -10,26 +10,28 @@ import static gregtech.api.enums.Dyes.MACHINE_METAL;
import static gregtech.api.enums.Textures.BlockIcons.*;
public class Textures {
- private static IIconContainer OVERLAY_ENERGY_IN_POWER = new CustomIcon("iconsets/OVERLAY_ENERGY_IN_POWER");
- private static IIconContainer OVERLAY_ENERGY_OUT_POWER = new CustomIcon("iconsets/OVERLAY_ENERGY_OUT_POWER");
- private static IIconContainer MACHINE_UEV_SIDE = new CustomIcon("iconsets/MACHINE_UEV_SIDE");
- private static IIconContainer MACHINE_UIV_SIDE = new CustomIcon("iconsets/MACHINE_UIV_SIDE");
- private static IIconContainer MACHINE_UMV_SIDE = new CustomIcon("iconsets/MACHINE_UMV_SIDE");
- private static IIconContainer MACHINE_UXV_SIDE = new CustomIcon("iconsets/MACHINE_UXV_SIDE");
- private static IIconContainer MACHINE_OPV_SIDE = new CustomIcon("iconsets/MACHINE_OPV_SIDE");
- private static IIconContainer MACHINE_MAXV_SIDE = new CustomIcon("iconsets/MACHINE_MAXV_SIDE");
- private static IIconContainer MACHINE_UEV_TOP = new CustomIcon("iconsets/MACHINE_UEV_TOP");
- private static IIconContainer MACHINE_UIV_TOP = new CustomIcon("iconsets/MACHINE_UIV_TOP");
- private static IIconContainer MACHINE_UMV_TOP = new CustomIcon("iconsets/MACHINE_UMV_TOP");
- private static IIconContainer MACHINE_UXV_TOP = new CustomIcon("iconsets/MACHINE_UXV_TOP");
- private static IIconContainer MACHINE_OPV_TOP = new CustomIcon("iconsets/MACHINE_OPV_TOP");
- private static IIconContainer MACHINE_MAXV_TOP = new CustomIcon("iconsets/MACHINE_MAXV_TOP");
- private static IIconContainer MACHINE_UEV_BOTTOM = new CustomIcon("iconsets/MACHINE_UEV_BOTTOM");
- private static IIconContainer MACHINE_UIV_BOTTOM = new CustomIcon("iconsets/MACHINE_UIV_BOTTOM");
- private static IIconContainer MACHINE_UMV_BOTTOM = new CustomIcon("iconsets/MACHINE_UMV_BOTTOM");
- private static IIconContainer MACHINE_UXV_BOTTOM = new CustomIcon("iconsets/MACHINE_UXV_BOTTOM");
- private static IIconContainer MACHINE_OPV_BOTTOM = new CustomIcon("iconsets/MACHINE_OPV_BOTTOM");
- private static IIconContainer MACHINE_MAXV_BOTTOM = new CustomIcon("iconsets/MACHINE_MAXV_BOTTOM");
+ private static final IIconContainer OVERLAY_ENERGY_IN_POWER = new CustomIcon("iconsets/OVERLAY_ENERGY_IN_POWER");
+ private static final IIconContainer OVERLAY_ENERGY_OUT_POWER = new CustomIcon("iconsets/OVERLAY_ENERGY_OUT_POWER");
+ private static final IIconContainer OVERLAY_ENERGY_IN_LASER = new CustomIcon("iconsets/OVERLAY_ENERGY_IN_LASER");
+ private static final IIconContainer OVERLAY_ENERGY_OUT_LASER = new CustomIcon("iconsets/OVERLAY_ENERGY_OUT_LASER");
+ private static final IIconContainer MACHINE_UEV_SIDE = new CustomIcon("iconsets/MACHINE_UEV_SIDE");
+ private static final IIconContainer MACHINE_UIV_SIDE = new CustomIcon("iconsets/MACHINE_UIV_SIDE");
+ private static final IIconContainer MACHINE_UMV_SIDE = new CustomIcon("iconsets/MACHINE_UMV_SIDE");
+ private static final IIconContainer MACHINE_UXV_SIDE = new CustomIcon("iconsets/MACHINE_UXV_SIDE");
+ private static final IIconContainer MACHINE_OPV_SIDE = new CustomIcon("iconsets/MACHINE_OPV_SIDE");
+ private static final IIconContainer MACHINE_MAXV_SIDE = new CustomIcon("iconsets/MACHINE_MAXV_SIDE");
+ private static final IIconContainer MACHINE_UEV_TOP = new CustomIcon("iconsets/MACHINE_UEV_TOP");
+ private static final IIconContainer MACHINE_UIV_TOP = new CustomIcon("iconsets/MACHINE_UIV_TOP");
+ private static final IIconContainer MACHINE_UMV_TOP = new CustomIcon("iconsets/MACHINE_UMV_TOP");
+ private static final IIconContainer MACHINE_UXV_TOP = new CustomIcon("iconsets/MACHINE_UXV_TOP");
+ private static final IIconContainer MACHINE_OPV_TOP = new CustomIcon("iconsets/MACHINE_OPV_TOP");
+ private static final IIconContainer MACHINE_MAXV_TOP = new CustomIcon("iconsets/MACHINE_MAXV_TOP");
+ private static final IIconContainer MACHINE_UEV_BOTTOM = new CustomIcon("iconsets/MACHINE_UEV_BOTTOM");
+ private static final IIconContainer MACHINE_UIV_BOTTOM = new CustomIcon("iconsets/MACHINE_UIV_BOTTOM");
+ private static final IIconContainer MACHINE_UMV_BOTTOM = new CustomIcon("iconsets/MACHINE_UMV_BOTTOM");
+ private static final IIconContainer MACHINE_UXV_BOTTOM = new CustomIcon("iconsets/MACHINE_UXV_BOTTOM");
+ private static final IIconContainer MACHINE_OPV_BOTTOM = new CustomIcon("iconsets/MACHINE_OPV_BOTTOM");
+ private static final IIconContainer MACHINE_MAXV_BOTTOM = new CustomIcon("iconsets/MACHINE_MAXV_BOTTOM");
public static IIconContainer[] MACHINECASINGS_SIDE_TT = new IIconContainer[]{
MACHINE_8V_SIDE, MACHINE_LV_SIDE, MACHINE_MV_SIDE, MACHINE_HV_SIDE,
@@ -149,6 +151,40 @@ public class Textures {
new GT_RenderedTexture(OVERLAY_ENERGY_OUT_POWER, new short[]{80, 80, 245, 0}),
new GT_RenderedTexture(OVERLAY_ENERGY_OUT_POWER, new short[]{60, 60, 245, 0}),
new GT_RenderedTexture(OVERLAY_ENERGY_OUT_POWER, new short[]{40, 40, 245, 0}),
+ }, OVERLAYS_ENERGY_IN_LASER_TT = new ITexture[]{
+ new GT_RenderedTexture(OVERLAY_ENERGY_IN_LASER, new short[]{180, 180, 180, 0}),
+ new GT_RenderedTexture(OVERLAY_ENERGY_IN_LASER, new short[]{220, 220, 220, 0}),
+ new GT_RenderedTexture(OVERLAY_ENERGY_IN_LASER, new short[]{255, 100, 0, 0}),
+ new GT_RenderedTexture(OVERLAY_ENERGY_IN_LASER, new short[]{255, 255, 30, 0}),
+ new GT_RenderedTexture(OVERLAY_ENERGY_IN_LASER, new short[]{128, 128, 128, 0}),
+ new GT_RenderedTexture(OVERLAY_ENERGY_IN_LASER, new short[]{240, 240, 245, 0}),
+ new GT_RenderedTexture(OVERLAY_ENERGY_IN_LASER, new short[]{220, 220, 245, 0}),
+ new GT_RenderedTexture(OVERLAY_ENERGY_IN_LASER, new short[]{200, 200, 245, 0}),
+ new GT_RenderedTexture(OVERLAY_ENERGY_IN_LASER, new short[]{180, 180, 245, 0}),
+ new GT_RenderedTexture(OVERLAY_ENERGY_IN_LASER, new short[]{160, 160, 245, 0}),
+ new GT_RenderedTexture(OVERLAY_ENERGY_IN_LASER, new short[]{140, 140, 245, 0}),
+ new GT_RenderedTexture(OVERLAY_ENERGY_IN_LASER, new short[]{120, 120, 245, 0}),
+ new GT_RenderedTexture(OVERLAY_ENERGY_IN_LASER, new short[]{100, 100, 245, 0}),
+ new GT_RenderedTexture(OVERLAY_ENERGY_IN_LASER, new short[]{80, 80, 245, 0}),
+ new GT_RenderedTexture(OVERLAY_ENERGY_IN_LASER, new short[]{60, 60, 245, 0}),
+ new GT_RenderedTexture(OVERLAY_ENERGY_IN_LASER, new short[]{40, 40, 245, 0}),
+ }, OVERLAYS_ENERGY_OUT_LASER_TT = new ITexture[]{
+ new GT_RenderedTexture(OVERLAY_ENERGY_OUT_LASER, new short[]{180, 180, 180, 0}),
+ new GT_RenderedTexture(OVERLAY_ENERGY_OUT_LASER, new short[]{220, 220, 220, 0}),
+ new GT_RenderedTexture(OVERLAY_ENERGY_OUT_LASER, new short[]{255, 100, 0, 0}),
+ new GT_RenderedTexture(OVERLAY_ENERGY_OUT_LASER, new short[]{255, 255, 30, 0}),
+ new GT_RenderedTexture(OVERLAY_ENERGY_OUT_LASER, new short[]{128, 128, 128, 0}),
+ new GT_RenderedTexture(OVERLAY_ENERGY_OUT_LASER, new short[]{240, 240, 245, 0}),
+ new GT_RenderedTexture(OVERLAY_ENERGY_OUT_LASER, new short[]{220, 220, 245, 0}),
+ new GT_RenderedTexture(OVERLAY_ENERGY_OUT_LASER, new short[]{200, 200, 245, 0}),
+ new GT_RenderedTexture(OVERLAY_ENERGY_OUT_LASER, new short[]{180, 180, 245, 0}),
+ new GT_RenderedTexture(OVERLAY_ENERGY_OUT_LASER, new short[]{160, 160, 245, 0}),
+ new GT_RenderedTexture(OVERLAY_ENERGY_OUT_LASER, new short[]{140, 140, 245, 0}),
+ new GT_RenderedTexture(OVERLAY_ENERGY_OUT_LASER, new short[]{120, 120, 245, 0}),
+ new GT_RenderedTexture(OVERLAY_ENERGY_OUT_LASER, new short[]{100, 100, 245, 0}),
+ new GT_RenderedTexture(OVERLAY_ENERGY_OUT_LASER, new short[]{80, 80, 245, 0}),
+ new GT_RenderedTexture(OVERLAY_ENERGY_OUT_LASER, new short[]{60, 60, 245, 0}),
+ new GT_RenderedTexture(OVERLAY_ENERGY_OUT_LASER, new short[]{40, 40, 245, 0}),
};
public static ITexture[][] MACHINE_CASINGS_TT = new ITexture[16][17];
diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_CreativeData.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_CreativeData.java
new file mode 100644
index 0000000000..d12b0d42d8
--- /dev/null
+++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_CreativeData.java
@@ -0,0 +1,117 @@
+package com.github.technus.tectech.thing.metaTileEntity.hatch;
+
+import com.github.technus.tectech.Util;
+import com.github.technus.tectech.mechanics.dataTransport.QuantumDataPacket;
+import com.github.technus.tectech.thing.metaTileEntity.pipe.GT_MetaTileEntity_Pipe_Data;
+import com.github.technus.tectech.thing.metaTileEntity.pipe.IConnectsToDataPipe;
+import gregtech.api.interfaces.ITexture;
+import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
+import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+import gregtech.api.metatileentity.MetaTileEntity;
+import gregtech.api.util.GT_Utility;
+import net.minecraft.nbt.NBTTagCompound;
+
+import static com.github.technus.tectech.CommonValues.MOVE_AT;
+
+/**
+ * Created by danie_000 on 27.10.2016.
+ */
+public class GT_MetaTileEntity_Hatch_CreativeData extends GT_MetaTileEntity_Hatch_DataConnector<QuantumDataPacket> {
+ public GT_MetaTileEntity_Hatch_CreativeData(int aID, String aName, String aNameRegional, int aTier) {
+ super(aID, aName, aNameRegional, aTier, "Quantum Data Output");
+ Util.setTier(aTier,this);
+ }
+
+ public GT_MetaTileEntity_Hatch_CreativeData(String aName, int aTier, String aDescription, ITexture[][][] aTextures) {
+ super(aName, aTier, aDescription, aTextures);
+ }
+
+ @Override
+ public MetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) {
+ return new GT_MetaTileEntity_Hatch_CreativeData(mName, mTier, mDescription, mTextures);
+ }
+
+ @Override
+ public boolean isOutputFacing(byte aSide) {
+ return aSide == getBaseMetaTileEntity().getFrontFacing();
+ }
+
+ @Override
+ public boolean isInputFacing(byte aSide) {
+ return false;
+ }
+
+ @Override
+ public boolean isSimpleMachine() {
+ return true;
+ }
+
+ @Override
+ public boolean isDataInputFacing(byte side) {
+ return isInputFacing(side);
+ }
+
+ @Override
+ protected QuantumDataPacket loadPacketFromNBT(NBTTagCompound nbt) {
+ return new QuantumDataPacket(nbt);
+ }
+
+ @Override
+ public boolean canConnectData(byte side) {
+ return isOutputFacing(side);
+ }
+
+ @Override
+ public void moveAround(IGregTechTileEntity aBaseMetaTileEntity) {
+ IConnectsToDataPipe current = this, source = this, next;
+ int range = 0;
+ while ((next = current.getNext(source)) != null && range++ < 1000) {
+ if (next instanceof GT_MetaTileEntity_Hatch_InputData) {
+ ((GT_MetaTileEntity_Hatch_InputData) next).setContents(q);
+ break;
+ }
+ source = current;
+ current = next;
+ }
+ q = null;
+ }
+
+ @Override
+ public IConnectsToDataPipe getNext(IConnectsToDataPipe source/*==this*/) {
+ IGregTechTileEntity base = getBaseMetaTileEntity();
+ byte color = base.getColorization();
+ if (color < 0) {
+ return null;
+ }
+ IGregTechTileEntity next = base.getIGregTechTileEntityAtSide(base.getFrontFacing());
+ if (next == null) {
+ return null;
+ }
+ IMetaTileEntity meta = next.getMetaTileEntity();
+ if (meta instanceof GT_MetaTileEntity_Pipe_Data) {
+ ((GT_MetaTileEntity_Pipe_Data) meta).markUsed();
+ return (IConnectsToDataPipe) meta;
+ }else if (meta instanceof GT_MetaTileEntity_Hatch_InputData &&
+ ((GT_MetaTileEntity_Hatch_InputData) meta).getColorization()==color &&
+ ((GT_MetaTileEntity_Hatch_InputData) meta).canConnectData(GT_Utility.getOppositeSide(base.getFrontFacing()))) {
+ return (IConnectsToDataPipe) meta;
+ }
+ return null;
+ }
+
+ @Override
+ public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) {
+ if (aBaseMetaTileEntity.isServerSide()) {
+ if (MOVE_AT == aTick % 20) {
+ if (aBaseMetaTileEntity.isAllowedToWork()) {
+ getBaseMetaTileEntity().setActive(true);
+ if(q==null) q=new QuantumDataPacket(0xFFFFFFFFL);
+ moveAround(aBaseMetaTileEntity);
+ } else {
+ q=null;
+ getBaseMetaTileEntity().setActive(false);
+ }
+ }
+ }
+ }
+}
diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_DynamoMulti.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_DynamoMulti.java
index 2ad4593984..1ba4854b62 100644
--- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_DynamoMulti.java
+++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_DynamoMulti.java
@@ -29,6 +29,11 @@ public class GT_MetaTileEntity_Hatch_DynamoMulti extends GT_MetaTileEntity_Hatch
Amperes = aAmp;
}
+ public GT_MetaTileEntity_Hatch_DynamoMulti(int aID, String aName, String aNameRegional, int aTier, int i, String description, int aAmp) {
+ super(aID, aName, aNameRegional, aTier, 0, description);
+ Amperes = aAmp;
+ }
+
@Override
public ITexture[] getTexturesActive(ITexture aBaseTexture) {
return new ITexture[]{aBaseTexture, OVERLAYS_ENERGY_IN_POWER_TT[mTier]};
diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_DynamoTunnel.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_DynamoTunnel.java
index eeacf91014..2e1a62f46d 100644
--- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_DynamoTunnel.java
+++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_DynamoTunnel.java
@@ -8,57 +8,36 @@ import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.metatileentity.MetaTileEntity;
-import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch;
import gregtech.api.util.GT_Utility;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.util.EnumChatFormatting;
import static com.github.technus.tectech.CommonValues.TRANSFER_AT;
import static com.github.technus.tectech.CommonValues.V;
-import static com.github.technus.tectech.thing.metaTileEntity.Textures.OVERLAYS_ENERGY_IN_POWER_TT;
+import static com.github.technus.tectech.thing.metaTileEntity.Textures.OVERLAYS_ENERGY_OUT_LASER_TT;
/**
* Created by danie_000 on 16.12.2016.
*/
-public class GT_MetaTileEntity_Hatch_DynamoTunnel extends GT_MetaTileEntity_Hatch implements IConnectsToEnergyTunnel {
- public final int Amperes;
- private final long upkeep;
- private long packetsCount=0;
-
+public class GT_MetaTileEntity_Hatch_DynamoTunnel extends GT_MetaTileEntity_Hatch_DynamoMulti implements IConnectsToEnergyTunnel {
public GT_MetaTileEntity_Hatch_DynamoTunnel(int aID, String aName, String aNameRegional, int aTier, int aAmp) {
- super(aID, aName, aNameRegional, aTier, 0, "Energy extracting terminal for Multiblocks");
- Amperes = aAmp;
+ super(aID, aName, aNameRegional, aTier, 0, "Energy extracting terminal for Multiblocks",aAmp);
Util.setTier(aTier,this);
- upkeep=Math.max(V[mTier]/Amperes,V[4]);
}
- public GT_MetaTileEntity_Hatch_DynamoTunnel(String aName, int aTier, int aAmp, long aUpkeep, String aDescription, ITexture[][][] aTextures) {
- super(aName, aTier, 0, aDescription, aTextures);
- Amperes = aAmp;
- upkeep=aUpkeep;
+ public GT_MetaTileEntity_Hatch_DynamoTunnel(String aName, int aTier, int aAmp, String aDescription, ITexture[][][] aTextures) {
+ super(aName, aTier, aAmp, aDescription, aTextures);
}
@Override
public ITexture[] getTexturesActive(ITexture aBaseTexture) {
- return new ITexture[]{aBaseTexture, OVERLAYS_ENERGY_IN_POWER_TT[mTier]};
+ return new ITexture[]{aBaseTexture, OVERLAYS_ENERGY_OUT_LASER_TT[mTier]};
}
@Override
public ITexture[] getTexturesInactive(ITexture aBaseTexture) {
- return new ITexture[]{aBaseTexture, OVERLAYS_ENERGY_IN_POWER_TT[mTier]};
- }
-
- @Override
- public void loadNBTData(NBTTagCompound aNBT) {
- super.loadNBTData(aNBT);
- packetsCount=aNBT.getLong("ePackets");
- }
-
- @Override
- public void saveNBTData(NBTTagCompound aNBT) {
- super.saveNBTData(aNBT);
- aNBT.setLong("ePackets",packetsCount);
+ return new ITexture[]{aBaseTexture, OVERLAYS_ENERGY_OUT_LASER_TT[mTier]};
}
@Override
@@ -108,7 +87,7 @@ public class GT_MetaTileEntity_Hatch_DynamoTunnel extends GT_MetaTileEntity_Hatc
@Override
public MetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) {
- return new GT_MetaTileEntity_Hatch_DynamoTunnel(mName, mTier, Amperes, upkeep, mDescription, mTextures);
+ return new GT_MetaTileEntity_Hatch_DynamoTunnel(mName, mTier, Amperes, mDescription, mTextures);
}
@Override
@@ -125,7 +104,8 @@ public class GT_MetaTileEntity_Hatch_DynamoTunnel extends GT_MetaTileEntity_Hatc
public String[] getDescription() {
return new String[]{
CommonValues.TEC_MARK_GENERAL,
- mDescription
+ mDescription,
+ "Throughput: "+ EnumChatFormatting.YELLOW +(Amperes*maxEUOutput())+EnumChatFormatting.RESET+" EU/t"
};
}
@@ -134,27 +114,15 @@ public class GT_MetaTileEntity_Hatch_DynamoTunnel extends GT_MetaTileEntity_Hatc
if (aBaseMetaTileEntity.isServerSide()) {
byte Tick = (byte) (aTick % 20);
if (TRANSFER_AT == Tick) {
- if(aBaseMetaTileEntity.getStoredEU()>=maxEUOutput()) {
- long diff = aBaseMetaTileEntity.getStoredEU() / maxEUOutput();
- setEUVar(aBaseMetaTileEntity.getStoredEU() - diff * maxEUOutput());
- addPackets(diff);
- }
- if(packetsCount>0){
- moveAround(aBaseMetaTileEntity);
- }
- if(packetsCount>0){
- long diff=(maxEUStore()-aBaseMetaTileEntity.getStoredEU())/maxEUOutput();
- if(diff>0) {
- setEUVar(aBaseMetaTileEntity.getStoredEU() + takePackets(diff) * maxEUOutput());
- }
- }
if(aBaseMetaTileEntity.getStoredEU()>0){
- setEUVar(aBaseMetaTileEntity.getStoredEU()-upkeep);
+ setEUVar(aBaseMetaTileEntity.getStoredEU()-Amperes);
if(aBaseMetaTileEntity.getStoredEU()<0){
setEUVar(0);
}
}
- getBaseMetaTileEntity().setActive(packetsCount>0);
+ if(aBaseMetaTileEntity.getStoredEU()>getMinimumStoredEU()){
+ moveAround(aBaseMetaTileEntity);
+ }
}
}
}
@@ -175,21 +143,29 @@ public class GT_MetaTileEntity_Hatch_DynamoTunnel extends GT_MetaTileEntity_Hatc
opposite == tGTTileEntity.getFrontFacing()) {
if(maxEUOutput()>((GT_MetaTileEntity_Hatch_EnergyTunnel) aMetaTileEntity).maxEUInput()){
aMetaTileEntity.doExplosion(maxEUOutput());
- }else if(maxEUOutput()==((GT_MetaTileEntity_Hatch_EnergyTunnel) aMetaTileEntity).maxEUInput()){
- long ampRx=((GT_MetaTileEntity_Hatch_EnergyTunnel) aMetaTileEntity).Amperes;
- if(packetsCount > ampRx && Amperes>ampRx){
- tGTTileEntity.setToFire();
- }else if(Amperes>ampRx){
- tGTTileEntity.setOnFire();
- ((GT_MetaTileEntity_Hatch_EnergyTunnel) aMetaTileEntity).addPackets(takePackets(Amperes));
- }else {
- ((GT_MetaTileEntity_Hatch_EnergyTunnel) aMetaTileEntity).addPackets(takePackets(Amperes));
- }
+ setEUVar(aBaseMetaTileEntity.getStoredEU()-maxEUOutput());
+ return;
+ }else if(maxEUOutput()==((GT_MetaTileEntity_Hatch_EnergyTunnel) aMetaTileEntity).maxEUInput()) {
+ long diff=Math.min(
+ Amperes*20,
+ Math.min(
+ ((GT_MetaTileEntity_Hatch_EnergyTunnel) aMetaTileEntity).maxEUStore()-
+ aMetaTileEntity.getBaseMetaTileEntity().getStoredEU(),
+ maxEUStore()-aBaseMetaTileEntity.getStoredEU()
+ )/maxEUOutput()
+ )*maxEUOutput();
+
+ setEUVar(aBaseMetaTileEntity.getStoredEU()-diff);
+
+ ((GT_MetaTileEntity_Hatch_EnergyTunnel) aMetaTileEntity)
+ .setEUVar(aMetaTileEntity.getBaseMetaTileEntity().getStoredEU()+diff);
}
return;
} else if (aMetaTileEntity instanceof GT_MetaTileEntity_Pipe_Energy) {
- if (((GT_MetaTileEntity_Pipe_Energy) aMetaTileEntity).connectionCount > 2) {
+ if (((GT_MetaTileEntity_Pipe_Energy) aMetaTileEntity).connectionCount < 2) {
return;
+ }else {
+ ((GT_MetaTileEntity_Pipe_Energy) aMetaTileEntity).markUsed();
}
} else {
return;
@@ -207,19 +183,4 @@ public class GT_MetaTileEntity_Hatch_DynamoTunnel extends GT_MetaTileEntity_Hatc
public boolean canConnect(byte side) {
return isOutputFacing(side);
}
-
- public void addPackets(long count){
- packetsCount+=count;
- }
-
- public long takePackets(long count){
- if(packetsCount>count){
- packetsCount-=count;
- return count;
- }else {
- count=packetsCount;
- packetsCount=0;
- return count;
- }
- }
}
diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_EnergyMulti.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_EnergyMulti.java
index 64dda8f84a..06bdd4faba 100644
--- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_EnergyMulti.java
+++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_EnergyMulti.java
@@ -30,6 +30,11 @@ public class GT_MetaTileEntity_Hatch_EnergyMulti extends GT_MetaTileEntity_Hatch
Amperes = aAmp;
}
+ public GT_MetaTileEntity_Hatch_EnergyMulti(int aID, String aName, String aNameRegional, int aTier, int i, String description,int aAmp) {
+ super(aID, aName, aNameRegional, aTier, 0, description);
+ Amperes = aAmp;
+ }
+
@Override
public ITexture[] getTexturesActive(ITexture aBaseTexture) {
return new ITexture[]{aBaseTexture, OVERLAYS_ENERGY_IN_POWER_TT[mTier]};
diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_EnergyTunnel.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_EnergyTunnel.java
index 4e7fffcf9f..e074f9dabb 100644
--- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_EnergyTunnel.java
+++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_EnergyTunnel.java
@@ -6,56 +6,46 @@ import com.github.technus.tectech.thing.metaTileEntity.pipe.IConnectsToEnergyTun
import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.metatileentity.MetaTileEntity;
-import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.util.EnumChatFormatting;
import static com.github.technus.tectech.CommonValues.TRANSFER_AT;
import static com.github.technus.tectech.CommonValues.V;
-import static com.github.technus.tectech.thing.metaTileEntity.Textures.OVERLAYS_ENERGY_IN_POWER_TT;
+import static com.github.technus.tectech.thing.metaTileEntity.Textures.OVERLAYS_ENERGY_IN_LASER_TT;
/**
* Created by danie_000 on 16.12.2016.
*/
-public class GT_MetaTileEntity_Hatch_EnergyTunnel extends GT_MetaTileEntity_Hatch implements IConnectsToEnergyTunnel {
- public final int Amperes;
- private final long upkeep;
- private long packetsCount=0;
-
+public class GT_MetaTileEntity_Hatch_EnergyTunnel extends GT_MetaTileEntity_Hatch_EnergyMulti implements IConnectsToEnergyTunnel {
public GT_MetaTileEntity_Hatch_EnergyTunnel(int aID, String aName, String aNameRegional, int aTier, int aAmp) {
- super(aID, aName, aNameRegional, aTier, 0, "Energy injecting terminal for Multiblocks");
- Amperes = aAmp;
+ super(aID, aName, aNameRegional, aTier, 0, "Energy injecting terminal for Multiblocks",aAmp);
Util.setTier(aTier,this);
- upkeep=Math.max(V[mTier]/Amperes,V[4]);
}
- public GT_MetaTileEntity_Hatch_EnergyTunnel(String aName, int aTier, int aAmp, long aUpkeep, String aDescription, ITexture[][][] aTextures) {
- super(aName, aTier, 0, aDescription, aTextures);
- Amperes = aAmp;
- this.upkeep=aUpkeep;
+ public GT_MetaTileEntity_Hatch_EnergyTunnel(String aName, int aTier, int aAmp, String aDescription, ITexture[][][] aTextures) {
+ super(aName, aTier, aAmp, aDescription, aTextures);
}
@Override
public ITexture[] getTexturesActive(ITexture aBaseTexture) {
- return new ITexture[]{aBaseTexture, OVERLAYS_ENERGY_IN_POWER_TT[mTier]};
+ return new ITexture[]{aBaseTexture, OVERLAYS_ENERGY_IN_LASER_TT[mTier]};
}
@Override
public ITexture[] getTexturesInactive(ITexture aBaseTexture) {
- return new ITexture[]{aBaseTexture, OVERLAYS_ENERGY_IN_POWER_TT[mTier]};
+ return new ITexture[]{aBaseTexture, OVERLAYS_ENERGY_IN_LASER_TT[mTier]};
}
@Override
public void loadNBTData(NBTTagCompound aNBT) {
super.loadNBTData(aNBT);
- packetsCount=aNBT.getLong("ePackets");
}
@Override
public void saveNBTData(NBTTagCompound aNBT) {
super.saveNBTData(aNBT);
- aNBT.setLong("ePackets",packetsCount);
}
@Override
@@ -105,7 +95,7 @@ public class GT_MetaTileEntity_Hatch_EnergyTunnel extends GT_MetaTileEntity_Hatc
@Override
public MetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) {
- return new GT_MetaTileEntity_Hatch_EnergyTunnel(mName, mTier, Amperes, upkeep, mDescription, mTextures);
+ return new GT_MetaTileEntity_Hatch_EnergyTunnel(mName, mTier, Amperes, mDescription, mTextures);
}
@Override
@@ -123,6 +113,7 @@ public class GT_MetaTileEntity_Hatch_EnergyTunnel extends GT_MetaTileEntity_Hatc
return new String[]{
CommonValues.TEC_MARK_GENERAL,
mDescription,
+ "Throughput: "+ EnumChatFormatting.YELLOW +(Amperes*maxEUInput())+EnumChatFormatting.RESET+" EU/t"
};
}
@@ -136,35 +127,13 @@ public class GT_MetaTileEntity_Hatch_EnergyTunnel extends GT_MetaTileEntity_Hatc
if (aBaseMetaTileEntity.isServerSide()) {
byte Tick = (byte) (aTick % 20);
if (TRANSFER_AT == Tick) {
- if(packetsCount>0){
- long diff=(maxEUStore()-aBaseMetaTileEntity.getStoredEU())/maxEUInput();
- if(diff>0) {
- setEUVar(aBaseMetaTileEntity.getStoredEU() + takePackets(diff) * maxEUInput());
- }
- }
if(aBaseMetaTileEntity.getStoredEU()>0){
- setEUVar(aBaseMetaTileEntity.getStoredEU()-upkeep);
+ setEUVar(aBaseMetaTileEntity.getStoredEU()-Amperes);
if(aBaseMetaTileEntity.getStoredEU()<0){
setEUVar(0);
}
}
- getBaseMetaTileEntity().setActive(packetsCount>0);
}
}
}
-
- public void addPackets(long count){
- packetsCount+=count;
- }
-
- public long takePackets(long count){
- if(packetsCount>count){
- packetsCount-=count;
- return count;
- }else {
- count=packetsCount;
- packetsCount=0;
- return count;
- }
- }
}
diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_InputElemental.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_InputElemental.java
index ccf7f1a063..6078c6379a 100644
--- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_InputElemental.java
+++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_InputElemental.java
@@ -10,7 +10,7 @@ import gregtech.api.metatileentity.MetaTileEntity;
*/
public class GT_MetaTileEntity_Hatch_InputElemental extends GT_MetaTileEntity_Hatch_ElementalContainer {
public GT_MetaTileEntity_Hatch_InputElemental(int aID, String aName, String aNameRegional, int aTier) {
- super(aID, aName, aNameRegional, aTier, "Elemental Input for Multiblocks (" + 1000 * aTier * (aTier - 7) + "U, " + aTier * 2 + " stacks)");
+ super(aID, aName, aNameRegional, aTier, "Elemental Input for Multiblocks");
Util.setTier(aTier,this);
}
diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_OutputData.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_OutputData.java
index d0e5399f75..7c9f8fba5c 100644
--- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_OutputData.java
+++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_OutputData.java
@@ -87,6 +87,7 @@ public class GT_MetaTileEntity_Hatch_OutputData extends GT_MetaTileEntity_Hatch_
}
IMetaTileEntity meta = next.getMetaTileEntity();
if (meta instanceof GT_MetaTileEntity_Pipe_Data){
+ ((GT_MetaTileEntity_Pipe_Data) meta).markUsed();
return (IConnectsToDataPipe) meta;
}else if (meta instanceof GT_MetaTileEntity_Hatch_InputData &&
((GT_MetaTileEntity_Hatch_InputData) meta).getColorization()==color &&
diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_OutputDataItems.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_OutputDataItems.java
index 82bda9d326..472f998d89 100644
--- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_OutputDataItems.java
+++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_OutputDataItems.java
@@ -127,6 +127,7 @@ public class GT_MetaTileEntity_Hatch_OutputDataItems extends GT_MetaTileEntity_H
}
IMetaTileEntity meta = next.getMetaTileEntity();
if (meta instanceof GT_MetaTileEntity_Pipe_Data){
+ ((GT_MetaTileEntity_Pipe_Data) meta).markUsed();
return (IConnectsToDataPipe) meta;
}else if (meta instanceof GT_MetaTileEntity_Hatch_InputDataItems &&
((GT_MetaTileEntity_Hatch_InputDataItems) meta).getColorization()==color &&
diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_OutputElemental.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_OutputElemental.java
index 942dc48256..adfcb1d464 100644
--- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_OutputElemental.java
+++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_OutputElemental.java
@@ -13,7 +13,7 @@ import gregtech.api.util.GT_Utility;
*/
public class GT_MetaTileEntity_Hatch_OutputElemental extends GT_MetaTileEntity_Hatch_ElementalContainer {
public GT_MetaTileEntity_Hatch_OutputElemental(int aID, String aName, String aNameRegional, int aTier) {
- super(aID, aName, aNameRegional, aTier, "Elemental Output for Multiblocks (" + 1000 * aTier * (aTier - 7) + "U, " + aTier * 2 + " stacks)");
+ super(aID, aName, aNameRegional, aTier, "Elemental Output for Multiblocks");
Util.setTier(aTier,this);
}
@@ -65,8 +65,10 @@ public class GT_MetaTileEntity_Hatch_OutputElemental extends GT_MetaTileEntity_H
content.clear();
return;
} else if (aMetaTileEntity instanceof GT_MetaTileEntity_Pipe_EM) {
- if (((GT_MetaTileEntity_Pipe_EM) aMetaTileEntity).connectionCount > 2) {
+ if (((GT_MetaTileEntity_Pipe_EM) aMetaTileEntity).connectionCount != 2) {
return;
+ }else {
+ ((GT_MetaTileEntity_Pipe_EM) aMetaTileEntity).markUsed();
}
} else {
return;
diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_Container_ParamAdv.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_Container_ParamAdv.java
index 3ce8b59fd0..e925ed91e8 100644
--- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_Container_ParamAdv.java
+++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_Container_ParamAdv.java
@@ -196,8 +196,8 @@ public class GT_Container_ParamAdv extends GT_ContainerMetaTile_Machine {
if (doStuff) {
IGregTechTileEntity base=paramH.getBaseMetaTileEntity();
TecTech.proxy.playSound(base,"fx_click");
- if(columnPointer>=32) {
- columnPointer = 31;
+ if(columnPointer>=64) {
+ columnPointer = 63;
} else if(columnPointer<0) {
columnPointer = 0;
}
diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_GUIContainer_ParamAdv.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_GUIContainer_ParamAdv.java
index 0e89e00303..5e83290450 100644
--- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_GUIContainer_ParamAdv.java
+++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_GUIContainer_ParamAdv.java
@@ -13,7 +13,7 @@ import static gregtech.api.enums.GT_Values.RES_PATH_GUI;
public class GT_GUIContainer_ParamAdv extends GT_GUIContainerMetaTile_Machine {
public GT_GUIContainer_ParamAdv(InventoryPlayer aInventoryPlayer, IGregTechTileEntity aTileEntity) {
- super(new GT_Container_Param(aInventoryPlayer, aTileEntity), RES_PATH_GUI + "ParametrizerAdv.png");
+ super(new GT_Container_ParamAdv(aInventoryPlayer, aTileEntity), RES_PATH_GUI + "ParametrizerAdv.png");
}
@Override
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 b52637d220..14bebc4caa 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
@@ -162,13 +162,10 @@ public class GT_MetaTileEntity_EM_decay extends GT_MetaTileEntity_MultiblockBase
for(cElementalInstanceStack stack:outputEM[0].values()){
- if(stack.getEnergy()==0 && stack.definition.decayMakesEnergy(1)){
- if(getBaseMetaTileEntity().decreaseStoredEnergyUnits((long)(stack.getEnergySettingCost(1)*MASS_TO_EU_INSTANT),false)){
- stack.setEnergy(1);
- }else{
- outputEM[0].remove(stack.definition);
- outputEM[1].putReplace(stack);
- }
+ if (stack.getEnergy() == 0 && stack.definition.decayMakesEnergy(1)
+ && getBaseMetaTileEntity().decreaseStoredEnergyUnits(
+ (long) (stack.getEnergySettingCost(1) * MASS_TO_EU_INSTANT), false)) {
+ stack.setEnergy(1);
}else if(!stack.definition.decayMakesEnergy(stack.getEnergy())){
outputEM[0].remove(stack.definition);
outputEM[1].putReplace(stack);
@@ -176,7 +173,6 @@ public class GT_MetaTileEntity_EM_decay extends GT_MetaTileEntity_MultiblockBase
//System.out.println(stack.definition.getSymbol()+" "+stack.amount);
}
-
float preMass=outputEM[0].getMass();
outputEM[0].tickContent(1,0,1);
double energyDose=((preMass-outputEM[0].getMass())* MASS_TO_EU_PARTIAL);
@@ -233,9 +229,4 @@ public class GT_MetaTileEntity_EM_decay extends GT_MetaTileEntity_MultiblockBase
"Computation: " + EnumChatFormatting.GREEN + eAvailableData + EnumChatFormatting.RESET + " / " + EnumChatFormatting.YELLOW + eRequiredData + EnumChatFormatting.RESET,
};
}
-
- @Override
- public long maxEUStore() {
- return super.maxEUStore();
- }
}
diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_scanner.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_scanner.java
index 2461fc5534..33de4aa1cc 100644
--- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_scanner.java
+++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_scanner.java
@@ -126,7 +126,7 @@ public class GT_MetaTileEntity_EM_scanner extends GT_MetaTileEntity_MultiblockBa
for (int i = 0; i < 10; i++) {
Parameters.Group hatch = parametrization.getGroup(i);
scanConfiguration[i*2] = hatch.makeInParameter(0, 0, CONFIG_NAME, CONFIG_STATUS);
- scanConfiguration[i*2+1] = hatch.makeInParameter(0, 0, CONFIG_NAME, CONFIG_STATUS);
+ scanConfiguration[i*2+1] = hatch.makeInParameter(1, 0, CONFIG_NAME, CONFIG_STATUS);
}
}
diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_Container_MultiMachineEM.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_Container_MultiMachineEM.java
index ea22e3c23c..0ad5aa48ca 100644
--- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_Container_MultiMachineEM.java
+++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_Container_MultiMachineEM.java
@@ -126,7 +126,7 @@ public class GT_Container_MultiMachineEM extends GT_ContainerMetaTile_Machine {
}
var1.sendProgressBarUpdate(this, 120, eCertainMode | (eCertainStatus << 8));
var1.sendProgressBarUpdate(this, 121, (ePowerPass ? 1 : 0) + (eSafeVoid ? 2 : 0) + (allowedToWork ? 4 : 0));
- for(int i=124,k=204,j=0;j<20;j++,i+=4,k+=4) {
+ for(int i=128,k=208,j=0;j<20;j++,i+=4,k+=4) {
Util.sendDouble(eParamsOut[j], this, var1, i);
Util.sendDouble(eParamsIn[j], this, var1, k);
}
@@ -149,11 +149,11 @@ public class GT_Container_MultiMachineEM extends GT_ContainerMetaTile_Machine {
ePowerPass = (par2 & 1) == 1;
eSafeVoid = (par2 & 2) == 2;
allowedToWork = (par2 & 4) == 4;
- } else if(par1>=130 && par1<210){
- int pos=(par1-130)>>2;
+ } else if(par1>=128 && par1<208){
+ int pos=(par1-128)>>2;
eParamsIn[pos]=Util.receiveDouble(eParamsIn[pos],par1&0xFFFFFFFC,par1,par2);
- }else if(par1>=210 && par1<290){
- int pos=(par1-210)>>2;
+ }else if(par1>=208 && par1<288){
+ int pos=(par1-208)>>2;
eParamsIn[pos]=Util.receiveDouble(eParamsIn[pos],par1&0xFFFFFFFC,par1,par2);
}
}
diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_GUIContainer_MultiMachineEM.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_GUIContainer_MultiMachineEM.java
index 94e2d0af8d..dea5030fde 100644
--- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_GUIContainer_MultiMachineEM.java
+++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_GUIContainer_MultiMachineEM.java
@@ -207,52 +207,50 @@ public class GT_GUIContainer_MultiMachineEM extends GT_GUIContainerMetaTile_Mach
switch (status) {
case STATUS_WRONG: //fallthrough
if (counter < 2) {
- drawTexturedModalRect(x + su * i, y + sv * j, u + su * i, v + sv * j, su, sv);
+ drawTexturedModalRect(x + su * i, y + sv * j, u + su * i, v + sv * j, su, sv);//blue
break;
} else if (counter < 4) {
- drawTexturedModalRect(x + su * i, y + sv * j, u + su * i, v + sv * (8 + j), su, sv);
+ drawTexturedModalRect(x + su * i, y + sv * j, u + su * i, v + sv * (8 + j), su, sv);//red
break;
}
case STATUS_OK://ok
- drawTexturedModalRect(x + su * i, y + sv * j, u + su * i, v + sv * (4 + j), su, sv);
+ drawTexturedModalRect(x + su * i, y + sv * j, u + su * i, v + sv * (4 + j), su, sv);//green
break;
case STATUS_TOO_LOW://too low blink
if (counter < 3) {
- drawTexturedModalRect(x + su * i, y + sv * j, u + su * i, v + sv * j, su, sv);
+ drawTexturedModalRect(x + su * i, y + sv * j, u + su * i, v + sv * j, su, sv);//BLUE
break;
}
case STATUS_LOW:// too low
- drawTexturedModalRect(x + su * i, y + sv * j, u + su * i, v + sv * (2 + j), su, sv);
+ drawTexturedModalRect(x + su * i, y + sv * j, u + su * i, v + sv * (2 + j), su, sv);//cyan
break;
case STATUS_TOO_HIGH://too high blink
if (counter < 3) {
- drawTexturedModalRect(x + su * i, y + sv * j, u + su * i, v + sv * (8 + j), su, sv);
+ drawTexturedModalRect(x + su * i, y + sv * j, u + su * i, v + sv * (8 + j), su, sv);//redd
break;
}
case STATUS_HIGH:// too high
- drawTexturedModalRect(x + su * i, y + sv * j, u + su * i, v + sv * (6 + j), su, sv);
+ drawTexturedModalRect(x + su * i, y + sv * j, u + su * i, v + sv * (6 + j), su, sv);//orangeyello
break;
case STATUS_NEUTRAL:
if(counter<3){
- GL11.glColor4f(.85f, .9f, .95f, 1.0F);
+ GL11.glColor4f(.85f, .9f, .95f, .5F);
drawTexturedModalRect(x + su * i, y + sv * j, 212, 96, su+2, sv+2);
- GL11.glColor4f(1f, 1f, 1f, 1f);
}else {
- GL11.glColor4f(.8f, .9f, 1f, 1.0F);
+ GL11.glColor4f(.8f, .9f, 1f, .5F);
drawTexturedModalRect(x + su * i, y + sv * j, 212, 96, su+2, sv+2);
- GL11.glColor4f(1f, 1f, 1f, 1f);
}
+ GL11.glColor4f(1f, 1f, 1f, 1f);
break;
case STATUS_UNDEFINED:
if(counter<3) {
- GL11.glColor4f(.5f, .1f, .15f, 1.0F);
+ GL11.glColor4f(.5f, .1f, .15f, .5F);
drawTexturedModalRect(x + su * i, y + sv * j, 212, 96, su + 2, sv + 2);
- GL11.glColor4f(1f, 1f, 1f, 1f);
}else {
- GL11.glColor4f(0f, .1f, .2f, 1.0F);
+ GL11.glColor4f(0f, .1f, .2f, .5F);
drawTexturedModalRect(x + su * i, y + sv * j, 212, 96, su + 2, sv + 2);
- GL11.glColor4f(1f, 1f, 1f, 1f);
}
+ GL11.glColor4f(1f, 1f, 1f, 1f);
break;
case STATUS_UNUSED:
default:
@@ -260,7 +258,7 @@ public class GT_GUIContainer_MultiMachineEM extends GT_GUIContainerMetaTile_Mach
int tColor = this.mContainer.mTileEntity.getColorization() & 15;
if (tColor < ItemDye.field_150922_c.length) {
tColor = ItemDye.field_150922_c[tColor];
- GL11.glColor4f((float)(tColor >> 16 & 255) / 255.0F, (float)(tColor >> 8 & 255) / 255.0F, (float)(tColor & 255) / 255.0F, 1.0F);
+ GL11.glColor4f((float)(tColor >> 16 & 255) / 255.0F, (float)(tColor >> 8 & 255) / 255.0F, (float)(tColor & 255) / 255.0F, 1F);
}
}
drawTexturedModalRect(x + su * i, y + sv * j, 212, 96, su+2, sv+2);
diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_MetaTileEntity_MultiblockBase_EM.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_MetaTileEntity_MultiblockBase_EM.java
index b91d932ebd..3b7d4233f2 100644
--- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_MetaTileEntity_MultiblockBase_EM.java
+++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_MetaTileEntity_MultiblockBase_EM.java
@@ -2,6 +2,7 @@ package com.github.technus.tectech.thing.metaTileEntity.multi.base;
import com.github.technus.tectech.Reference;
import com.github.technus.tectech.TecTech;
+import com.github.technus.tectech.Util;
import com.github.technus.tectech.Vec3pos;
import com.github.technus.tectech.mechanics.elementalMatter.core.cElementalInstanceStackMap;
import com.github.technus.tectech.mechanics.elementalMatter.core.stacks.cElementalDefinitionStack;
@@ -9,8 +10,8 @@ import com.github.technus.tectech.mechanics.elementalMatter.core.stacks.cElement
import com.github.technus.tectech.mechanics.elementalMatter.core.tElementalException;
import com.github.technus.tectech.thing.metaTileEntity.IFrontRotation;
import com.github.technus.tectech.thing.metaTileEntity.hatch.*;
-import com.github.technus.tectech.thing.metaTileEntity.multi.base.network.RotationMessage;
-import com.github.technus.tectech.thing.metaTileEntity.multi.base.network.RotationPacketDispatcher;
+import com.github.technus.tectech.loader.network.RotationMessage;
+import com.github.technus.tectech.loader.network.NetworkDispatcher;
import com.github.technus.tectech.thing.metaTileEntity.multi.base.render.TT_RenderedTexture;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
@@ -123,10 +124,10 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt
protected boolean ePowerPass = false, eSafeVoid = false;
//max amperes machine can take in after computing it to the lowest tier (exchange packets to min tier count)
- protected long eMaxAmpereFlow = 0;
+ protected long eMaxAmpereFlow = 0,eMaxAmpereGen=0;
//What is the max and minimal tier of eu hatches installed
- private long maxEUinputMin = 0, maxEUinputMax = 0;
+ private long maxEUinputMin = 0, maxEUinputMax = 0,maxEUoutputMin = 0, maxEUoutputMax = 0;
//read only unless you are making computation generator - read computer class
protected long eAvailableData = 0; // data being available
@@ -440,9 +441,9 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt
EnumChatFormatting.YELLOW+ ":" +
EnumChatFormatting.AQUA+paramID +
EnumChatFormatting.YELLOW+ ":"+
- EnumChatFormatting.AQUA+"I");
+ EnumChatFormatting.AQUA+"I "+parametrization.getStatusIn(hatchNo, paramID).name);
list.add(EnumChatFormatting.WHITE+"Value: "+
- EnumChatFormatting.AQUA+parametrization.getIn(hatchNo,paramID));
+ EnumChatFormatting.AQUA+ Util.doubleToString(parametrization.getIn(hatchNo,paramID)));
try{
list.add(parametrization.groups[hatchNo].parameterIn[paramID].getBrief());
}catch (NullPointerException|IndexOutOfBoundsException e){
@@ -464,9 +465,9 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt
EnumChatFormatting.YELLOW+ ":" +
EnumChatFormatting.AQUA+paramID +
EnumChatFormatting.YELLOW+ ":"+
- EnumChatFormatting.AQUA+"O");
+ EnumChatFormatting.AQUA+"O "+parametrization.getStatusOut(hatchNo, paramID).name);
list.add(EnumChatFormatting.WHITE+"Value: "+
- EnumChatFormatting.AQUA+parametrization.getOut(hatchNo,paramID));
+ EnumChatFormatting.AQUA+Util.doubleToString(parametrization.getOut(hatchNo,paramID)));
try{
list.add(parametrization.groups[hatchNo].parameterOut[paramID].getBrief());
}catch (NullPointerException|IndexOutOfBoundsException e){
@@ -819,7 +820,9 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt
@Override
public void saveNBTData(NBTTagCompound aNBT) {
super.saveNBTData(aNBT);
-
+ aNBT.setLong("eMaxGenEUmin", maxEUoutputMin);
+ aNBT.setLong("eMaxGenEUmax", maxEUoutputMax);
+ aNBT.setLong("eGenRating", eMaxAmpereGen);
aNBT.setLong("eMaxEUmin", maxEUinputMin);
aNBT.setLong("eMaxEUmax", maxEUinputMax);
aNBT.setLong("eRating", eAmpereFlow);
@@ -906,7 +909,9 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt
@Override
public void loadNBTData(NBTTagCompound aNBT) {
super.loadNBTData(aNBT);
-
+ maxEUoutputMin = aNBT.getLong("eMaxGenEUmin");
+ maxEUoutputMax = aNBT.getLong("eMaxGenEUmax");
+ eMaxAmpereGen = aNBT.getLong("eGenRating");
maxEUinputMin = aNBT.getLong("eMaxEUmin");
maxEUinputMax = aNBT.getLong("eMaxEUmax");
eAmpereFlow = aNBT.getLong("eRating");
@@ -1122,14 +1127,14 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt
frontRotation = rotation;
IGregTechTileEntity base=getBaseMetaTileEntity();
if(base.isClientSide()) {
- base.getWorld().markBlockRangeForRenderUpdate(base.getXCoord(), base.getYCoord(), base.getZCoord(), base.getXCoord(), base.getYCoord(), base.getZCoord());
+ base.issueTextureUpdate();
}
}
protected final void updateRotationOnClients(){
if(getBaseMetaTileEntity().isServerSide()){
IGregTechTileEntity base=getBaseMetaTileEntity();
- RotationPacketDispatcher.INSTANCE.sendToAllAround(new RotationMessage.RotationData(this),
+ NetworkDispatcher.INSTANCE.sendToAllAround(new RotationMessage.RotationData(this),
base.getWorld().provider.dimensionId,
base.getXCoord(),
base.getYCoord(),
@@ -1224,7 +1229,7 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt
public final void onFirstTick(IGregTechTileEntity aBaseMetaTileEntity) {
isFacingValid(aBaseMetaTileEntity.getFrontFacing());
if(getBaseMetaTileEntity().isClientSide()){
- RotationPacketDispatcher.INSTANCE.sendToServer(new RotationMessage.RotationQuery(this));
+ NetworkDispatcher.INSTANCE.sendToServer(new RotationMessage.RotationQuery(this));
}
onFirstTick_EM(aBaseMetaTileEntity);
}
@@ -1358,9 +1363,11 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt
}
}
- if (!mEnergyHatches.isEmpty() || !eEnergyMulti.isEmpty()) {
+ if (!mEnergyHatches.isEmpty() || !eEnergyMulti.isEmpty() || !mDynamoHatches.isEmpty() || !eDynamoMulti.isEmpty()) {
maxEUinputMin = V[15];
maxEUinputMax = V[0];
+ maxEUoutputMin = V[15];
+ maxEUoutputMax = V[0];
for (GT_MetaTileEntity_Hatch_Energy hatch : mEnergyHatches) {
if (GT_MetaTileEntity_MultiBlockBase.isValidMetaTileEntity(hatch)) {
if (hatch.maxEUInput() < maxEUinputMin) {
@@ -1381,7 +1388,28 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt
}
}
}
+ for (GT_MetaTileEntity_Hatch_Dynamo hatch : mDynamoHatches) {
+ if (GT_MetaTileEntity_MultiBlockBase.isValidMetaTileEntity(hatch)) {
+ if (hatch.maxEUOutput() < maxEUoutputMin) {
+ maxEUoutputMin = hatch.maxEUOutput();
+ }
+ if (hatch.maxEUOutput() > maxEUoutputMax) {
+ maxEUoutputMax = hatch.maxEUOutput();
+ }
+ }
+ }
+ for (GT_MetaTileEntity_Hatch_DynamoMulti hatch : eDynamoMulti) {
+ if (GT_MetaTileEntity_MultiBlockBase.isValidMetaTileEntity(hatch)) {
+ if (hatch.maxEUOutput() < maxEUoutputMin) {
+ maxEUoutputMin = hatch.maxEUOutput();
+ }
+ if (hatch.maxEUOutput() > maxEUoutputMax) {
+ maxEUoutputMax = hatch.maxEUOutput();
+ }
+ }
+ }
eMaxAmpereFlow = 0;
+ eMaxAmpereGen = 0;
//counts only full amps
for (GT_MetaTileEntity_Hatch_Energy hatch : mEnergyHatches) {
if (GT_MetaTileEntity_MultiBlockBase.isValidMetaTileEntity(hatch)) {
@@ -1393,6 +1421,16 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt
eMaxAmpereFlow += hatch.maxEUInput() / maxEUinputMin * hatch.Amperes;
}
}
+ for (GT_MetaTileEntity_Hatch_Dynamo hatch : mDynamoHatches) {
+ if (GT_MetaTileEntity_MultiBlockBase.isValidMetaTileEntity(hatch)) {
+ eMaxAmpereGen += hatch.maxEUOutput() / maxEUoutputMin;
+ }
+ }
+ for (GT_MetaTileEntity_Hatch_DynamoMulti hatch : eDynamoMulti) {
+ if (GT_MetaTileEntity_MultiBlockBase.isValidMetaTileEntity(hatch)) {
+ eMaxAmpereGen += hatch.maxEUOutput() / maxEUoutputMin * hatch.Amperes;
+ }
+ }
if (getEUVar() > maxEUStore()) {
setEUVar(maxEUStore());
}
@@ -1400,6 +1438,9 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt
maxEUinputMin = 0;
maxEUinputMax = 0;
eMaxAmpereFlow = 0;
+ maxEUoutputMin = 0;
+ maxEUoutputMax = 0;
+ eMaxAmpereGen = 0;
setEUVar(0);
}
@@ -1689,7 +1730,7 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt
@Override
public long maxEUStore() {
- return maxEUinputMin * eMaxAmpereFlow << 3;
+ return Math.max(maxEUinputMin * (eMaxAmpereFlow << 3),maxEUoutputMin*(eMaxAmpereGen << 3));
}
@Override
diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/LedStatus.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/LedStatus.java
index e32df43ae4..f2eebe3f4b 100644
--- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/LedStatus.java
+++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/LedStatus.java
@@ -1,15 +1,17 @@
package com.github.technus.tectech.thing.metaTileEntity.multi.base;
+import net.minecraft.util.EnumChatFormatting;
+
public enum LedStatus {
- STATUS_UNUSED("Unused",true),
- STATUS_TOO_LOW("Too Low",false),
- STATUS_LOW("Low",true),
- STATUS_WRONG("Wrong",false),
- STATUS_OK("Valid",true),
- STATUS_TOO_HIGH("Too High",false),
- STATUS_HIGH("High",true),
- STATUS_UNDEFINED("Unknown",false),
- STATUS_NEUTRAL("Neutral",true);
+ STATUS_UNUSED(EnumChatFormatting.DARK_GRAY +"Unused",true),//
+ STATUS_TOO_LOW(EnumChatFormatting.BLUE+"Too Low",false),//
+ STATUS_LOW(EnumChatFormatting.AQUA+"Low",true),//
+ STATUS_WRONG(EnumChatFormatting.DARK_PURPLE+"Wrong",false),//
+ STATUS_OK(EnumChatFormatting.GREEN+"Valid",true),//
+ STATUS_TOO_HIGH(EnumChatFormatting.RED+"Too High",false),//
+ STATUS_HIGH(EnumChatFormatting.GOLD+"High",true),//
+ STATUS_UNDEFINED(EnumChatFormatting.GRAY+"Unknown",false),
+ STATUS_NEUTRAL(EnumChatFormatting.WHITE+"Neutral",true);//
public final String name;
public final boolean isOk;
diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/Parameters.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/Parameters.java
index 4aba953df6..1ecb17891e 100644
--- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/Parameters.java
+++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/Parameters.java
@@ -28,6 +28,14 @@ public class Parameters {
return iParamsOut[hatchNo+10*parameterId];
}
+ LedStatus getStatusIn(int hatchNo,int parameterId){
+ return eParamsInStatus[hatchNo+10*parameterId];
+ }
+
+ LedStatus getStatusOut(int hatchNo,int parameterId){
+ return eParamsOutStatus[hatchNo+10*parameterId];
+ }
+
private final GT_MetaTileEntity_MultiblockBase_EM parent;
Parameters(GT_MetaTileEntity_MultiblockBase_EM parent){
@@ -157,12 +165,12 @@ public class Parameters {
if (this.parameterOut[0] != null) {
this.parameterOut[0].setDefault();
} else {
- iParamsIn[hatchNo] = 0;
+ iParamsOut[hatchNo] = 0;
}
if (this.parameterOut[1] != null) {
this.parameterOut[1].setDefault();
} else {
- iParamsIn[hatchNo + 10] = 0;
+ iParamsOut[hatchNo + 10] = 0;
}
}
}
@@ -259,7 +267,7 @@ public class Parameters {
if(paramID<0 || paramID>2){
throw new IllegalArgumentException("Parameter id must be in 0 to 1 range");
}
- if(parameterOut[paramID]!=null){
+ if(parameterIn[paramID]!=null){
throw new IllegalArgumentException("Parameter id already occupied");
}
this.defaultValue=defaultValue;
diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/network/RotationPacketDispatcher.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/network/RotationPacketDispatcher.java
deleted file mode 100644
index 29a8f0bcf6..0000000000
--- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/network/RotationPacketDispatcher.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package com.github.technus.tectech.thing.metaTileEntity.multi.base.network;
-
-import eu.usrv.yamcore.network.PacketDispatcher;
-
-import static com.github.technus.tectech.Reference.MODID;
-
-public class RotationPacketDispatcher extends PacketDispatcher {
- public static RotationPacketDispatcher INSTANCE;
-
- public RotationPacketDispatcher() {
- super(MODID);
- INSTANCE = this;
- registerPackets();
- }
-
- @Override
- public void registerPackets() {
- registerMessage(RotationMessage.ServerHandler.class, RotationMessage.RotationQuery.class);
- registerMessage(RotationMessage.ClientHandler.class, RotationMessage.RotationData.class);
- }
-}
diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/pipe/GT_MetaTileEntity_Pipe_Data.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/pipe/GT_MetaTileEntity_Pipe_Data.java
index 5234de7129..4badeb2d7c 100644
--- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/pipe/GT_MetaTileEntity_Pipe_Data.java
+++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/pipe/GT_MetaTileEntity_Pipe_Data.java
@@ -1,6 +1,9 @@
package com.github.technus.tectech.thing.metaTileEntity.pipe;
import com.github.technus.tectech.CommonValues;
+import com.github.technus.tectech.TecTech;
+import com.github.technus.tectech.loader.network.PipeActivityMessage;
+import com.github.technus.tectech.loader.network.NetworkDispatcher;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import gregtech.GT_Mod;
@@ -28,11 +31,13 @@ import static gregtech.api.enums.Dyes.MACHINE_METAL;
/**
* Created by Tec on 26.02.2017.
*/
-public class GT_MetaTileEntity_Pipe_Data extends MetaPipeEntity implements IConnectsToDataPipe {
+public class GT_MetaTileEntity_Pipe_Data extends MetaPipeEntity implements IConnectsToDataPipe,IActivePipe {
private static Textures.BlockIcons.CustomIcon EMpipe;
- private static Textures.BlockIcons.CustomIcon EMbar;
+ private static Textures.BlockIcons.CustomIcon EMbar,EMbarActive;
public byte connectionCount = 0;
+ private boolean active;
+
public GT_MetaTileEntity_Pipe_Data(int aID, String aName, String aNameRegional) {
super(aID, aName, aNameRegional, 0);
}
@@ -51,12 +56,13 @@ public class GT_MetaTileEntity_Pipe_Data extends MetaPipeEntity implements IConn
public void registerIcons(IIconRegister aBlockIconRegister) {
EMpipe = new Textures.BlockIcons.CustomIcon("iconsets/EM_DATA");
EMbar = new Textures.BlockIcons.CustomIcon("iconsets/EM_BAR");
+ EMbarActive = new Textures.BlockIcons.CustomIcon("iconsets/EM_BAR_ACTIVE");
super.registerIcons(aBlockIconRegister);
}
@Override
public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, byte aSide, byte aConnections, byte aColorIndex, boolean aConnected, boolean aRedstone) {
- return new ITexture[]{new GT_RenderedTexture(EMpipe), new GT_RenderedTexture(EMbar, Dyes.getModulation(aColorIndex, MACHINE_METAL.getRGBA()))};
+ return new ITexture[]{new GT_RenderedTexture(EMpipe), new GT_RenderedTexture(getActive()?EMbarActive:EMbar, Dyes.getModulation(aColorIndex, MACHINE_METAL.getRGBA()))};
}
@Override
@@ -71,10 +77,12 @@ public class GT_MetaTileEntity_Pipe_Data extends MetaPipeEntity implements IConn
@Override
public void loadNBTData(NBTTagCompound nbtTagCompound) {
+ active=nbtTagCompound.getBoolean("eActive");
}
@Override
public void saveNBTData(NBTTagCompound nbtTagCompound) {
+ nbtTagCompound.setBoolean("eActive",active);
}
@Override
@@ -100,6 +108,9 @@ public class GT_MetaTileEntity_Pipe_Data extends MetaPipeEntity implements IConn
@Override
public void onFirstTick(IGregTechTileEntity aBaseMetaTileEntity) {
+ if(getBaseMetaTileEntity().isClientSide()){
+ NetworkDispatcher.INSTANCE.sendToServer(new PipeActivityMessage.PipeActivityQuery(this));
+ }
onPostTick(aBaseMetaTileEntity, 31);
}
@@ -107,6 +118,26 @@ public class GT_MetaTileEntity_Pipe_Data extends MetaPipeEntity implements IConn
public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) {
if (aBaseMetaTileEntity.isServerSide()) {
if ((aTick & 31) == 31) {
+ if(active){
+ if(TecTech.RANDOM.nextInt(15)==0) {
+ NetworkDispatcher.INSTANCE.sendToAllAround(new PipeActivityMessage.PipeActivityData(this),
+ aBaseMetaTileEntity.getWorld().provider.dimensionId,
+ aBaseMetaTileEntity.getXCoord(),
+ aBaseMetaTileEntity.getYCoord(),
+ aBaseMetaTileEntity.getZCoord(),
+ 256);
+ }
+ active=false;
+ }else if(getActive()){
+ if(TecTech.RANDOM.nextInt(15)==0) {
+ NetworkDispatcher.INSTANCE.sendToAllAround(new PipeActivityMessage.PipeActivityData(this),
+ aBaseMetaTileEntity.getWorld().provider.dimensionId,
+ aBaseMetaTileEntity.getXCoord(),
+ aBaseMetaTileEntity.getYCoord(),
+ aBaseMetaTileEntity.getZCoord(),
+ 256);
+ }
+ }
mConnections = 0;
connectionCount = 0;
byte myColor=aBaseMetaTileEntity.getColorization();
@@ -237,4 +268,20 @@ public class GT_MetaTileEntity_Pipe_Data extends MetaPipeEntity implements IConn
public byte getColorization() {
return getBaseMetaTileEntity().getColorization();
}
+
+ @Override
+ public void markUsed() {
+ this.active = true;
+ }
+
+ @Override
+ public void setActive(boolean active) {
+ this.active=active;
+ getBaseMetaTileEntity().issueTextureUpdate();
+ }
+
+ @Override
+ public boolean getActive() {
+ return active;
+ }
}
diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/pipe/GT_MetaTileEntity_Pipe_EM.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/pipe/GT_MetaTileEntity_Pipe_EM.java
index 6b7b36fb54..f6c0724546 100644
--- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/pipe/GT_MetaTileEntity_Pipe_EM.java
+++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/pipe/GT_MetaTileEntity_Pipe_EM.java
@@ -1,6 +1,9 @@
package com.github.technus.tectech.thing.metaTileEntity.pipe;
import com.github.technus.tectech.CommonValues;
+import com.github.technus.tectech.TecTech;
+import com.github.technus.tectech.loader.network.PipeActivityMessage;
+import com.github.technus.tectech.loader.network.NetworkDispatcher;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import gregtech.GT_Mod;
@@ -29,11 +32,13 @@ import static gregtech.api.enums.Dyes.MACHINE_METAL;
/**
* Created by Tec on 26.02.2017.
*/
-public class GT_MetaTileEntity_Pipe_EM extends MetaPipeEntity implements IConnectsToElementalPipe {
+public class GT_MetaTileEntity_Pipe_EM extends MetaPipeEntity implements IConnectsToElementalPipe,IActivePipe {
private static Textures.BlockIcons.CustomIcon EMpipe;
- private static Textures.BlockIcons.CustomIcon EMcandy;
+ static Textures.BlockIcons.CustomIcon EMcandy,EMCandyActive;
public byte connectionCount = 0;
+ private boolean active;
+
public GT_MetaTileEntity_Pipe_EM(int aID, String aName, String aNameRegional) {
super(aID, aName, aNameRegional, 0);
}
@@ -52,12 +57,13 @@ public class GT_MetaTileEntity_Pipe_EM extends MetaPipeEntity implements IConnec
public void registerIcons(IIconRegister aBlockIconRegister) {
EMpipe = new Textures.BlockIcons.CustomIcon("iconsets/EM_PIPE");
EMcandy = new Textures.BlockIcons.CustomIcon("iconsets/EM_CANDY");
+ EMCandyActive = new Textures.BlockIcons.CustomIcon("iconsets/EM_CANDY_ACTIVE");
super.registerIcons(aBlockIconRegister);
}
@Override
public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, byte aSide, byte aConnections, byte aColorIndex, boolean aConnected, boolean aRedstone) {
- return new ITexture[]{new GT_RenderedTexture(EMpipe), new GT_RenderedTexture(EMcandy, Dyes.getModulation(aColorIndex, MACHINE_METAL.getRGBA()))};
+ return new ITexture[]{new GT_RenderedTexture(EMpipe), new GT_RenderedTexture(getActive()?EMCandyActive:EMcandy, Dyes.getModulation(aColorIndex, MACHINE_METAL.getRGBA()))};
}
@Override
@@ -72,10 +78,12 @@ public class GT_MetaTileEntity_Pipe_EM extends MetaPipeEntity implements IConnec
@Override
public void loadNBTData(NBTTagCompound nbtTagCompound) {
+ active=nbtTagCompound.getBoolean("eActive");
}
@Override
public void saveNBTData(NBTTagCompound nbtTagCompound) {
+ nbtTagCompound.setBoolean("eActive",active);
}
@Override
@@ -101,6 +109,9 @@ public class GT_MetaTileEntity_Pipe_EM extends MetaPipeEntity implements IConnec
@Override
public void onFirstTick(IGregTechTileEntity aBaseMetaTileEntity) {
+ if(getBaseMetaTileEntity().isClientSide()){
+ NetworkDispatcher.INSTANCE.sendToServer(new PipeActivityMessage.PipeActivityQuery(this));
+ }
onPostTick(aBaseMetaTileEntity, 31);
}
@@ -108,6 +119,26 @@ public class GT_MetaTileEntity_Pipe_EM extends MetaPipeEntity implements IConnec
public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) {
if (aBaseMetaTileEntity.isServerSide()) {
if ((aTick & 31) == 31) {
+ if(active){
+ if(TecTech.RANDOM.nextInt(7)==0) {
+ NetworkDispatcher.INSTANCE.sendToAllAround(new PipeActivityMessage.PipeActivityData(this),
+ aBaseMetaTileEntity.getWorld().provider.dimensionId,
+ aBaseMetaTileEntity.getXCoord(),
+ aBaseMetaTileEntity.getYCoord(),
+ aBaseMetaTileEntity.getZCoord(),
+ 256);
+ }
+ active=false;
+ }else if(getActive()){
+ if(TecTech.RANDOM.nextInt(7)==0) {
+ NetworkDispatcher.INSTANCE.sendToAllAround(new PipeActivityMessage.PipeActivityData(this),
+ aBaseMetaTileEntity.getWorld().provider.dimensionId,
+ aBaseMetaTileEntity.getXCoord(),
+ aBaseMetaTileEntity.getYCoord(),
+ aBaseMetaTileEntity.getZCoord(),
+ 256);
+ }
+ }
mConnections = 0;
connectionCount = 0;
if (aBaseMetaTileEntity.getColorization() < 0) {
@@ -145,7 +176,6 @@ public class GT_MetaTileEntity_Pipe_EM extends MetaPipeEntity implements IConnec
//}
}
}
-
} else if (aBaseMetaTileEntity.isClientSide() && GT_Client.changeDetected == 4) {
aBaseMetaTileEntity.issueTextureUpdate();
}
@@ -203,4 +233,20 @@ public class GT_MetaTileEntity_Pipe_EM extends MetaPipeEntity implements IConnec
}
return 0.5f;
}
+
+ @Override
+ public void markUsed() {
+ this.active = true;
+ }
+
+ @Override
+ public void setActive(boolean active) {
+ this.active=active;
+ getBaseMetaTileEntity().issueTextureUpdate();
+ }
+
+ @Override
+ public boolean getActive() {
+ return active;
+ }
}
diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/pipe/GT_MetaTileEntity_Pipe_Energy.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/pipe/GT_MetaTileEntity_Pipe_Energy.java
index 6d4be98634..8ee90c6954 100644
--- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/pipe/GT_MetaTileEntity_Pipe_Energy.java
+++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/pipe/GT_MetaTileEntity_Pipe_Energy.java
@@ -1,6 +1,9 @@
package com.github.technus.tectech.thing.metaTileEntity.pipe;
import com.github.technus.tectech.CommonValues;
+import com.github.technus.tectech.TecTech;
+import com.github.technus.tectech.loader.network.PipeActivityMessage;
+import com.github.technus.tectech.loader.network.NetworkDispatcher;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import gregtech.GT_Mod;
@@ -24,13 +27,16 @@ import net.minecraft.util.EnumChatFormatting;
import net.minecraft.world.World;
import net.minecraftforge.common.util.ForgeDirection;
+import static com.github.technus.tectech.thing.metaTileEntity.pipe.GT_MetaTileEntity_Pipe_EM.EMCandyActive;
+import static com.github.technus.tectech.thing.metaTileEntity.pipe.GT_MetaTileEntity_Pipe_EM.EMcandy;
import static gregtech.api.enums.Dyes.MACHINE_METAL;
-public class GT_MetaTileEntity_Pipe_Energy extends MetaPipeEntity implements IConnectsToEnergyTunnel {
+public class GT_MetaTileEntity_Pipe_Energy extends MetaPipeEntity implements IConnectsToEnergyTunnel,IActivePipe {
private static Textures.BlockIcons.CustomIcon EMpipe;
- private static Textures.BlockIcons.CustomIcon EMcandy;
public byte connectionCount = 0;
+ private boolean active;
+
public GT_MetaTileEntity_Pipe_Energy(int aID, String aName, String aNameRegional) {
super(aID, aName, aNameRegional, 0);
}
@@ -48,13 +54,12 @@ public class GT_MetaTileEntity_Pipe_Energy extends MetaPipeEntity implements ICo
@SideOnly(Side.CLIENT)
public void registerIcons(IIconRegister aBlockIconRegister) {
EMpipe = new Textures.BlockIcons.CustomIcon("iconsets/EM_LASER");
- EMcandy = new Textures.BlockIcons.CustomIcon("iconsets/EM_CANDY");
super.registerIcons(aBlockIconRegister);
}
@Override
public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, byte aSide, byte aConnections, byte aColorIndex, boolean aConnected, boolean aRedstone) {
- return new ITexture[]{new GT_RenderedTexture(EMpipe), new GT_RenderedTexture(EMcandy, Dyes.getModulation(aColorIndex, MACHINE_METAL.getRGBA()))};
+ return new ITexture[]{new GT_RenderedTexture(EMpipe), new GT_RenderedTexture(getActive()?EMCandyActive:EMcandy, Dyes.getModulation(aColorIndex, MACHINE_METAL.getRGBA()))};
}
@Override
@@ -69,10 +74,12 @@ public class GT_MetaTileEntity_Pipe_Energy extends MetaPipeEntity implements ICo
@Override
public void loadNBTData(NBTTagCompound nbtTagCompound) {
+ active=nbtTagCompound.getBoolean("eActive");
}
@Override
public void saveNBTData(NBTTagCompound nbtTagCompound) {
+ nbtTagCompound.setBoolean("eActive",active);
}
@Override
@@ -89,15 +96,18 @@ public class GT_MetaTileEntity_Pipe_Energy extends MetaPipeEntity implements ICo
public String[] getDescription() {
return new String[]{
CommonValues.TEC_MARK_EM,
- "Energy tunneling device.",
- EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD + "Not a portal!!!",
+ "Laser tunneling device.",
+ EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD + "Bright Vacuum!!!",
EnumChatFormatting.AQUA + "Must be painted to work",
- EnumChatFormatting.AQUA + "Do not cross,split or turn"
+ EnumChatFormatting.AQUA + "Do not split or turn"
};
}
@Override
public void onFirstTick(IGregTechTileEntity aBaseMetaTileEntity) {
+ if(getBaseMetaTileEntity().isClientSide()){
+ NetworkDispatcher.INSTANCE.sendToServer(new PipeActivityMessage.PipeActivityQuery(this));
+ }
onPostTick(aBaseMetaTileEntity, 31);
}
@@ -105,6 +115,26 @@ public class GT_MetaTileEntity_Pipe_Energy extends MetaPipeEntity implements ICo
public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) {
if (aBaseMetaTileEntity.isServerSide()) {
if ((aTick & 31) == 31) {
+ if(active){
+ if(TecTech.RANDOM.nextInt(31)==0) {
+ NetworkDispatcher.INSTANCE.sendToAllAround(new PipeActivityMessage.PipeActivityData(this),
+ aBaseMetaTileEntity.getWorld().provider.dimensionId,
+ aBaseMetaTileEntity.getXCoord(),
+ aBaseMetaTileEntity.getYCoord(),
+ aBaseMetaTileEntity.getZCoord(),
+ 256);
+ }
+ active=false;
+ }else if(getActive()){
+ if(TecTech.RANDOM.nextInt(31)==0) {
+ NetworkDispatcher.INSTANCE.sendToAllAround(new PipeActivityMessage.PipeActivityData(this),
+ aBaseMetaTileEntity.getWorld().provider.dimensionId,
+ aBaseMetaTileEntity.getXCoord(),
+ aBaseMetaTileEntity.getYCoord(),
+ aBaseMetaTileEntity.getZCoord(),
+ 256);
+ }
+ }
mConnections = 0;
connectionCount = 0;
if (aBaseMetaTileEntity.getColorization() < 0) {
@@ -149,6 +179,22 @@ public class GT_MetaTileEntity_Pipe_Energy extends MetaPipeEntity implements ICo
}
@Override
+ public void setActive(boolean state){
+ this.active=state;
+ getBaseMetaTileEntity().issueTextureUpdate();
+ }
+
+ @Override
+ public boolean getActive() {
+ return active;
+ }
+
+ @Override
+ public void markUsed() {
+ this.active = true;
+ }
+
+ @Override
public boolean canConnect(byte side) {
return true;
}
diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/pipe/IActivePipe.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/pipe/IActivePipe.java
new file mode 100644
index 0000000000..5552992e56
--- /dev/null
+++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/pipe/IActivePipe.java
@@ -0,0 +1,9 @@
+package com.github.technus.tectech.thing.metaTileEntity.pipe;
+
+import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
+
+public interface IActivePipe extends IMetaTileEntity {
+ void setActive(boolean active);
+ boolean getActive();
+ void markUsed();
+}
diff --git a/src/main/resources/assets/gregtech/textures/blocks/iconsets/EM_LASER.png b/src/main/resources/assets/gregtech/textures/blocks/iconsets/EM_LASER.png
new file mode 100644
index 0000000000..72e277673e
--- /dev/null
+++ b/src/main/resources/assets/gregtech/textures/blocks/iconsets/EM_LASER.png
Binary files differ
diff --git a/src/main/resources/assets/gregtech/textures/blocks/iconsets/OVERLAY_ENERGY_IN_LASER.png b/src/main/resources/assets/gregtech/textures/blocks/iconsets/OVERLAY_ENERGY_IN_LASER.png
new file mode 100644
index 0000000000..51f387ba35
--- /dev/null
+++ b/src/main/resources/assets/gregtech/textures/blocks/iconsets/OVERLAY_ENERGY_IN_LASER.png
Binary files differ
diff --git a/src/main/resources/assets/gregtech/textures/blocks/iconsets/OVERLAY_ENERGY_OUT_LASER.png b/src/main/resources/assets/gregtech/textures/blocks/iconsets/OVERLAY_ENERGY_OUT_LASER.png
new file mode 100644
index 0000000000..4706e3cf6a
--- /dev/null
+++ b/src/main/resources/assets/gregtech/textures/blocks/iconsets/OVERLAY_ENERGY_OUT_LASER.png
Binary files differ