aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore1
-rw-r--r--src/main/java/com/github/technus/tectech/loader/MainLoader.java7
-rw-r--r--src/main/java/com/github/technus/tectech/loader/thing/CoverLoader.java17
-rw-r--r--src/main/java/com/github/technus/tectech/loader/thing/MachineLoader.java698
-rw-r--r--src/main/java/com/github/technus/tectech/loader/thing/ThingsLoader.java3
-rw-r--r--src/main/java/com/github/technus/tectech/thing/CustomItemList.java466
-rw-r--r--src/main/java/com/github/technus/tectech/thing/cover/GT_Cover_TM_TeslaCoil.java8
-rw-r--r--src/main/java/com/github/technus/tectech/thing/item/TeslaCoilCover.java51
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_TM_teslaCoil.java220
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_TeslaCoil.java211
-rw-r--r--src/main/resources/assets/tectech/lang/en_US.lang2
-rw-r--r--src/main/resources/assets/tectech/lang/zh_CN.lang2
12 files changed, 1081 insertions, 605 deletions
diff --git a/.gitignore b/.gitignore
index 406c4db8dc..4b05cbe9e4 100644
--- a/.gitignore
+++ b/.gitignore
@@ -23,6 +23,7 @@ SetupDevWorkspaces.bat
*.db
*.log
.idea/
+\.directory
asm/
config/
saves/
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 de53fb225f..3c9eeac800 100644
--- a/src/main/java/com/github/technus/tectech/loader/MainLoader.java
+++ b/src/main/java/com/github/technus/tectech/loader/MainLoader.java
@@ -12,6 +12,7 @@ import com.github.technus.tectech.loader.gui.ModGuiHandler;
import com.github.technus.tectech.loader.mechanics.ElementalLoader;
import com.github.technus.tectech.loader.recipe.RecipeLoader;
import com.github.technus.tectech.loader.thing.ComponentLoader;
+import com.github.technus.tectech.loader.thing.CoverLoader;
import com.github.technus.tectech.loader.thing.MachineLoader;
import com.github.technus.tectech.loader.thing.ThingsLoader;
import com.github.technus.tectech.thing.casing.TT_Container_Casings;
@@ -74,7 +75,7 @@ public final class MainLoader {
}
public static void load() {
- ProgressManager.ProgressBar progressBarLoad = ProgressManager.push("TecTech Loader", 8);
+ ProgressManager.ProgressBar progressBarLoad = ProgressManager.push("TecTech Loader", 9);
progressBarLoad.step("Elemental Things");
new ElementalLoader().run();
@@ -96,6 +97,10 @@ public final class MainLoader {
new MachineLoader().run();
LOGGER.info("Machine Init Done");
+ progressBarLoad.step("Cover Things");
+ new CoverLoader().run();
+ LOGGER.info("Cover Init Done");
+
progressBarLoad.step("Register entities");
new EntityLoader().run();
LOGGER.info("Entities registered");
diff --git a/src/main/java/com/github/technus/tectech/loader/thing/CoverLoader.java b/src/main/java/com/github/technus/tectech/loader/thing/CoverLoader.java
new file mode 100644
index 0000000000..ca81427e03
--- /dev/null
+++ b/src/main/java/com/github/technus/tectech/loader/thing/CoverLoader.java
@@ -0,0 +1,17 @@
+package com.github.technus.tectech.loader.thing;
+
+import com.github.technus.tectech.TecTech;
+
+import com.github.technus.tectech.thing.cover.GT_Cover_TM_TeslaCoil;
+import com.github.technus.tectech.thing.item.TeslaCoilCover;
+import gregtech.api.GregTech_API;
+import gregtech.api.enums.Textures;
+import gregtech.api.objects.GT_RenderedTexture;
+import net.minecraft.item.ItemStack;
+
+public class CoverLoader implements Runnable {
+ public void run(){
+ GregTech_API.registerCover(new ItemStack(TeslaCoilCover.INSTANCE, 1), new GT_RenderedTexture(Textures.BlockIcons.VENT_ADVANCED), new GT_Cover_TM_TeslaCoil());
+ TecTech.LOGGER.info("Cover functionality registered");
+ }
+}
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 c1b78523c5..61ce45c031 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
@@ -1,333 +1,365 @@
-package com.github.technus.tectech.loader.thing;
-
-import com.github.technus.tectech.Reference;
-import com.github.technus.tectech.compatibility.dreamcraft.NoDreamCraftMachineLoader;
-import com.github.technus.tectech.compatibility.thaumcraft.thing.metaTileEntity.multi.GT_MetaTileEntity_EM_essentiaDequantizer;
-import com.github.technus.tectech.compatibility.thaumcraft.thing.metaTileEntity.multi.GT_MetaTileEntity_EM_essentiaQuantizer;
-import com.github.technus.tectech.thing.metaTileEntity.hatch.*;
-import com.github.technus.tectech.thing.metaTileEntity.multi.*;
-import com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_MetaTileEntity_MultiblockBase_EM;
-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.single.*;
-import cpw.mods.fml.common.Loader;
-
-import static com.github.technus.tectech.thing.CustomItemList.*;
-
-/**
- * Created by danie_000 on 16.11.2016.
- */
-public class MachineLoader implements Runnable {
- @Override
- public void run() {
- // ===================================================================================================
- // eM IN
- // ===================================================================================================
-
- eM_in_UV.set(new GT_MetaTileEntity_Hatch_InputElemental(
- 15000, "hatch.emin.tier.08", "UV Elemental Input Hatch", 8).getStackForm(1L));
-
- eM_in_UHV.set(new GT_MetaTileEntity_Hatch_InputElemental(
- 15001, "hatch.emin.tier.09", "UHV Elemental Input Hatch", 9).getStackForm(1L));
-
- eM_in_UEV.set(new GT_MetaTileEntity_Hatch_InputElemental(
- 15002, "hatch.emin.tier.10", "UEV Elemental Input Hatch", 10).getStackForm(1L));
-
- eM_in_UIV.set(new GT_MetaTileEntity_Hatch_InputElemental(
- 15003, "hatch.emin.tier.11", "UIV Elemental Input Hatch", 11).getStackForm(1L));
-
- eM_in_UMV.set(new GT_MetaTileEntity_Hatch_InputElemental(
- 15004, "hatch.emin.tier.12", "UMV Elemental Input Hatch", 12).getStackForm(1L));
-
- eM_in_UXV.set(new GT_MetaTileEntity_Hatch_InputElemental(
- 15005, "hatch.emin.tier.13", "UXV Elemental Input Hatch", 13).getStackForm(1L));
-
- // ===================================================================================================
- // eM OUT
- // ===================================================================================================
-
- eM_out_UV.set(new GT_MetaTileEntity_Hatch_OutputElemental(
- 15010, "hatch.emout.tier.08", "UV Elemental Output Hatch", 8).getStackForm(1L));
-
- eM_out_UHV.set(new GT_MetaTileEntity_Hatch_OutputElemental(
- 15011, "hatch.emout.tier.09", "UHV Elemental Output Hatch", 9).getStackForm(1L));
-
- eM_out_UEV.set(new GT_MetaTileEntity_Hatch_OutputElemental(
- 15012, "hatch.emout.tier.10", "UEV Elemental Output Hatch", 10).getStackForm(1L));
-
- eM_out_UIV.set(new GT_MetaTileEntity_Hatch_OutputElemental(
- 15013, "hatch.emout.tier.11", "UIV Elemental Output Hatch", 11).getStackForm(1L));
-
- eM_out_UMV.set(new GT_MetaTileEntity_Hatch_OutputElemental(
- 15014, "hatch.emout.tier.12", "UMV Elemental Output Hatch", 12).getStackForm(1L));
-
- eM_out_UXV.set(new GT_MetaTileEntity_Hatch_OutputElemental(
- 15015, "hatch.emout.tier.13", "UXV Elemental Output Hatch", 13).getStackForm(1L));
-
- // ===================================================================================================
- // eM Waste OUT
- // ===================================================================================================
-
- eM_muffler_UV.set(new GT_MetaTileEntity_Hatch_OverflowElemental(
- 15020, "hatch.emmuffler.tier.08", "UV Overflow Output Hatch", 8, 1e10f).getStackForm(1L));
-
- eM_muffler_UHV.set(new GT_MetaTileEntity_Hatch_OverflowElemental(
- 15021, "hatch.emmuffler.tier.09", "UHV Overflow Output Hatch", 9, 5e10f).getStackForm(1L));
-
- eM_muffler_UEV.set(new GT_MetaTileEntity_Hatch_OverflowElemental(
- 15022, "hatch.emmuffler.tier.10", "UEV Overflow Output Hatch", 10, 25e10f).getStackForm(1L));
-
- eM_muffler_UIV.set(new GT_MetaTileEntity_Hatch_OverflowElemental(
- 15023, "hatch.emmuffler.tier.11", "UIV Overflow Output Hatch", 11, 125e10f).getStackForm(1L));
-
- eM_muffler_UMV.set(new GT_MetaTileEntity_Hatch_OverflowElemental(
- 15024, "hatch.emmuffler.tier.12", "UMV Overflow Output Hatch", 12, 125e11f).getStackForm(1L));
-
- eM_muffler_UXV.set(new GT_MetaTileEntity_Hatch_OverflowElemental(
- 15025, "hatch.emmuffler.tier.13", "UXV Overflow Output Hatch", 13, 125e12f).getStackForm(1L));
-
- // ===================================================================================================
- // Multi AMP Power INPUTS
- // ===================================================================================================
-
- eM_energymulti4_IV.set(new GT_MetaTileEntity_Hatch_EnergyMulti(
- 15100, "hatch.energymulti04.tier.05", "IV 4A Energy Hatch", 5, 4).getStackForm(1L));
- eM_energymulti16_IV.set(new GT_MetaTileEntity_Hatch_EnergyMulti(
- 15110, "hatch.energymulti16.tier.05", "IV 16A Energy Hatch", 5, 16).getStackForm(1L));
- eM_energymulti64_IV.set(new GT_MetaTileEntity_Hatch_EnergyMulti(
- 15120, "hatch.energymulti64.tier.05", "IV 64A Energy Hatch", 5, 64).getStackForm(1L));
-
- eM_energymulti4_LuV.set(new GT_MetaTileEntity_Hatch_EnergyMulti(
- 15101, "hatch.energymulti04.tier.06", "LuV 4A Energy Hatch", 6, 4).getStackForm(1L));
- eM_energymulti16_LuV.set(new GT_MetaTileEntity_Hatch_EnergyMulti(
- 15111, "hatch.energymulti16.tier.06", "LuV 16A Energy Hatch", 6, 16).getStackForm(1L));
- eM_energymulti64_LuV.set(new GT_MetaTileEntity_Hatch_EnergyMulti(
- 15121, "hatch.energymulti64.tier.06", "LuV 64A Energy Hatch", 6, 64).getStackForm(1L));
-
- eM_energymulti4_ZPM.set(new GT_MetaTileEntity_Hatch_EnergyMulti(
- 15102, "hatch.energymulti04.tier.07", "ZPM 4A Energy Hatch", 7, 4).getStackForm(1L));
- eM_energymulti16_ZPM.set(new GT_MetaTileEntity_Hatch_EnergyMulti(
- 15112, "hatch.energymulti16.tier.07", "ZPM 16A Energy Hatch", 7, 16).getStackForm(1L));
- eM_energymulti64_ZPM.set(new GT_MetaTileEntity_Hatch_EnergyMulti(
- 15122, "hatch.energymulti64.tier.07", "ZPM 64A Energy Hatch", 7, 64).getStackForm(1L));
-
- eM_energymulti4_UV.set(new GT_MetaTileEntity_Hatch_EnergyMulti(
- 15103, "hatch.energymulti04.tier.08", "UV 4A Energy Hatch", 8, 4).getStackForm(1L));
- eM_energymulti16_UV.set(new GT_MetaTileEntity_Hatch_EnergyMulti(
- 15113, "hatch.energymulti16.tier.08", "UV 16A Energy Hatch", 8, 16).getStackForm(1L));
- eM_energymulti64_UV.set(new GT_MetaTileEntity_Hatch_EnergyMulti(
- 15123, "hatch.energymulti64.tier.08", "UV 64A Energy Hatch", 8, 64).getStackForm(1L));
-
- eM_energymulti4_UHV.set(new GT_MetaTileEntity_Hatch_EnergyMulti(
- 15104, "hatch.energymulti04.tier.09", "UHV 4A Energy Hatch", 9, 4).getStackForm(1L));
- eM_energymulti16_UHV.set(new GT_MetaTileEntity_Hatch_EnergyMulti(
- 15114, "hatch.energymulti16.tier.09", "UHV 16A Energy Hatch", 9, 16).getStackForm(1L));
- eM_energymulti64_UHV.set(new GT_MetaTileEntity_Hatch_EnergyMulti(
- 15124, "hatch.energymulti64.tier.09", "UHV 64A Energy Hatch", 9, 64).getStackForm(1L));
-
- eM_energymulti4_UEV.set(new GT_MetaTileEntity_Hatch_EnergyMulti(
- 15105, "hatch.energymulti04.tier.10", "UEV 4A Energy Hatch", 10, 4).getStackForm(1L));
- eM_energymulti16_UEV.set(new GT_MetaTileEntity_Hatch_EnergyMulti(
- 15115, "hatch.energymulti16.tier.10", "UEV 16A Energy Hatch", 10, 16).getStackForm(1L));
- eM_energymulti64_UEV.set(new GT_MetaTileEntity_Hatch_EnergyMulti(
- 15125, "hatch.energymulti64.tier.10", "UEV 64A Energy Hatch", 10, 64).getStackForm(1L));
-
- eM_energymulti4_UIV.set(new GT_MetaTileEntity_Hatch_EnergyMulti(
- 15106, "hatch.energymulti04.tier.11", "UIV 4A Energy Hatch", 11, 4).getStackForm(1L));
- eM_energymulti16_UIV.set(new GT_MetaTileEntity_Hatch_EnergyMulti(
- 15116, "hatch.energymulti16.tier.11", "UIV 16A Energy Hatch", 11, 16).getStackForm(1L));
- eM_energymulti64_UIV.set(new GT_MetaTileEntity_Hatch_EnergyMulti(
- 15126, "hatch.energymulti64.tier.11", "UIV 64A Energy Hatch", 11, 64).getStackForm(1L));
-
- eM_energymulti4_UMV.set(new GT_MetaTileEntity_Hatch_EnergyMulti(
- 15107, "hatch.energymulti04.tier.12", "UMV 4A Energy Hatch", 12, 4).getStackForm(1L));
- eM_energymulti16_UMV.set(new GT_MetaTileEntity_Hatch_EnergyMulti(
- 15117, "hatch.energymulti16.tier.12", "UMV 16A Energy Hatch", 12, 16).getStackForm(1L));
- eM_energymulti64_UMV.set(new GT_MetaTileEntity_Hatch_EnergyMulti(
- 15127, "hatch.energymulti64.tier.12", "UMV 64A Energy Hatch", 12, 64).getStackForm(1L));
-
- eM_energymulti4_UXV.set(new GT_MetaTileEntity_Hatch_EnergyMulti(
- 15108, "hatch.energymulti04.tier.13", "UXV 4A Energy Hatch", 13, 4).getStackForm(1L));
- eM_energymulti16_UXV.set(new GT_MetaTileEntity_Hatch_EnergyMulti(
- 15118, "hatch.energymulti16.tier.13", "UXV 16A Energy Hatch", 13, 16).getStackForm(1L));
- eM_energymulti64_UXV.set(new GT_MetaTileEntity_Hatch_EnergyMulti(
- 15128, "hatch.energymulti64.tier.13", "UXV 64A Energy Hatch", 13, 64).getStackForm(1L));
-
- // ===================================================================================================
- // Multi AMP Power OUTPUTS
- // ===================================================================================================
-
-
- eM_dynamomulti4_IV.set(new GT_MetaTileEntity_Hatch_DynamoMulti(
- 15200, "hatch.dynamomulti04.tier.05", "IV 4A Dynamo Hatch", 5, 4).getStackForm(1L));
- eM_dynamomulti16_IV.set(new GT_MetaTileEntity_Hatch_DynamoMulti(
- 15210, "hatch.dynamomulti16.tier.05", "IV 16A Dynamo Hatch", 5, 16).getStackForm(1L));
- eM_dynamomulti64_IV.set(new GT_MetaTileEntity_Hatch_DynamoMulti(
- 15220, "hatch.dynamomulti64.tier.05", "IV 64A Dynamo Hatch", 5, 64).getStackForm(1L));
-
- eM_dynamomulti4_LuV.set(new GT_MetaTileEntity_Hatch_DynamoMulti(
- 15201, "hatch.dynamomulti04.tier.06", "LuV 4A Dynamo Hatch", 6, 4).getStackForm(1L));
- eM_dynamomulti16_LuV.set(new GT_MetaTileEntity_Hatch_DynamoMulti(
- 15211, "hatch.dynamomulti16.tier.06", "LuV 16A Dynamo Hatch", 6, 16).getStackForm(1L));
- eM_dynamomulti64_LuV.set(new GT_MetaTileEntity_Hatch_DynamoMulti(
- 15221, "hatch.dynamomulti64.tier.06", "LuV 64A Dynamo Hatch", 6, 64).getStackForm(1L));
-
- eM_dynamomulti4_ZPM.set(new GT_MetaTileEntity_Hatch_DynamoMulti(
- 15202, "hatch.dynamomulti04.tier.07", "ZPM 4A Dynamo Hatch", 7, 4).getStackForm(1L));
- eM_dynamomulti16_ZPM.set(new GT_MetaTileEntity_Hatch_DynamoMulti(
- 15212, "hatch.dynamomulti16.tier.07", "ZPM 16A Dynamo Hatch", 7, 16).getStackForm(1L));
- eM_dynamomulti64_ZPM.set(new GT_MetaTileEntity_Hatch_DynamoMulti(
- 15222, "hatch.dynamomulti64.tier.07", "ZPM 64A Dynamo Hatch", 7, 64).getStackForm(1L));
-
- eM_dynamomulti4_UV.set(new GT_MetaTileEntity_Hatch_DynamoMulti(
- 15203, "hatch.dynamomulti04.tier.08", "UV 4A Dynamo Hatch", 8, 4).getStackForm(1L));
- eM_dynamomulti16_UV.set(new GT_MetaTileEntity_Hatch_DynamoMulti(
- 15213, "hatch.dynamomulti16.tier.08", "UV 16A Dynamo Hatch", 8, 16).getStackForm(1L));
- eM_dynamomulti64_UV.set(new GT_MetaTileEntity_Hatch_DynamoMulti(
- 15223, "hatch.dynamomulti64.tier.08", "UV 64A Dynamo Hatch", 8, 64).getStackForm(1L));
-
- eM_dynamomulti4_UHV.set(new GT_MetaTileEntity_Hatch_DynamoMulti(
- 15204, "hatch.dynamomulti04.tier.09", "UHV 4A Dynamo Hatch", 9, 4).getStackForm(1L));
- eM_dynamomulti16_UHV.set(new GT_MetaTileEntity_Hatch_DynamoMulti(
- 15214, "hatch.dynamomulti16.tier.09", "UHV 16A Dynamo Hatch", 9, 16).getStackForm(1L));
- eM_dynamomulti64_UHV.set(new GT_MetaTileEntity_Hatch_DynamoMulti(
- 15224, "hatch.dynamomulti64.tier.09", "UHV 64A Dynamo Hatch", 9, 64).getStackForm(1L));
-
- eM_dynamomulti4_UEV.set(new GT_MetaTileEntity_Hatch_DynamoMulti(
- 15205, "hatch.dynamomulti04.tier.10", "UEV 4A Dynamo Hatch", 10, 4).getStackForm(1L));
- eM_dynamomulti16_UEV.set(new GT_MetaTileEntity_Hatch_DynamoMulti(
- 15215, "hatch.dynamomulti16.tier.10", "UEV 16A Dynamo Hatch", 10, 16).getStackForm(1L));
- eM_dynamomulti64_UEV.set(new GT_MetaTileEntity_Hatch_DynamoMulti(
- 15225, "hatch.dynamomulti64.tier.10", "UEV 64A Dynamo Hatch", 10, 64).getStackForm(1L));
-
- eM_dynamomulti4_UIV.set(new GT_MetaTileEntity_Hatch_DynamoMulti(
- 15206, "hatch.dynamomulti04.tier.11", "UIV 4A Dynamo Hatch", 11, 4).getStackForm(1L));
- eM_dynamomulti16_UIV.set(new GT_MetaTileEntity_Hatch_DynamoMulti(
- 15216, "hatch.dynamomulti16.tier.11", "UIV 16A Dynamo Hatch", 11, 16).getStackForm(1L));
- eM_dynamomulti64_UIV.set(new GT_MetaTileEntity_Hatch_DynamoMulti(
- 15226, "hatch.dynamomulti64.tier.11", "UIV 64A Dynamo Hatch", 11, 64).getStackForm(1L));
-
- eM_dynamomulti4_UMV.set(new GT_MetaTileEntity_Hatch_DynamoMulti(
- 15207, "hatch.dynamomulti04.tier.12", "UMV 4A Dynamo Hatch", 12, 4).getStackForm(1L));
- eM_dynamomulti16_UMV.set(new GT_MetaTileEntity_Hatch_DynamoMulti(
- 15217, "hatch.dynamomulti16.tier.12", "UMV 16A Dynamo Hatch", 12, 16).getStackForm(1L));
- eM_dynamomulti64_UMV.set(new GT_MetaTileEntity_Hatch_DynamoMulti(
- 15227, "hatch.dynamomulti64.tier.12", "UMV 64A Dynamo Hatch", 12, 64).getStackForm(1L));
-
- eM_dynamomulti4_UXV.set(new GT_MetaTileEntity_Hatch_DynamoMulti(
- 15208, "hatch.dynamomulti04.tier.13", "UXV 4A Dynamo Hatch", 13, 4).getStackForm(1L));
- eM_dynamomulti16_UXV.set(new GT_MetaTileEntity_Hatch_DynamoMulti(
- 15218, "hatch.dynamomulti16.tier.13", "UXV 16A Dynamo Hatch", 13, 16).getStackForm(1L));
- eM_dynamomulti64_UXV.set(new GT_MetaTileEntity_Hatch_DynamoMulti(
- 15228, "hatch.dynamomulti64.tier.13", "UXV 64A Dynamo Hatch", 13, 64).getStackForm(1L));
-
- // ===================================================================================================
- // MULTIBLOCKS
- // ===================================================================================================
-
- Machine_Multi_Transformer.set(new GT_MetaTileEntity_EM_transformer(15300, "multimachine.em.transformer", "Active Transformer").getStackForm(1L));
-
- Machine_Multi_Switch.set(new GT_MetaTileEntity_EM_switch(15310, "multimachine.em.switch", "Network Switch With QoS").getStackForm(1L));
- Machine_Multi_Computer.set(new GT_MetaTileEntity_EM_computer(15311, "multimachine.em.computer", "Quantum Computer").getStackForm(1L));
- Machine_Multi_Microwave.set(new GT_MetaTileEntity_TM_microwave(15312, "multimachine.tm.microwave", "Microwave Grinder").getStackForm(1L));
- Machine_Multi_DataBank.set(new GT_MetaTileEntity_EM_dataBank(15313, "multimachine.em.databank", "Data Bank").getStackForm(1L));
- Machine_Multi_teslaCoil.set(new GT_MetaTileEntity_TM_teslaCoil(15314, "multimachine.tm.teslaCoil", "Tesla Coil").getStackForm(1L));
-
- Machine_Multi_EMjunction.set(new GT_MetaTileEntity_EM_junction(15320, "multimachine.em.junction", "Matter Junction").getStackForm(1L));
- Machine_Multi_MatterToEM.set(new GT_MetaTileEntity_EM_quantizer(15321, "multimachine.em.mattertoem", "Matter Quantizer").getStackForm(1L));
- Machine_Multi_EMToMatter.set(new GT_MetaTileEntity_EM_dequantizer(15322, "multimachine.em.emtomatter", "Matter Dequantizer").getStackForm(1L));
-
- // COMPAT
- Machine_Multi_EssentiaToEM.set(new GT_MetaTileEntity_EM_essentiaQuantizer(15323, "multimachine.em.essentiatoem", "Essentia Quantizer").getStackForm(1L));
- Machine_Multi_EMToEssentia.set(new GT_MetaTileEntity_EM_essentiaDequantizer(15324, "multimachine.em.emtoessentia", "Essentia Dequantizer").getStackForm(1L));
-
- Machine_Multi_Scanner.set(new GT_MetaTileEntity_EM_scanner(15330, "multimachine.em.scanner", "Elemental Scanner").getStackForm(1L));
- Machine_Multi_Research.set(new GT_MetaTileEntity_EM_research(15331, "multimachine.em.research", "Research station").getStackForm(1L));
-
- Machine_Multi_Collider.set(new GT_MetaTileEntity_EM_collider(15340, "multimachine.em.collider", "Matter Collider").getStackForm(1L));
-
- Machine_Multi_Infuser.set(new GT_MetaTileEntity_EM_infuser(15350, "multimachine.em.infuser", "Energy Infuser").getStackForm(1));
-
- Machine_Multi_EMmachine.set(new GT_MetaTileEntity_EM_machine(15360, "multimachine.em.processing", "Quantum Processing Machine").getStackForm(1L));
-
- Machine_Multi_EMCrafter.set(new GT_MetaTileEntity_EM_crafting(15370, "multimachine.em.crafter", "Matter Assembler").getStackForm(1L));
-
- Machine_Multi_Stabilizer.set(new GT_MetaTileEntity_EM_stabilizer(15380, "multimachine.em.stabilizer", "Elemental Stabilizer").getStackForm(1L));
-
- Machine_Multi_Wormhole.set(new GT_MetaTileEntity_EM_wormhole(15390, "multimachine.em.wormhole", "Wormhole").getStackForm(1L));
-
- Machine_Multi_Decay.set(new GT_MetaTileEntity_EM_decay(15400, "multimachine.em.decay", "Decay Generator").getStackForm(1L));
- Machine_Multi_Annihilation.set(new GT_MetaTileEntity_EM_annihilation(15405, "multimachine.em.annihilation", "Annihilation Generator").getStackForm(1L));
- Machine_Multi_BHG.set(new GT_MetaTileEntity_EM_bhg(15410, "multimachine.em.blackholegenerator", "Black Hole Generator").getStackForm(1L));
-
- // ===================================================================================================
- // Hatches
- // ===================================================================================================
-
- Parametrizer_Hatch.set(new GT_MetaTileEntity_Hatch_Param(15420, "hatch.param.tier.07", "Parametrizer", 7).getStackForm(1L));
- ParametrizerX_Hatch.set(new GT_MetaTileEntity_Hatch_Param(15421, "hatch.param.tier.10", "Parametrizer X", 10).getStackForm(1L));
-
- Uncertainty_Hatch.set(new GT_MetaTileEntity_Hatch_Uncertainty(15430, "hatch.certain.tier.07", "Uncertainty Resolver", 7).getStackForm(1L));
- UncertaintyX_Hatch.set(new GT_MetaTileEntity_Hatch_Uncertainty(15431, "hatch.certain.tier.10", "Uncertainty Resolver X", 10).getStackForm(1L));
-
- dataIn_Hatch.set(new GT_MetaTileEntity_Hatch_InputData(15440, "hatch.datain.tier.07", "Optical Slave Connector", 7).getStackForm(1L));
- dataOut_Hatch.set(new GT_MetaTileEntity_Hatch_OutputData(15441, "hatch.dataout.tier.07", "Optical Master Connector", 7).getStackForm(1L));
- dataInAss_Hatch.set(new GT_MetaTileEntity_Hatch_InputDataItems(15442, "hatch.datainass.tier.07", "Assembly line Slave Connector", 7).getStackForm(1L));
- dataOutAss_Hatch.set(new GT_MetaTileEntity_Hatch_OutputDataItems(15443, "hatch.dataoutass.tier.07", "Data Bank Master Connector", 7).getStackForm(1L));
-
- rack_Hatch.set(new GT_MetaTileEntity_Hatch_Rack(15450, "hatch.rack.tier.08", "Computer Rack", 8, "4 Slot Rack").getStackForm(1L));
- holder_Hatch.set(new GT_MetaTileEntity_Hatch_Holder(15451, "hatch.holder.tier.09", "Object Holder", 8, "For Research Station").getStackForm(1L));
-
- capacitor_Hatch.set(new GT_MetaTileEntity_Hatch_Capacitor(15452, "hatch.capacitor.tier.05", "Capacitor Hatch", 5, "For Tesla Coil").getStackForm(1L));
-
- // ===================================================================================================
- // Pipes
- // ===================================================================================================
-
- EMpipe.set(new GT_MetaTileEntity_Pipe_EM(15460, "pipe.elementalmatter", "Quantum \"Tunnel\"").getStackForm(1L));
-
- DATApipe.set(new GT_MetaTileEntity_Pipe_Data(15470, "pipe.datastream", "Optical Fiber Cable").getStackForm(1L));
-
- // ===================================================================================================
- // Single Blocks
- // ===================================================================================================
-
- Machine_OwnerDetector.set(new GT_MetaTileEntity_OwnerDetector(15480, "machine.tt.ownerdetector", "Owner detector", 3).getStackForm(1L));
- Machine_DataReader.set(new GT_MetaTileEntity_DataReader(15481, "machine.tt.datareader", "Data Reader", 5).getStackForm(1L));
-
- Machine_BuckConverter_IV.set(new GT_MetaTileEntity_BuckConverter(15485, "machine.tt.buck.05", "Insane Buck Converter", 5).getStackForm(1L));
- Machine_BuckConverter_LuV.set(new GT_MetaTileEntity_BuckConverter(15486, "machine.tt.buck.06", "Ludicrous Buck Converter", 6).getStackForm(1L));
- Machine_BuckConverter_ZPM.set(new GT_MetaTileEntity_BuckConverter(15487, "machine.tt.buck.07", "ZPM Voltage Buck Converter", 7).getStackForm(1L));
- Machine_BuckConverter_UV.set(new GT_MetaTileEntity_BuckConverter(15488, "machine.tt.buck.08", "Ultimate Power Buck Converter", 8).getStackForm(1L));
- Machine_BuckConverter_UHV.set(new GT_MetaTileEntity_BuckConverter(15489, "machine.tt.buck.09", "Highly Ultimate Buck Converter", 9).getStackForm(1L));
- Machine_BuckConverter_UEV.set(new GT_MetaTileEntity_BuckConverter(15490, "machine.tt.buck.10", "Extremely Ultimate Buck Converter", 10).getStackForm(1L));
- Machine_BuckConverter_UIV.set(new GT_MetaTileEntity_BuckConverter(15491, "machine.tt.buck.11", "Insanely Ultimate Buck Converter", 11).getStackForm(1L));
- Machine_BuckConverter_UMV.set(new GT_MetaTileEntity_BuckConverter(15492, "machine.tt.buck.12", "Mega Ultimate Buck Converter", 12).getStackForm(1L));
- Machine_BuckConverter_UXV.set(new GT_MetaTileEntity_BuckConverter(15493, "machine.tt.buck.13", "Extended Mega Ultimate Buck Converter", 13).getStackForm(1L));
-
- // ===================================================================================================
- // Debug Stuff
- // ===================================================================================================
- 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));
-
- // ===================================================================================================
- // MetaTE init
- // ===================================================================================================
-
- GT_MetaTileEntity_MultiblockBase_EM.run();
- GT_MetaTileEntity_Hatch_Rack.run();
- GT_MetaTileEntity_EM_computer.run();
- GT_MetaTileEntity_EM_research.run();
- GT_MetaTileEntity_EM_dataBank.run();
- GT_MetaTileEntity_TM_teslaCoil.run();
-
- GT_MetaTileEntity_DataReader.run();
-
- if (!Loader.isModLoaded(Reference.DREAMCRAFT)) {
- new NoDreamCraftMachineLoader().run();
- }
- }
-}
+package com.github.technus.tectech.loader.thing;
+
+import com.github.technus.tectech.Reference;
+import com.github.technus.tectech.compatibility.dreamcraft.NoDreamCraftMachineLoader;
+import com.github.technus.tectech.compatibility.thaumcraft.thing.metaTileEntity.multi.GT_MetaTileEntity_EM_essentiaDequantizer;
+import com.github.technus.tectech.compatibility.thaumcraft.thing.metaTileEntity.multi.GT_MetaTileEntity_EM_essentiaQuantizer;
+import com.github.technus.tectech.thing.metaTileEntity.hatch.*;
+import com.github.technus.tectech.thing.metaTileEntity.multi.*;
+import com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_MetaTileEntity_MultiblockBase_EM;
+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.single.*;
+import cpw.mods.fml.common.Loader;
+
+import static com.github.technus.tectech.thing.CustomItemList.*;
+
+/**
+ * Created by danie_000 on 16.11.2016.
+ */
+public class MachineLoader implements Runnable {
+ @Override
+ public void run() {
+ // ===================================================================================================
+ // eM IN
+ // ===================================================================================================
+
+ eM_in_UV.set(new GT_MetaTileEntity_Hatch_InputElemental(
+ 15000, "hatch.emin.tier.08", "UV Elemental Input Hatch", 8).getStackForm(1L));
+
+ eM_in_UHV.set(new GT_MetaTileEntity_Hatch_InputElemental(
+ 15001, "hatch.emin.tier.09", "UHV Elemental Input Hatch", 9).getStackForm(1L));
+
+ eM_in_UEV.set(new GT_MetaTileEntity_Hatch_InputElemental(
+ 15002, "hatch.emin.tier.10", "UEV Elemental Input Hatch", 10).getStackForm(1L));
+
+ eM_in_UIV.set(new GT_MetaTileEntity_Hatch_InputElemental(
+ 15003, "hatch.emin.tier.11", "UIV Elemental Input Hatch", 11).getStackForm(1L));
+
+ eM_in_UMV.set(new GT_MetaTileEntity_Hatch_InputElemental(
+ 15004, "hatch.emin.tier.12", "UMV Elemental Input Hatch", 12).getStackForm(1L));
+
+ eM_in_UXV.set(new GT_MetaTileEntity_Hatch_InputElemental(
+ 15005, "hatch.emin.tier.13", "UXV Elemental Input Hatch", 13).getStackForm(1L));
+
+ // ===================================================================================================
+ // eM OUT
+ // ===================================================================================================
+
+ eM_out_UV.set(new GT_MetaTileEntity_Hatch_OutputElemental(
+ 15010, "hatch.emout.tier.08", "UV Elemental Output Hatch", 8).getStackForm(1L));
+
+ eM_out_UHV.set(new GT_MetaTileEntity_Hatch_OutputElemental(
+ 15011, "hatch.emout.tier.09", "UHV Elemental Output Hatch", 9).getStackForm(1L));
+
+ eM_out_UEV.set(new GT_MetaTileEntity_Hatch_OutputElemental(
+ 15012, "hatch.emout.tier.10", "UEV Elemental Output Hatch", 10).getStackForm(1L));
+
+ eM_out_UIV.set(new GT_MetaTileEntity_Hatch_OutputElemental(
+ 15013, "hatch.emout.tier.11", "UIV Elemental Output Hatch", 11).getStackForm(1L));
+
+ eM_out_UMV.set(new GT_MetaTileEntity_Hatch_OutputElemental(
+ 15014, "hatch.emout.tier.12", "UMV Elemental Output Hatch", 12).getStackForm(1L));
+
+ eM_out_UXV.set(new GT_MetaTileEntity_Hatch_OutputElemental(
+ 15015, "hatch.emout.tier.13", "UXV Elemental Output Hatch", 13).getStackForm(1L));
+
+ // ===================================================================================================
+ // eM Waste OUT
+ // ===================================================================================================
+
+ eM_muffler_UV.set(new GT_MetaTileEntity_Hatch_OverflowElemental(
+ 15020, "hatch.emmuffler.tier.08", "UV Overflow Output Hatch", 8, 1e10f).getStackForm(1L));
+
+ eM_muffler_UHV.set(new GT_MetaTileEntity_Hatch_OverflowElemental(
+ 15021, "hatch.emmuffler.tier.09", "UHV Overflow Output Hatch", 9, 5e10f).getStackForm(1L));
+
+ eM_muffler_UEV.set(new GT_MetaTileEntity_Hatch_OverflowElemental(
+ 15022, "hatch.emmuffler.tier.10", "UEV Overflow Output Hatch", 10, 25e10f).getStackForm(1L));
+
+ eM_muffler_UIV.set(new GT_MetaTileEntity_Hatch_OverflowElemental(
+ 15023, "hatch.emmuffler.tier.11", "UIV Overflow Output Hatch", 11, 125e10f).getStackForm(1L));
+
+ eM_muffler_UMV.set(new GT_MetaTileEntity_Hatch_OverflowElemental(
+ 15024, "hatch.emmuffler.tier.12", "UMV Overflow Output Hatch", 12, 125e11f).getStackForm(1L));
+
+ eM_muffler_UXV.set(new GT_MetaTileEntity_Hatch_OverflowElemental(
+ 15025, "hatch.emmuffler.tier.13", "UXV Overflow Output Hatch", 13, 125e12f).getStackForm(1L));
+
+ // ===================================================================================================
+ // Multi AMP Power INPUTS
+ // ===================================================================================================
+
+ eM_energymulti4_IV.set(new GT_MetaTileEntity_Hatch_EnergyMulti(
+ 15100, "hatch.energymulti04.tier.05", "IV 4A Energy Hatch", 5, 4).getStackForm(1L));
+ eM_energymulti16_IV.set(new GT_MetaTileEntity_Hatch_EnergyMulti(
+ 15110, "hatch.energymulti16.tier.05", "IV 16A Energy Hatch", 5, 16).getStackForm(1L));
+ eM_energymulti64_IV.set(new GT_MetaTileEntity_Hatch_EnergyMulti(
+ 15120, "hatch.energymulti64.tier.05", "IV 64A Energy Hatch", 5, 64).getStackForm(1L));
+
+ eM_energymulti4_LuV.set(new GT_MetaTileEntity_Hatch_EnergyMulti(
+ 15101, "hatch.energymulti04.tier.06", "LuV 4A Energy Hatch", 6, 4).getStackForm(1L));
+ eM_energymulti16_LuV.set(new GT_MetaTileEntity_Hatch_EnergyMulti(
+ 15111, "hatch.energymulti16.tier.06", "LuV 16A Energy Hatch", 6, 16).getStackForm(1L));
+ eM_energymulti64_LuV.set(new GT_MetaTileEntity_Hatch_EnergyMulti(
+ 15121, "hatch.energymulti64.tier.06", "LuV 64A Energy Hatch", 6, 64).getStackForm(1L));
+
+ eM_energymulti4_ZPM.set(new GT_MetaTileEntity_Hatch_EnergyMulti(
+ 15102, "hatch.energymulti04.tier.07", "ZPM 4A Energy Hatch", 7, 4).getStackForm(1L));
+ eM_energymulti16_ZPM.set(new GT_MetaTileEntity_Hatch_EnergyMulti(
+ 15112, "hatch.energymulti16.tier.07", "ZPM 16A Energy Hatch", 7, 16).getStackForm(1L));
+ eM_energymulti64_ZPM.set(new GT_MetaTileEntity_Hatch_EnergyMulti(
+ 15122, "hatch.energymulti64.tier.07", "ZPM 64A Energy Hatch", 7, 64).getStackForm(1L));
+
+ eM_energymulti4_UV.set(new GT_MetaTileEntity_Hatch_EnergyMulti(
+ 15103, "hatch.energymulti04.tier.08", "UV 4A Energy Hatch", 8, 4).getStackForm(1L));
+ eM_energymulti16_UV.set(new GT_MetaTileEntity_Hatch_EnergyMulti(
+ 15113, "hatch.energymulti16.tier.08", "UV 16A Energy Hatch", 8, 16).getStackForm(1L));
+ eM_energymulti64_UV.set(new GT_MetaTileEntity_Hatch_EnergyMulti(
+ 15123, "hatch.energymulti64.tier.08", "UV 64A Energy Hatch", 8, 64).getStackForm(1L));
+
+ eM_energymulti4_UHV.set(new GT_MetaTileEntity_Hatch_EnergyMulti(
+ 15104, "hatch.energymulti04.tier.09", "UHV 4A Energy Hatch", 9, 4).getStackForm(1L));
+ eM_energymulti16_UHV.set(new GT_MetaTileEntity_Hatch_EnergyMulti(
+ 15114, "hatch.energymulti16.tier.09", "UHV 16A Energy Hatch", 9, 16).getStackForm(1L));
+ eM_energymulti64_UHV.set(new GT_MetaTileEntity_Hatch_EnergyMulti(
+ 15124, "hatch.energymulti64.tier.09", "UHV 64A Energy Hatch", 9, 64).getStackForm(1L));
+
+ eM_energymulti4_UEV.set(new GT_MetaTileEntity_Hatch_EnergyMulti(
+ 15105, "hatch.energymulti04.tier.10", "UEV 4A Energy Hatch", 10, 4).getStackForm(1L));
+ eM_energymulti16_UEV.set(new GT_MetaTileEntity_Hatch_EnergyMulti(
+ 15115, "hatch.energymulti16.tier.10", "UEV 16A Energy Hatch", 10, 16).getStackForm(1L));
+ eM_energymulti64_UEV.set(new GT_MetaTileEntity_Hatch_EnergyMulti(
+ 15125, "hatch.energymulti64.tier.10", "UEV 64A Energy Hatch", 10, 64).getStackForm(1L));
+
+ eM_energymulti4_UIV.set(new GT_MetaTileEntity_Hatch_EnergyMulti(
+ 15106, "hatch.energymulti04.tier.11", "UIV 4A Energy Hatch", 11, 4).getStackForm(1L));
+ eM_energymulti16_UIV.set(new GT_MetaTileEntity_Hatch_EnergyMulti(
+ 15116, "hatch.energymulti16.tier.11", "UIV 16A Energy Hatch", 11, 16).getStackForm(1L));
+ eM_energymulti64_UIV.set(new GT_MetaTileEntity_Hatch_EnergyMulti(
+ 15126, "hatch.energymulti64.tier.11", "UIV 64A Energy Hatch", 11, 64).getStackForm(1L));
+
+ eM_energymulti4_UMV.set(new GT_MetaTileEntity_Hatch_EnergyMulti(
+ 15107, "hatch.energymulti04.tier.12", "UMV 4A Energy Hatch", 12, 4).getStackForm(1L));
+ eM_energymulti16_UMV.set(new GT_MetaTileEntity_Hatch_EnergyMulti(
+ 15117, "hatch.energymulti16.tier.12", "UMV 16A Energy Hatch", 12, 16).getStackForm(1L));
+ eM_energymulti64_UMV.set(new GT_MetaTileEntity_Hatch_EnergyMulti(
+ 15127, "hatch.energymulti64.tier.12", "UMV 64A Energy Hatch", 12, 64).getStackForm(1L));
+
+ eM_energymulti4_UXV.set(new GT_MetaTileEntity_Hatch_EnergyMulti(
+ 15108, "hatch.energymulti04.tier.13", "UXV 4A Energy Hatch", 13, 4).getStackForm(1L));
+ eM_energymulti16_UXV.set(new GT_MetaTileEntity_Hatch_EnergyMulti(
+ 15118, "hatch.energymulti16.tier.13", "UXV 16A Energy Hatch", 13, 16).getStackForm(1L));
+ eM_energymulti64_UXV.set(new GT_MetaTileEntity_Hatch_EnergyMulti(
+ 15128, "hatch.energymulti64.tier.13", "UXV 64A Energy Hatch", 13, 64).getStackForm(1L));
+
+ // ===================================================================================================
+ // Multi AMP Power OUTPUTS
+ // ===================================================================================================
+
+
+ eM_dynamomulti4_IV.set(new GT_MetaTileEntity_Hatch_DynamoMulti(
+ 15200, "hatch.dynamomulti04.tier.05", "IV 4A Dynamo Hatch", 5, 4).getStackForm(1L));
+ eM_dynamomulti16_IV.set(new GT_MetaTileEntity_Hatch_DynamoMulti(
+ 15210, "hatch.dynamomulti16.tier.05", "IV 16A Dynamo Hatch", 5, 16).getStackForm(1L));
+ eM_dynamomulti64_IV.set(new GT_MetaTileEntity_Hatch_DynamoMulti(
+ 15220, "hatch.dynamomulti64.tier.05", "IV 64A Dynamo Hatch", 5, 64).getStackForm(1L));
+
+ eM_dynamomulti4_LuV.set(new GT_MetaTileEntity_Hatch_DynamoMulti(
+ 15201, "hatch.dynamomulti04.tier.06", "LuV 4A Dynamo Hatch", 6, 4).getStackForm(1L));
+ eM_dynamomulti16_LuV.set(new GT_MetaTileEntity_Hatch_DynamoMulti(
+ 15211, "hatch.dynamomulti16.tier.06", "LuV 16A Dynamo Hatch", 6, 16).getStackForm(1L));
+ eM_dynamomulti64_LuV.set(new GT_MetaTileEntity_Hatch_DynamoMulti(
+ 15221, "hatch.dynamomulti64.tier.06", "LuV 64A Dynamo Hatch", 6, 64).getStackForm(1L));
+
+ eM_dynamomulti4_ZPM.set(new GT_MetaTileEntity_Hatch_DynamoMulti(
+ 15202, "hatch.dynamomulti04.tier.07", "ZPM 4A Dynamo Hatch", 7, 4).getStackForm(1L));
+ eM_dynamomulti16_ZPM.set(new GT_MetaTileEntity_Hatch_DynamoMulti(
+ 15212, "hatch.dynamomulti16.tier.07", "ZPM 16A Dynamo Hatch", 7, 16).getStackForm(1L));
+ eM_dynamomulti64_ZPM.set(new GT_MetaTileEntity_Hatch_DynamoMulti(
+ 15222, "hatch.dynamomulti64.tier.07", "ZPM 64A Dynamo Hatch", 7, 64).getStackForm(1L));
+
+ eM_dynamomulti4_UV.set(new GT_MetaTileEntity_Hatch_DynamoMulti(
+ 15203, "hatch.dynamomulti04.tier.08", "UV 4A Dynamo Hatch", 8, 4).getStackForm(1L));
+ eM_dynamomulti16_UV.set(new GT_MetaTileEntity_Hatch_DynamoMulti(
+ 15213, "hatch.dynamomulti16.tier.08", "UV 16A Dynamo Hatch", 8, 16).getStackForm(1L));
+ eM_dynamomulti64_UV.set(new GT_MetaTileEntity_Hatch_DynamoMulti(
+ 15223, "hatch.dynamomulti64.tier.08", "UV 64A Dynamo Hatch", 8, 64).getStackForm(1L));
+
+ eM_dynamomulti4_UHV.set(new GT_MetaTileEntity_Hatch_DynamoMulti(
+ 15204, "hatch.dynamomulti04.tier.09", "UHV 4A Dynamo Hatch", 9, 4).getStackForm(1L));
+ eM_dynamomulti16_UHV.set(new GT_MetaTileEntity_Hatch_DynamoMulti(
+ 15214, "hatch.dynamomulti16.tier.09", "UHV 16A Dynamo Hatch", 9, 16).getStackForm(1L));
+ eM_dynamomulti64_UHV.set(new GT_MetaTileEntity_Hatch_DynamoMulti(
+ 15224, "hatch.dynamomulti64.tier.09", "UHV 64A Dynamo Hatch", 9, 64).getStackForm(1L));
+
+ eM_dynamomulti4_UEV.set(new GT_MetaTileEntity_Hatch_DynamoMulti(
+ 15205, "hatch.dynamomulti04.tier.10", "UEV 4A Dynamo Hatch", 10, 4).getStackForm(1L));
+ eM_dynamomulti16_UEV.set(new GT_MetaTileEntity_Hatch_DynamoMulti(
+ 15215, "hatch.dynamomulti16.tier.10", "UEV 16A Dynamo Hatch", 10, 16).getStackForm(1L));
+ eM_dynamomulti64_UEV.set(new GT_MetaTileEntity_Hatch_DynamoMulti(
+ 15225, "hatch.dynamomulti64.tier.10", "UEV 64A Dynamo Hatch", 10, 64).getStackForm(1L));
+
+ eM_dynamomulti4_UIV.set(new GT_MetaTileEntity_Hatch_DynamoMulti(
+ 15206, "hatch.dynamomulti04.tier.11", "UIV 4A Dynamo Hatch", 11, 4).getStackForm(1L));
+ eM_dynamomulti16_UIV.set(new GT_MetaTileEntity_Hatch_DynamoMulti(
+ 15216, "hatch.dynamomulti16.tier.11", "UIV 16A Dynamo Hatch", 11, 16).getStackForm(1L));
+ eM_dynamomulti64_UIV.set(new GT_MetaTileEntity_Hatch_DynamoMulti(
+ 15226, "hatch.dynamomulti64.tier.11", "UIV 64A Dynamo Hatch", 11, 64).getStackForm(1L));
+
+ eM_dynamomulti4_UMV.set(new GT_MetaTileEntity_Hatch_DynamoMulti(
+ 15207, "hatch.dynamomulti04.tier.12", "UMV 4A Dynamo Hatch", 12, 4).getStackForm(1L));
+ eM_dynamomulti16_UMV.set(new GT_MetaTileEntity_Hatch_DynamoMulti(
+ 15217, "hatch.dynamomulti16.tier.12", "UMV 16A Dynamo Hatch", 12, 16).getStackForm(1L));
+ eM_dynamomulti64_UMV.set(new GT_MetaTileEntity_Hatch_DynamoMulti(
+ 15227, "hatch.dynamomulti64.tier.12", "UMV 64A Dynamo Hatch", 12, 64).getStackForm(1L));
+
+ eM_dynamomulti4_UXV.set(new GT_MetaTileEntity_Hatch_DynamoMulti(
+ 15208, "hatch.dynamomulti04.tier.13", "UXV 4A Dynamo Hatch", 13, 4).getStackForm(1L));
+ eM_dynamomulti16_UXV.set(new GT_MetaTileEntity_Hatch_DynamoMulti(
+ 15218, "hatch.dynamomulti16.tier.13", "UXV 16A Dynamo Hatch", 13, 16).getStackForm(1L));
+ eM_dynamomulti64_UXV.set(new GT_MetaTileEntity_Hatch_DynamoMulti(
+ 15228, "hatch.dynamomulti64.tier.13", "UXV 64A Dynamo Hatch", 13, 64).getStackForm(1L));
+
+ // ===================================================================================================
+ // MULTIBLOCKS
+ // ===================================================================================================
+
+ Machine_Multi_Transformer.set(new GT_MetaTileEntity_EM_transformer(15300, "multimachine.em.transformer", "Active Transformer").getStackForm(1L));
+
+ Machine_Multi_Switch.set(new GT_MetaTileEntity_EM_switch(15310, "multimachine.em.switch", "Network Switch With QoS").getStackForm(1L));
+ Machine_Multi_Computer.set(new GT_MetaTileEntity_EM_computer(15311, "multimachine.em.computer", "Quantum Computer").getStackForm(1L));
+ Machine_Multi_Microwave.set(new GT_MetaTileEntity_TM_microwave(15312, "multimachine.tm.microwave", "Microwave Grinder").getStackForm(1L));
+ Machine_Multi_DataBank.set(new GT_MetaTileEntity_EM_dataBank(15313, "multimachine.em.databank", "Data Bank").getStackForm(1L));
+ Machine_Multi_teslaCoil.set(new GT_MetaTileEntity_TM_teslaCoil(15314, "multimachine.tm.teslaCoil", "Tesla Coil").getStackForm(1L));
+
+ Machine_Multi_EMjunction.set(new GT_MetaTileEntity_EM_junction(15320, "multimachine.em.junction", "Matter Junction").getStackForm(1L));
+ Machine_Multi_MatterToEM.set(new GT_MetaTileEntity_EM_quantizer(15321, "multimachine.em.mattertoem", "Matter Quantizer").getStackForm(1L));
+ Machine_Multi_EMToMatter.set(new GT_MetaTileEntity_EM_dequantizer(15322, "multimachine.em.emtomatter", "Matter Dequantizer").getStackForm(1L));
+
+ // COMPAT
+ Machine_Multi_EssentiaToEM.set(new GT_MetaTileEntity_EM_essentiaQuantizer(15323, "multimachine.em.essentiatoem", "Essentia Quantizer").getStackForm(1L));
+ Machine_Multi_EMToEssentia.set(new GT_MetaTileEntity_EM_essentiaDequantizer(15324, "multimachine.em.emtoessentia", "Essentia Dequantizer").getStackForm(1L));
+
+ Machine_Multi_Scanner.set(new GT_MetaTileEntity_EM_scanner(15330, "multimachine.em.scanner", "Elemental Scanner").getStackForm(1L));
+ Machine_Multi_Research.set(new GT_MetaTileEntity_EM_research(15331, "multimachine.em.research", "Research station").getStackForm(1L));
+
+ Machine_Multi_Collider.set(new GT_MetaTileEntity_EM_collider(15340, "multimachine.em.collider", "Matter Collider").getStackForm(1L));
+
+ Machine_Multi_Infuser.set(new GT_MetaTileEntity_EM_infuser(15350, "multimachine.em.infuser", "Energy Infuser").getStackForm(1));
+
+ Machine_Multi_EMmachine.set(new GT_MetaTileEntity_EM_machine(15360, "multimachine.em.processing", "Quantum Processing Machine").getStackForm(1L));
+
+ Machine_Multi_EMCrafter.set(new GT_MetaTileEntity_EM_crafting(15370, "multimachine.em.crafter", "Matter Assembler").getStackForm(1L));
+
+ Machine_Multi_Stabilizer.set(new GT_MetaTileEntity_EM_stabilizer(15380, "multimachine.em.stabilizer", "Elemental Stabilizer").getStackForm(1L));
+
+ Machine_Multi_Wormhole.set(new GT_MetaTileEntity_EM_wormhole(15390, "multimachine.em.wormhole", "Wormhole").getStackForm(1L));
+
+ Machine_Multi_Decay.set(new GT_MetaTileEntity_EM_decay(15400, "multimachine.em.decay", "Decay Generator").getStackForm(1L));
+ Machine_Multi_Annihilation.set(new GT_MetaTileEntity_EM_annihilation(15405, "multimachine.em.annihilation", "Annihilation Generator").getStackForm(1L));
+ Machine_Multi_BHG.set(new GT_MetaTileEntity_EM_bhg(15410, "multimachine.em.blackholegenerator", "Black Hole Generator").getStackForm(1L));
+
+ // ===================================================================================================
+ // Hatches
+ // ===================================================================================================
+
+ Parametrizer_Hatch.set(new GT_MetaTileEntity_Hatch_Param(15420, "hatch.param.tier.07", "Parametrizer", 7).getStackForm(1L));
+ ParametrizerX_Hatch.set(new GT_MetaTileEntity_Hatch_Param(15421, "hatch.param.tier.10", "Parametrizer X", 10).getStackForm(1L));
+
+ Uncertainty_Hatch.set(new GT_MetaTileEntity_Hatch_Uncertainty(15430, "hatch.certain.tier.07", "Uncertainty Resolver", 7).getStackForm(1L));
+ UncertaintyX_Hatch.set(new GT_MetaTileEntity_Hatch_Uncertainty(15431, "hatch.certain.tier.10", "Uncertainty Resolver X", 10).getStackForm(1L));
+
+ dataIn_Hatch.set(new GT_MetaTileEntity_Hatch_InputData(15440, "hatch.datain.tier.07", "Optical Slave Connector", 7).getStackForm(1L));
+ dataOut_Hatch.set(new GT_MetaTileEntity_Hatch_OutputData(15441, "hatch.dataout.tier.07", "Optical Master Connector", 7).getStackForm(1L));
+ dataInAss_Hatch.set(new GT_MetaTileEntity_Hatch_InputDataItems(15442, "hatch.datainass.tier.07", "Assembly line Slave Connector", 7).getStackForm(1L));
+ dataOutAss_Hatch.set(new GT_MetaTileEntity_Hatch_OutputDataItems(15443, "hatch.dataoutass.tier.07", "Data Bank Master Connector", 7).getStackForm(1L));
+
+ rack_Hatch.set(new GT_MetaTileEntity_Hatch_Rack(15450, "hatch.rack.tier.08", "Computer Rack", 8, "4 Slot Rack").getStackForm(1L));
+ holder_Hatch.set(new GT_MetaTileEntity_Hatch_Holder(15451, "hatch.holder.tier.09", "Object Holder", 8, "For Research Station").getStackForm(1L));
+
+ capacitor_Hatch.set(new GT_MetaTileEntity_Hatch_Capacitor(15452, "hatch.capacitor.tier.05", "Capacitor Hatch", 5, "For Tesla Coil").getStackForm(1L));
+
+ // ===================================================================================================
+ // Pipes
+ // ===================================================================================================
+
+ EMpipe.set(new GT_MetaTileEntity_Pipe_EM(15460, "pipe.elementalmatter", "Quantum \"Tunnel\"").getStackForm(1L));
+
+ DATApipe.set(new GT_MetaTileEntity_Pipe_Data(15470, "pipe.datastream", "Optical Fiber Cable").getStackForm(1L));
+
+ // ===================================================================================================
+ // Single Blocks
+ // ===================================================================================================
+
+ Machine_OwnerDetector.set(new GT_MetaTileEntity_OwnerDetector(15480, "machine.tt.ownerdetector", "Owner detector", 3).getStackForm(1L));
+ Machine_DataReader.set(new GT_MetaTileEntity_DataReader(15481, "machine.tt.datareader", "Data Reader", 5).getStackForm(1L));
+
+ // ===================================================================================================
+ // Buck Converters
+ // ===================================================================================================
+
+ Machine_BuckConverter_IV.set(new GT_MetaTileEntity_BuckConverter(15485, "machine.tt.buck.05", "Insane Buck Converter", 5).getStackForm(1L));
+ Machine_BuckConverter_LuV.set(new GT_MetaTileEntity_BuckConverter(15486, "machine.tt.buck.06", "Ludicrous Buck Converter", 6).getStackForm(1L));
+ Machine_BuckConverter_ZPM.set(new GT_MetaTileEntity_BuckConverter(15487, "machine.tt.buck.07", "ZPM Voltage Buck Converter", 7).getStackForm(1L));
+ Machine_BuckConverter_UV.set(new GT_MetaTileEntity_BuckConverter(15488, "machine.tt.buck.08", "Ultimate Power Buck Converter", 8).getStackForm(1L));
+ Machine_BuckConverter_UHV.set(new GT_MetaTileEntity_BuckConverter(15489, "machine.tt.buck.09", "Highly Ultimate Buck Converter", 9).getStackForm(1L));
+ Machine_BuckConverter_UEV.set(new GT_MetaTileEntity_BuckConverter(15490, "machine.tt.buck.10", "Extremely Ultimate Buck Converter", 10).getStackForm(1L));
+ Machine_BuckConverter_UIV.set(new GT_MetaTileEntity_BuckConverter(15491, "machine.tt.buck.11", "Insanely Ultimate Buck Converter", 11).getStackForm(1L));
+ Machine_BuckConverter_UMV.set(new GT_MetaTileEntity_BuckConverter(15492, "machine.tt.buck.12", "Mega Ultimate Buck Converter", 12).getStackForm(1L));
+ Machine_BuckConverter_UXV.set(new GT_MetaTileEntity_BuckConverter(15493, "machine.tt.buck.13", "Extended Mega Ultimate Buck Converter", 13).getStackForm(1L));
+
+ // ===================================================================================================
+ // Tesla Transceiver
+ // ===================================================================================================
+
+ Machine_TeslaCoil_LV_1A.set(new GT_MetaTileEntity_TeslaCoil(16000, "machine.tt.tesla.01", "Basic Tesla Transceiver", 1,1).getStackForm(1L));
+ Machine_TeslaCoil_MV_1A.set(new GT_MetaTileEntity_TeslaCoil(16001, "machine.tt.tesla.02", "Advanced Tesla Transceiver", 2, 1).getStackForm(1L));
+ Machine_TeslaCoil_HV_1A.set(new GT_MetaTileEntity_TeslaCoil(16002, "machine.tt.tesla.03", "Epyc Tesla Transceiver", 3, 1).getStackForm(1L));
+ Machine_TeslaCoil_EV_1A.set(new GT_MetaTileEntity_TeslaCoil(16003, "machine.tt.tesla.04", "Ultimate Power Tesla Transceiver", 4, 1).getStackForm(1L));
+ Machine_TeslaCoil_IV_1A.set(new GT_MetaTileEntity_TeslaCoil(16004, "machine.tt.tesla.05", "Insane Tesla Transceiver", 5, 1).getStackForm(1L));
+
+ Machine_TeslaCoil_LV_4A.set(new GT_MetaTileEntity_TeslaCoil(16005, "machine.tt.tesla.01", "Basic Tesla Transceiver", 1,4).getStackForm(1L));
+ Machine_TeslaCoil_MV_4A.set(new GT_MetaTileEntity_TeslaCoil(16006, "machine.tt.tesla.02", "Advanced Tesla Transceiver", 2, 4).getStackForm(1L));
+ Machine_TeslaCoil_HV_4A.set(new GT_MetaTileEntity_TeslaCoil(16007, "machine.tt.tesla.03", "Epyc Tesla Transceiver", 3, 4).getStackForm(1L));
+ Machine_TeslaCoil_EV_4A.set(new GT_MetaTileEntity_TeslaCoil(16008, "machine.tt.tesla.04", "Ultimate Power Tesla Transceiver", 4, 4).getStackForm(1L));
+ Machine_TeslaCoil_IV_4A.set(new GT_MetaTileEntity_TeslaCoil(16009, "machine.tt.tesla.05", "Insane Tesla Transceiver", 5, 4).getStackForm(1L));
+
+ Machine_TeslaCoil_LV_9A.set(new GT_MetaTileEntity_TeslaCoil(16010, "machine.tt.tesla.01", "Basic Tesla Transceiver", 1,9).getStackForm(1L));
+ Machine_TeslaCoil_MV_9A.set(new GT_MetaTileEntity_TeslaCoil(16011, "machine.tt.tesla.02", "Advanced Tesla Transceiver", 2, 9).getStackForm(1L));
+ Machine_TeslaCoil_HV_9A.set(new GT_MetaTileEntity_TeslaCoil(16012, "machine.tt.tesla.03", "Epyc Tesla Transceiver", 3, 9).getStackForm(1L));
+ Machine_TeslaCoil_EV_9A.set(new GT_MetaTileEntity_TeslaCoil(16013, "machine.tt.tesla.04", "Ultimate Power Tesla Transceiver", 4, 9).getStackForm(1L));
+ Machine_TeslaCoil_IV_9A.set(new GT_MetaTileEntity_TeslaCoil(16014, "machine.tt.tesla.05", "Insane Tesla Transceiver", 5, 9).getStackForm(1L));
+
+ Machine_TeslaCoil_LV_16A.set(new GT_MetaTileEntity_TeslaCoil(16015, "machine.tt.tesla.01", "Basic Tesla Transceiver", 1,16).getStackForm(1L));
+ Machine_TeslaCoil_MV_16A.set(new GT_MetaTileEntity_TeslaCoil(16016, "machine.tt.tesla.02", "Advanced Tesla Transceiver", 2, 16).getStackForm(1L));
+ Machine_TeslaCoil_HV_16A.set(new GT_MetaTileEntity_TeslaCoil(16017, "machine.tt.tesla.03", "Epyc Tesla Transceiver", 3, 16).getStackForm(1L));
+ Machine_TeslaCoil_EV_16A.set(new GT_MetaTileEntity_TeslaCoil(16018, "machine.tt.tesla.04", "Ultimate Power Tesla Transceiver", 4, 16).getStackForm(1L));
+ Machine_TeslaCoil_IV_16A.set(new GT_MetaTileEntity_TeslaCoil(16019, "machine.tt.tesla.05", "Insane Tesla Transceiver", 5, 16).getStackForm(1L));
+
+ // ===================================================================================================
+ // Debug Stuff
+ // ===================================================================================================
+ 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));
+
+ // ===================================================================================================
+ // MetaTE init
+ // ===================================================================================================
+
+ GT_MetaTileEntity_MultiblockBase_EM.run();
+ GT_MetaTileEntity_Hatch_Rack.run();
+ GT_MetaTileEntity_EM_computer.run();
+ GT_MetaTileEntity_EM_research.run();
+ GT_MetaTileEntity_EM_dataBank.run();
+ GT_MetaTileEntity_TM_teslaCoil.run();
+
+ GT_MetaTileEntity_DataReader.run();
+
+ if (!Loader.isModLoaded(Reference.DREAMCRAFT)) {
+ new NoDreamCraftMachineLoader().run();
+ }
+ }
+}
diff --git a/src/main/java/com/github/technus/tectech/loader/thing/ThingsLoader.java b/src/main/java/com/github/technus/tectech/loader/thing/ThingsLoader.java
index b422688a70..e9967a3e62 100644
--- a/src/main/java/com/github/technus/tectech/loader/thing/ThingsLoader.java
+++ b/src/main/java/com/github/technus/tectech/loader/thing/ThingsLoader.java
@@ -53,6 +53,9 @@ public class ThingsLoader implements Runnable {
ReactorSimBlock.run();
TecTech.LOGGER.info("Reactor Simulator registered");
+ TeslaCoilCover.run();
+ TecTech.LOGGER.info("Covers Items registered");
+
ConstructableTriggerItem.run();
FrontRotationTriggerItem.run();
ParametrizerMemoryCard.run();
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 a062693db4..5e45ead4f8 100644
--- a/src/main/java/com/github/technus/tectech/thing/CustomItemList.java
+++ b/src/main/java/com/github/technus/tectech/thing/CustomItemList.java
@@ -1,231 +1,235 @@
-package com.github.technus.tectech.thing;
-
-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.block.Block;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemStack;
-
-import static gregtech.api.enums.GT_Values.W;
-
-public enum CustomItemList implements IItemContainer {
- Casing_UEV,Casing_UIV,Casing_UMV,Casing_UXV,Casing_OPV,Casing_MAXV,
- Hull_UEV,Hull_UIV,Hull_UMV,Hull_UXV,Hull_OPV,Hull_MAXV,
- Transformer_UEV_UHV,Transformer_UIV_UEV,Transformer_UMV_UIV,
- Transformer_UXV_UMV,Transformer_OPV_UXV,Transformer_MAXV_OPV,
- WetTransformer_LV_ULV,WetTransformer_MV_LV,WetTransformer_HV_MV,WetTransformer_EV_HV,
- WetTransformer_IV_EV,WetTransformer_LuV_IV,WetTransformer_ZPM_LuV,WetTransformer_UV_ZPM,
- WetTransformer_UHV_UV,WetTransformer_UEV_UHV,WetTransformer_UIV_UEV,WetTransformer_UMV_UIV,
- WetTransformer_UXV_UMV,WetTransformer_OPV_UXV,WetTransformer_MAXV_OPV,
-
- 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,
- 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,
-
- eM_dynamomulti4_IV, eM_dynamomulti16_IV, eM_dynamomulti64_IV,
- eM_dynamomulti4_LuV, eM_dynamomulti16_LuV, eM_dynamomulti64_LuV,
- eM_dynamomulti4_ZPM, eM_dynamomulti16_ZPM, eM_dynamomulti64_ZPM,
- eM_dynamomulti4_UV, eM_dynamomulti16_UV, eM_dynamomulti64_UV,
- eM_dynamomulti4_UHV, eM_dynamomulti16_UHV, eM_dynamomulti64_UHV,
- eM_dynamomulti4_UEV, eM_dynamomulti16_UEV, eM_dynamomulti64_UEV,
- 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_energymulti4_IV, eM_energymulti16_IV, eM_energymulti64_IV,
- eM_energymulti4_LuV, eM_energymulti16_LuV, eM_energymulti64_LuV,
- eM_energymulti4_ZPM, eM_energymulti16_ZPM, eM_energymulti64_ZPM,
- eM_energymulti4_UV, eM_energymulti16_UV, eM_energymulti64_UV,
- eM_energymulti4_UHV, eM_energymulti16_UHV, eM_energymulti64_UHV,
- eM_energymulti4_UEV, eM_energymulti16_UEV, eM_energymulti64_UEV,
- 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_in_UV, eM_in_UHV, eM_in_UEV, eM_in_UIV, eM_in_UMV, eM_in_UXV,
- eM_out_UV, eM_out_UHV, eM_out_UEV, eM_out_UIV, eM_out_UMV, eM_out_UXV,
- eM_muffler_UV, eM_muffler_UHV, eM_muffler_UEV, eM_muffler_UIV, eM_muffler_UMV, eM_muffler_UXV,
- Parametrizer_Hatch, ParametrizerX_Hatch, Uncertainty_Hatch, UncertaintyX_Hatch, dataIn_Hatch, dataOut_Hatch, dataInAss_Hatch, dataOutAss_Hatch,
- eM_Containment, eM_Containment_Field, eM_Containment_Advanced, eM_Coil, eM_Teleportation, eM_Dimensional, eM_Ultimate_Containment, eM_Ultimate_Containment_Advanced, eM_Ultimate_Containment_Field, eM_Spacetime, eM_Computer_Casing, eM_Computer_Bus, eM_Computer_Vent, eM_Hollow, eM_Power,
- debugBlock,
- Machine_Multi_Microwave, Machine_Multi_teslaCoil,
- Machine_Multi_Transformer,
- Machine_Multi_Computer, Machine_Multi_Switch, Machine_Multi_Research, Machine_Multi_DataBank,
- Machine_Multi_MatterToEM, Machine_Multi_EMToMatter, Machine_Multi_EMjunction, Machine_Multi_Scanner,
- Machine_Multi_EssentiaToEM, Machine_Multi_EMToEssentia,
- Machine_Multi_Infuser, Machine_Multi_Collider,
- Machine_Multi_Decay, Machine_Multi_EMmachine,
- Machine_Multi_Stabilizer, Machine_Multi_EMCrafter,
- Machine_Multi_Wormhole, Machine_Multi_Annihilation,
- Machine_Multi_BHG,
- hint_0,hint_1,hint_2,hint_3,hint_4,hint_5,hint_6,hint_7,hint_8,hint_9,hint_10,hint_11, hint_general,hint_air,hint_noAir,hint_error,
-
- scanContainer,parametrizerMemory;
-
-
- private ItemStack mStack;
- private boolean mHasNotBeenSet = true;
-
- //public static Fluid sOilExtraHeavy, sOilHeavy, sOilMedium, sOilLight, sNaturalGas;
-
- @Override
- public IItemContainer set(Item aItem) {
- mHasNotBeenSet = false;
- if (aItem == null) {
- return this;
- }
- ItemStack aStack = new ItemStack(aItem, 1, 0);
- mStack = GT_Utility.copyAmount(1, aStack);
- return this;
- }
-
- @Override
- public IItemContainer set(ItemStack aStack) {
- mHasNotBeenSet = false;
- mStack = GT_Utility.copyAmount(1, aStack);
- return this;
- }
-
- @Override
- public Item getItem() {
- if (mHasNotBeenSet) {
- throw new IllegalAccessError("The Enum '" + name() + "' has not been set to an Item at this time!");
- }
- if (GT_Utility.isStackInvalid(mStack)) {
- return null;
- }
- return mStack.getItem();
- }
-
- @Override
- public Block getBlock() {
- if (mHasNotBeenSet) {
- throw new IllegalAccessError("The Enum '" + name() + "' has not been set to an Item at this time!");
- }
- return GT_Utility.getBlockFromStack(new ItemStack(getItem()));
- }
-
- @Override
- public final boolean hasBeenSet() {
- return !mHasNotBeenSet;
- }
-
- @Override
- public boolean isStackEqual(Object aStack) {
- return isStackEqual(aStack, false, false);
- }
-
- @Override
- public boolean isStackEqual(Object aStack, boolean aWildcard, boolean aIgnoreNBT) {
- if (GT_Utility.isStackInvalid(aStack)) {
- return false;
- }
- return GT_Utility.areUnificationsEqual((ItemStack) aStack, aWildcard ? getWildcard(1) : get(1), aIgnoreNBT);
- }
-
- @Override
- public ItemStack get(long aAmount, Object... aReplacements) {
- if (mHasNotBeenSet) {
- throw new IllegalAccessError("The Enum '" + name() + "' has not been set to an Item at this time!");
- }
- if (GT_Utility.isStackInvalid(mStack)) {
- return GT_Utility.copyAmount(aAmount, aReplacements);
- }
- return GT_Utility.copyAmount(aAmount, GT_OreDictUnificator.get(mStack));
- }
-
- @Override
- public ItemStack getWildcard(long aAmount, Object... aReplacements) {
- if (mHasNotBeenSet) {
- throw new IllegalAccessError("The Enum '" + name() + "' has not been set to an Item at this time!");
- }
- if (GT_Utility.isStackInvalid(mStack)) {
- return GT_Utility.copyAmount(aAmount, aReplacements);
- }
- return GT_Utility.copyAmountAndMetaData(aAmount, W, GT_OreDictUnificator.get(mStack));
- }
-
- @Override
- public ItemStack getUndamaged(long aAmount, Object... aReplacements) {
- if (mHasNotBeenSet) {
- throw new IllegalAccessError("The Enum '" + name() + "' has not been set to an Item at this time!");
- }
- if (GT_Utility.isStackInvalid(mStack)) {
- return GT_Utility.copyAmount(aAmount, aReplacements);
- }
- return GT_Utility.copyAmountAndMetaData(aAmount, 0, GT_OreDictUnificator.get(mStack));
- }
-
- @Override
- public ItemStack getAlmostBroken(long aAmount, Object... aReplacements) {
- if (mHasNotBeenSet) {
- throw new IllegalAccessError("The Enum '" + name() + "' has not been set to an Item at this time!");
- }
- if (GT_Utility.isStackInvalid(mStack)) {
- return GT_Utility.copyAmount(aAmount, aReplacements);
- }
- return GT_Utility.copyAmountAndMetaData(aAmount, mStack.getMaxDamage() - 1, GT_OreDictUnificator.get(mStack));
- }
-
- @Override
- public ItemStack getWithName(long aAmount, String aDisplayName, Object... aReplacements) {
- ItemStack rStack = get(1, aReplacements);
- if (GT_Utility.isStackInvalid(rStack)) {
- return null;
- }
- rStack.setStackDisplayName(aDisplayName);
- return GT_Utility.copyAmount(aAmount, rStack);
- }
-
- @Override
- public ItemStack getWithCharge(long aAmount, int aEnergy, Object... aReplacements) {
- ItemStack rStack = get(1, aReplacements);
- if (GT_Utility.isStackInvalid(rStack)) {
- return null;
- }
- GT_ModHandler.chargeElectricItem(rStack, aEnergy, Integer.MAX_VALUE, true, false);
- return GT_Utility.copyAmount(aAmount, rStack);
- }
-
- @Override
- public ItemStack getWithDamage(long aAmount, long aMetaValue, Object... aReplacements) {
- if (mHasNotBeenSet) {
- throw new IllegalAccessError("The Enum '" + name() + "' has not been set to an Item at this time!");
- }
- if (GT_Utility.isStackInvalid(mStack)) {
- return GT_Utility.copyAmount(aAmount, aReplacements);
- }
- return GT_Utility.copyAmountAndMetaData(aAmount, aMetaValue, GT_OreDictUnificator.get(mStack));
- }
-
- @Override
- public IItemContainer registerOre(Object... aOreNames) {
- if (mHasNotBeenSet) {
- throw new IllegalAccessError("The Enum '" + name() + "' has not been set to an Item at this time!");
- }
- for (Object tOreName : aOreNames) {
- GT_OreDictUnificator.registerOre(tOreName, get(1));
- }
- return this;
- }
-
- @Override
- public IItemContainer registerWildcardAsOre(Object... aOreNames) {
- if (mHasNotBeenSet) {
- throw new IllegalAccessError("The Enum '" + name() + "' has not been set to an Item at this time!");
- }
- for (Object tOreName : aOreNames) {
- GT_OreDictUnificator.registerOre(tOreName, getWildcard(1));
- }
- return this;
- }
-}
+package com.github.technus.tectech.thing;
+
+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.block.Block;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+
+import static gregtech.api.enums.GT_Values.W;
+
+public enum CustomItemList implements IItemContainer {
+ Casing_UEV,Casing_UIV,Casing_UMV,Casing_UXV,Casing_OPV,Casing_MAXV,
+ Hull_UEV,Hull_UIV,Hull_UMV,Hull_UXV,Hull_OPV,Hull_MAXV,
+ Transformer_UEV_UHV,Transformer_UIV_UEV,Transformer_UMV_UIV,
+ Transformer_UXV_UMV,Transformer_OPV_UXV,Transformer_MAXV_OPV,
+ WetTransformer_LV_ULV,WetTransformer_MV_LV,WetTransformer_HV_MV,WetTransformer_EV_HV,
+ WetTransformer_IV_EV,WetTransformer_LuV_IV,WetTransformer_ZPM_LuV,WetTransformer_UV_ZPM,
+ WetTransformer_UHV_UV,WetTransformer_UEV_UHV,WetTransformer_UIV_UEV,WetTransformer_UMV_UIV,
+ WetTransformer_UXV_UMV,WetTransformer_OPV_UXV,WetTransformer_MAXV_OPV,
+
+ 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,
+ 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,
+
+ eM_dynamomulti4_IV, eM_dynamomulti16_IV, eM_dynamomulti64_IV,
+ eM_dynamomulti4_LuV, eM_dynamomulti16_LuV, eM_dynamomulti64_LuV,
+ eM_dynamomulti4_ZPM, eM_dynamomulti16_ZPM, eM_dynamomulti64_ZPM,
+ eM_dynamomulti4_UV, eM_dynamomulti16_UV, eM_dynamomulti64_UV,
+ eM_dynamomulti4_UHV, eM_dynamomulti16_UHV, eM_dynamomulti64_UHV,
+ eM_dynamomulti4_UEV, eM_dynamomulti16_UEV, eM_dynamomulti64_UEV,
+ 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_energymulti4_IV, eM_energymulti16_IV, eM_energymulti64_IV,
+ eM_energymulti4_LuV, eM_energymulti16_LuV, eM_energymulti64_LuV,
+ eM_energymulti4_ZPM, eM_energymulti16_ZPM, eM_energymulti64_ZPM,
+ eM_energymulti4_UV, eM_energymulti16_UV, eM_energymulti64_UV,
+ eM_energymulti4_UHV, eM_energymulti16_UHV, eM_energymulti64_UHV,
+ eM_energymulti4_UEV, eM_energymulti16_UEV, eM_energymulti64_UEV,
+ 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_in_UV, eM_in_UHV, eM_in_UEV, eM_in_UIV, eM_in_UMV, eM_in_UXV,
+ eM_out_UV, eM_out_UHV, eM_out_UEV, eM_out_UIV, eM_out_UMV, eM_out_UXV,
+ eM_muffler_UV, eM_muffler_UHV, eM_muffler_UEV, eM_muffler_UIV, eM_muffler_UMV, eM_muffler_UXV,
+ Parametrizer_Hatch, ParametrizerX_Hatch, Uncertainty_Hatch, UncertaintyX_Hatch, dataIn_Hatch, dataOut_Hatch, dataInAss_Hatch, dataOutAss_Hatch,
+ eM_Containment, eM_Containment_Field, eM_Containment_Advanced, eM_Coil, eM_Teleportation, eM_Dimensional, eM_Ultimate_Containment, eM_Ultimate_Containment_Advanced, eM_Ultimate_Containment_Field, eM_Spacetime, eM_Computer_Casing, eM_Computer_Bus, eM_Computer_Vent, eM_Hollow, eM_Power,
+ debugBlock,
+ Machine_Multi_Microwave, Machine_Multi_teslaCoil,
+ Machine_Multi_Transformer,
+ Machine_Multi_Computer, Machine_Multi_Switch, Machine_Multi_Research, Machine_Multi_DataBank,
+ Machine_Multi_MatterToEM, Machine_Multi_EMToMatter, Machine_Multi_EMjunction, Machine_Multi_Scanner,
+ Machine_Multi_EssentiaToEM, Machine_Multi_EMToEssentia,
+ Machine_Multi_Infuser, Machine_Multi_Collider,
+ Machine_Multi_Decay, Machine_Multi_EMmachine,
+ Machine_Multi_Stabilizer, Machine_Multi_EMCrafter,
+ Machine_Multi_Wormhole, Machine_Multi_Annihilation,
+ Machine_Multi_BHG,
+ hint_0,hint_1,hint_2,hint_3,hint_4,hint_5,hint_6,hint_7,hint_8,hint_9,hint_10,hint_11, hint_general,hint_air,hint_noAir,hint_error,
+
+ scanContainer,parametrizerMemory,
+
+ Machine_TeslaCoil_LV_1A, Machine_TeslaCoil_MV_1A, Machine_TeslaCoil_HV_1A, Machine_TeslaCoil_EV_1A, Machine_TeslaCoil_IV_1A,
+ Machine_TeslaCoil_LV_4A, Machine_TeslaCoil_MV_4A, Machine_TeslaCoil_HV_4A, Machine_TeslaCoil_EV_4A, Machine_TeslaCoil_IV_4A,
+ Machine_TeslaCoil_LV_9A, Machine_TeslaCoil_MV_9A, Machine_TeslaCoil_HV_9A, Machine_TeslaCoil_EV_9A, Machine_TeslaCoil_IV_9A,
+ Machine_TeslaCoil_LV_16A, Machine_TeslaCoil_MV_16A, Machine_TeslaCoil_HV_16A, Machine_TeslaCoil_EV_16A, Machine_TeslaCoil_IV_16A;
+
+ private ItemStack mStack;
+ private boolean mHasNotBeenSet = true;
+
+ //public static Fluid sOilExtraHeavy, sOilHeavy, sOilMedium, sOilLight, sNaturalGas;
+
+ @Override
+ public IItemContainer set(Item aItem) {
+ mHasNotBeenSet = false;
+ if (aItem == null) {
+ return this;
+ }
+ ItemStack aStack = new ItemStack(aItem, 1, 0);
+ mStack = GT_Utility.copyAmount(1, aStack);
+ return this;
+ }
+
+ @Override
+ public IItemContainer set(ItemStack aStack) {
+ mHasNotBeenSet = false;
+ mStack = GT_Utility.copyAmount(1, aStack);
+ return this;
+ }
+
+ @Override
+ public Item getItem() {
+ if (mHasNotBeenSet) {
+ throw new IllegalAccessError("The Enum '" + name() + "' has not been set to an Item at this time!");
+ }
+ if (GT_Utility.isStackInvalid(mStack)) {
+ return null;
+ }
+ return mStack.getItem();
+ }
+
+ @Override
+ public Block getBlock() {
+ if (mHasNotBeenSet) {
+ throw new IllegalAccessError("The Enum '" + name() + "' has not been set to an Item at this time!");
+ }
+ return GT_Utility.getBlockFromStack(new ItemStack(getItem()));
+ }
+
+ @Override
+ public final boolean hasBeenSet() {
+ return !mHasNotBeenSet;
+ }
+
+ @Override
+ public boolean isStackEqual(Object aStack) {
+ return isStackEqual(aStack, false, false);
+ }
+
+ @Override
+ public boolean isStackEqual(Object aStack, boolean aWildcard, boolean aIgnoreNBT) {
+ if (GT_Utility.isStackInvalid(aStack)) {
+ return false;
+ }
+ return GT_Utility.areUnificationsEqual((ItemStack) aStack, aWildcard ? getWildcard(1) : get(1), aIgnoreNBT);
+ }
+
+ @Override
+ public ItemStack get(long aAmount, Object... aReplacements) {
+ if (mHasNotBeenSet) {
+ throw new IllegalAccessError("The Enum '" + name() + "' has not been set to an Item at this time!");
+ }
+ if (GT_Utility.isStackInvalid(mStack)) {
+ return GT_Utility.copyAmount(aAmount, aReplacements);
+ }
+ return GT_Utility.copyAmount(aAmount, GT_OreDictUnificator.get(mStack));
+ }
+
+ @Override
+ public ItemStack getWildcard(long aAmount, Object... aReplacements) {
+ if (mHasNotBeenSet) {
+ throw new IllegalAccessError("The Enum '" + name() + "' has not been set to an Item at this time!");
+ }
+ if (GT_Utility.isStackInvalid(mStack)) {
+ return GT_Utility.copyAmount(aAmount, aReplacements);
+ }
+ return GT_Utility.copyAmountAndMetaData(aAmount, W, GT_OreDictUnificator.get(mStack));
+ }
+
+ @Override
+ public ItemStack getUndamaged(long aAmount, Object... aReplacements) {
+ if (mHasNotBeenSet) {
+ throw new IllegalAccessError("The Enum '" + name() + "' has not been set to an Item at this time!");
+ }
+ if (GT_Utility.isStackInvalid(mStack)) {
+ return GT_Utility.copyAmount(aAmount, aReplacements);
+ }
+ return GT_Utility.copyAmountAndMetaData(aAmount, 0, GT_OreDictUnificator.get(mStack));
+ }
+
+ @Override
+ public ItemStack getAlmostBroken(long aAmount, Object... aReplacements) {
+ if (mHasNotBeenSet) {
+ throw new IllegalAccessError("The Enum '" + name() + "' has not been set to an Item at this time!");
+ }
+ if (GT_Utility.isStackInvalid(mStack)) {
+ return GT_Utility.copyAmount(aAmount, aReplacements);
+ }
+ return GT_Utility.copyAmountAndMetaData(aAmount, mStack.getMaxDamage() - 1, GT_OreDictUnificator.get(mStack));
+ }
+
+ @Override
+ public ItemStack getWithName(long aAmount, String aDisplayName, Object... aReplacements) {
+ ItemStack rStack = get(1, aReplacements);
+ if (GT_Utility.isStackInvalid(rStack)) {
+ return null;
+ }
+ rStack.setStackDisplayName(aDisplayName);
+ return GT_Utility.copyAmount(aAmount, rStack);
+ }
+
+ @Override
+ public ItemStack getWithCharge(long aAmount, int aEnergy, Object... aReplacements) {
+ ItemStack rStack = get(1, aReplacements);
+ if (GT_Utility.isStackInvalid(rStack)) {
+ return null;
+ }
+ GT_ModHandler.chargeElectricItem(rStack, aEnergy, Integer.MAX_VALUE, true, false);
+ return GT_Utility.copyAmount(aAmount, rStack);
+ }
+
+ @Override
+ public ItemStack getWithDamage(long aAmount, long aMetaValue, Object... aReplacements) {
+ if (mHasNotBeenSet) {
+ throw new IllegalAccessError("The Enum '" + name() + "' has not been set to an Item at this time!");
+ }
+ if (GT_Utility.isStackInvalid(mStack)) {
+ return GT_Utility.copyAmount(aAmount, aReplacements);
+ }
+ return GT_Utility.copyAmountAndMetaData(aAmount, aMetaValue, GT_OreDictUnificator.get(mStack));
+ }
+
+ @Override
+ public IItemContainer registerOre(Object... aOreNames) {
+ if (mHasNotBeenSet) {
+ throw new IllegalAccessError("The Enum '" + name() + "' has not been set to an Item at this time!");
+ }
+ for (Object tOreName : aOreNames) {
+ GT_OreDictUnificator.registerOre(tOreName, get(1));
+ }
+ return this;
+ }
+
+ @Override
+ public IItemContainer registerWildcardAsOre(Object... aOreNames) {
+ if (mHasNotBeenSet) {
+ throw new IllegalAccessError("The Enum '" + name() + "' has not been set to an Item at this time!");
+ }
+ for (Object tOreName : aOreNames) {
+ GT_OreDictUnificator.registerOre(tOreName, getWildcard(1));
+ }
+ return this;
+ }
+}
diff --git a/src/main/java/com/github/technus/tectech/thing/cover/GT_Cover_TM_TeslaCoil.java b/src/main/java/com/github/technus/tectech/thing/cover/GT_Cover_TM_TeslaCoil.java
new file mode 100644
index 0000000000..e1e1b9d595
--- /dev/null
+++ b/src/main/java/com/github/technus/tectech/thing/cover/GT_Cover_TM_TeslaCoil.java
@@ -0,0 +1,8 @@
+package com.github.technus.tectech.thing.cover;
+
+import gregtech.api.util.GT_CoverBehavior;
+
+public class GT_Cover_TM_TeslaCoil extends GT_CoverBehavior {
+ public GT_Cover_TM_TeslaCoil() {
+ }
+} \ No newline at end of file
diff --git a/src/main/java/com/github/technus/tectech/thing/item/TeslaCoilCover.java b/src/main/java/com/github/technus/tectech/thing/item/TeslaCoilCover.java
new file mode 100644
index 0000000000..abf1bd90a0
--- /dev/null
+++ b/src/main/java/com/github/technus/tectech/thing/item/TeslaCoilCover.java
@@ -0,0 +1,51 @@
+package com.github.technus.tectech.thing.item;
+
+import com.github.technus.tectech.CommonValues;
+import com.github.technus.tectech.Util;
+import com.github.technus.tectech.thing.metaTileEntity.hatch.GT_MetaTileEntity_Hatch_Param;
+import com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_MetaTileEntity_MultiblockBase_EM;
+import cpw.mods.fml.common.registry.GameRegistry;
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
+import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
+import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+import net.minecraft.client.renderer.texture.IIconRegister;
+import net.minecraft.creativetab.CreativeTabs;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.entity.player.EntityPlayerMP;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraft.util.EnumChatFormatting;
+import net.minecraft.util.IIcon;
+import net.minecraft.world.World;
+
+import java.util.List;
+
+import static com.github.technus.tectech.Reference.MODID;
+import static com.github.technus.tectech.thing.CustomItemList.parametrizerMemory;
+
+
+public final class TeslaCoilCover extends Item {
+ public static TeslaCoilCover INSTANCE;
+
+ public TeslaCoilCover() {
+ setUnlocalizedName("tm.teslaCoilCover");
+ setTextureName(MODID + ":itemParametrizerMemoryCardUnlocked");
+ }
+
+ @Override
+ public void addInformation(ItemStack aStack, EntityPlayer ep, List aList, boolean boo) {
+ aList.add(CommonValues.BASS_MARK);
+ aList.add("Tesla-Enables Machines!");
+ aList.add(EnumChatFormatting.BLUE + "Use on a machine to apply Tesla capabilities");
+ aList.add(EnumChatFormatting.BLUE + "Who the hell need cables anyway?");
+ }
+
+ public static void run() {
+ INSTANCE = new TeslaCoilCover();
+ System.out.print(INSTANCE.getUnlocalizedName());
+ GameRegistry.registerItem(INSTANCE, INSTANCE.getUnlocalizedName());
+ }
+}
diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_TM_teslaCoil.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_TM_teslaCoil.java
index 82722e76f9..605f958177 100644
--- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_TM_teslaCoil.java
+++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_TM_teslaCoil.java
@@ -6,6 +6,7 @@ import com.github.technus.tectech.thing.metaTileEntity.hatch.GT_MetaTileEntity_H
import com.github.technus.tectech.thing.metaTileEntity.hatch.GT_MetaTileEntity_Hatch_DynamoMulti;
import com.github.technus.tectech.thing.metaTileEntity.hatch.GT_MetaTileEntity_Hatch_EnergyMulti;
import com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_MetaTileEntity_MultiblockBase_EM;
+import com.github.technus.tectech.thing.metaTileEntity.single.GT_MetaTileEntity_TeslaCoil;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import gregtech.api.enums.Textures;
@@ -39,10 +40,39 @@ public class GT_MetaTileEntity_TM_teslaCoil extends GT_MetaTileEntity_Multiblock
private final ArrayList<GT_MetaTileEntity_Hatch_Capacitor> eCaps = new ArrayList<>();
private int tier = 0;
private int orientation = 0;
- private int scanTime = 0;
- private int scanRadius = 64;//TODO Generate depending on power stored
- private long euTOutMax = V[9] / 8;//TODO Generate depending on count and kind of capacitors
- private ArrayList<GT_MetaTileEntity_TM_teslaCoil> eTeslaList = new ArrayList<>();
+
+ private int scanTime = 0; //Sets scan time to Z E R O :epic:
+ private int scanTimeMin = 100; //Min scan time in ticks
+ private int scanTimeTill = scanTimeMin; //Set default scan time
+
+ private ArrayList<GT_MetaTileEntity_TeslaCoil> eTeslaList = new ArrayList<>(); //Makes a list of Smol Teslas
+ private ArrayList<GT_MetaTileEntity_TM_teslaCoil> eTeslaTowerList = new ArrayList<>(); //Makes a list for BIGG Teslas
+
+ private float histLow = 0.25F; //Power pass is disabled if power is under this fraction
+ private float histHigh = 0.75F; //Power pass is enabled if power is over this fraction
+
+ private float histLowLimit = 0.05F; //How low can you configure it?
+ private float histHighLimit = 0.95F; //How high can you configure it?
+
+ private int scanRadius = 64; //Radius for small to tower transfers
+ private int scanRadiusTower = scanRadius * 2; //Radius for tower to tower transfers
+
+ private long outputVoltage = 512; //Tesla Voltage Output
+ private long outputCurrent = 1; //Tesla Current Output
+ private long outputEuT = outputVoltage * outputCurrent; //Tesla Power Output
+
+ public boolean powerPassToggle = false; //Power Pass for public viewing
+
+ private boolean parametrized = false; //Assumes no parametrizer on initialisation
+ //Default parametrized variables
+ private long histLowParam = 0;
+ private long histHighParam = 0;
+ private long histScaleParam = 0;
+ private int scanRadiusParam = 0;
+ private int scanRadiusTowerParam = 0;
+ private long outputVoltageParam = 0;
+ private long outputCurrentParam = 0;
+ private int scanTimeMinParam = 0;
//region structure
private static final String[][] shape0 = new String[][]{//3 16 0
@@ -256,53 +286,163 @@ public class GT_MetaTileEntity_TM_teslaCoil extends GT_MetaTileEntity_Multiblock
return true;
}
- if (!ePowerPass && getEUVar() > maxEUStore() / 2 * 0.8) {
+ //Parametrizer hatch loader TODO Add parametrizer detection
+ if (false) {
+ parametrized = true;
+ histLowParam = 0;
+ histHighParam = 0;
+ histScaleParam = 0;
+ scanRadiusParam = 0;
+ scanRadiusTowerParam = 0;
+ outputVoltageParam = 0;
+ outputCurrentParam = 0;
+ scanTimeMin = 0;
+ } else {
+ parametrized = false;
+ }
+
+ ////Hysteresis based ePowerPass Config
+ long energyMax = maxEUStore() / 2;
+ long energyStored = getEUVar();
+
+ float energyFrac = (float)energyStored/energyMax;
+
+ //Hysteresis Parameters sanity check
+ if (parametrized && histScaleParam > 0 && histLowParam > 0 && histScaleParam <= histHighParam && histLowParam < histHighParam) {
+ float histLowt = (float)histLowParam/histScaleParam;
+ if (histLowt >= histLowLimit){
+ histLow = histLowt;
+ } else {
+ histLow = histLowLimit;
+ }
+
+ float histHight = (float)histHighParam/histScaleParam;
+ if (histHight <= histHighLimit){
+ histHigh = histHight;
+ } else {
+ histHigh = histHighLimit;
+ }
+ }
+
+ //ePowerPass hist toggle
+ if (!ePowerPass && energyFrac > histHigh) {
ePowerPass = true;
- } else if (ePowerPass && getEUVar() < maxEUStore() / 2 * 0.2) {
+ } else if (ePowerPass && energyFrac < histLow) {
ePowerPass = false;
}
+ powerPassToggle = ePowerPass;
+
+ ////Scanning for active teslas
+
+ if (parametrized && scanTimeMinParam > scanTimeMin) {
+ scanTimeTill = scanTimeMinParam;
+ }
+
+ scanTime++;
+ if (scanTime >= scanTimeTill) {
+ scanTime = 0;
+
+ scanRadius = 64; //TODO Generate depending on power stored
+ eTeslaList.clear();
- if (ePowerPass) {
- scanTime++;
- if (scanTime == 100) {
- scanTime = 0;
- eTeslaList.clear();
-
- for (int xPosOffset = -scanRadius; xPosOffset <= scanRadius; xPosOffset++) {
- for (int yPosOffset = -scanRadius; yPosOffset <= scanRadius; yPosOffset++) {
- for (int zPosOffset = -scanRadius; zPosOffset <= scanRadius; zPosOffset++) {
- IGregTechTileEntity node = mte.getIGregTechTileEntityOffset(xPosOffset, yPosOffset, zPosOffset);
- if (node == null) {
- continue;
- }
- IMetaTileEntity nodeInside = node.getMetaTileEntity();
- if (nodeInside instanceof GT_MetaTileEntity_TM_teslaCoil && node.isActive()) {
- eTeslaList.add((GT_MetaTileEntity_TM_teslaCoil) nodeInside);
- }
+ if (parametrized && scanRadiusParam > 0 && scanRadiusParam < scanRadius) {
+ scanRadius = scanRadiusParam;
+ }
+
+ for (int xPosOffset = -scanRadius; xPosOffset <= scanRadius; xPosOffset++) {
+ for (int yPosOffset = -scanRadius; yPosOffset <= scanRadius; yPosOffset++) {
+ for (int zPosOffset = -scanRadius; zPosOffset <= scanRadius; zPosOffset++) {
+ if (xPosOffset == 0 && yPosOffset == 0 && zPosOffset == 0){
+ continue;
}
- }
- }
+ IGregTechTileEntity node = mte.getIGregTechTileEntityOffset(xPosOffset, yPosOffset, zPosOffset);
+ if (node == null) {
+ continue;
+ }
+ IMetaTileEntity nodeInside = node.getMetaTileEntity();
+ if (nodeInside instanceof GT_MetaTileEntity_TeslaCoil){
+ eTeslaList.add((GT_MetaTileEntity_TeslaCoil) nodeInside);
+ }
+ }
+ }
+ }
+
+ scanRadiusTower = scanRadius * 2;
+ eTeslaTowerList.clear();
+
+ if (parametrized && scanRadiusTowerParam > 0 && scanRadiusTowerParam < scanRadiusTower) {
+ scanRadiusTower = scanRadiusTowerParam;
+ }
+
+ for (int xPosOffset = -scanRadiusTower; xPosOffset <= scanRadiusTower; xPosOffset++) {
+ for (int yPosOffset = -scanRadiusTower; yPosOffset <= scanRadiusTower; yPosOffset++) {
+ for (int zPosOffset = -scanRadiusTower; zPosOffset <= scanRadiusTower; zPosOffset++) {
+ if (xPosOffset == 0 && yPosOffset == 0 && zPosOffset == 0){
+ continue;
+ }
+ IGregTechTileEntity node = mte.getIGregTechTileEntityOffset(xPosOffset, yPosOffset, zPosOffset);
+ if (node == null) {
+ continue;
+ }
+ IMetaTileEntity nodeInside = node.getMetaTileEntity();
+ if (nodeInside instanceof GT_MetaTileEntity_TM_teslaCoil && node.isActive()){
+ eTeslaTowerList.add((GT_MetaTileEntity_TM_teslaCoil) nodeInside);
+ }
+ }
+ }
+ }
+ }
+
+ //Stuff to do if ePowerPass
+ if (powerPassToggle) {
+ outputVoltage = 512;//TODO Generate depending on kind of capacitors
+ outputCurrent = 1;//TODO Generate depending on count of capacitors
+
+ if (parametrized && outputVoltageParam > 0 && outputVoltage > outputVoltageParam){
+ outputVoltage = outputVoltageParam;}
+
+ if (parametrized && outputCurrentParam > 0 && outputCurrent > outputCurrentParam){
+ outputCurrent = outputCurrentParam;}
+
+ outputEuT = outputVoltage * outputCurrent;
+
+ long requestedSumEU = 0;
+
+ //Clean the Smol Tesla list
+ for (GT_MetaTileEntity_TeslaCoil Rx : eTeslaList.toArray(new GT_MetaTileEntity_TeslaCoil[eTeslaList.size()])) {
+ try {
+ requestedSumEU += Rx.maxEUStore() - Rx.getEUVar();
+ } catch (Exception e) {
+ eTeslaList.remove(Rx);
+ }
+ }
+
+ //Clean the large tesla list
+ for (GT_MetaTileEntity_TM_teslaCoil Rx : eTeslaTowerList.toArray(new GT_MetaTileEntity_TM_teslaCoil[eTeslaTowerList.size()])) {
+ try {
+ requestedSumEU += Rx.maxEUStore() - Rx.getEUVar();
+ } catch (Exception e) {
+ eTeslaTowerList.remove(Rx);
+ }
}
- float xPos = mte.getXCoord() + 0.5f;
- float yPos = mte.getYCoord() + 0.5f;
- float zPos = mte.getZCoord() + 0.5f;
- long reqSum = 0;
- for (GT_MetaTileEntity_TM_teslaCoil Rx : eTeslaList.toArray(new GT_MetaTileEntity_TM_teslaCoil[eTeslaList.size()])) {
- try {
- reqSum += Rx.maxEUStore() - Rx.getEUVar();
- } catch (Exception e) {
- eTeslaList.remove(Rx);
+ //Try to send EU to the smol teslas
+ for (GT_MetaTileEntity_TeslaCoil Rx : eTeslaList) {
+ if (!Rx.powerPassToggle) {
+ long euTran = outputVoltage;
+ if (Rx.getBaseMetaTileEntity().injectEnergyUnits((byte)6, euTran, 1L) > 0L) {
+ setEUVar(getEUVar() - euTran);
+ }
}
}
- for (GT_MetaTileEntity_TM_teslaCoil Rx : eTeslaList) {
- if (!Rx.ePowerPass) {
- long euTran = (euTOutMax * (Rx.maxEUStore() - Rx.getEUVar())) / reqSum;
- if (Rx.getEUVar() + euTran <= Rx.maxEUStore() && getEUVar() - euTran >= 0) {
+ //Try to send EU to big teslas
+ for (GT_MetaTileEntity_TM_teslaCoil Rx : eTeslaTowerList) {
+ if (!Rx.powerPassToggle) {
+ long euTran = outputVoltage;
+ if (Rx.getEUVar() + euTran <= (Rx.maxEUStore()/2)) {
setEUVar(getEUVar() - euTran);
- Rx.getBaseMetaTileEntity().increaseStoredEnergyUnits(euTran, true);//might work QUESTION POINT;
- //mte.getWorld().playSoundEffect(xPos, yPos, zPos, Reference.MODID + ":microwave_ding", 1, 1);
+ Rx.getBaseMetaTileEntity().increaseStoredEnergyUnits(euTran, true);
}
}
}
diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_TeslaCoil.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_TeslaCoil.java
new file mode 100644
index 0000000000..a8797682e6
--- /dev/null
+++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_TeslaCoil.java
@@ -0,0 +1,211 @@
+package com.github.technus.tectech.thing.metaTileEntity.single;
+
+import com.github.technus.tectech.Util;
+import com.github.technus.tectech.thing.cover.GT_Cover_TM_TeslaCoil;
+import com.github.technus.tectech.thing.metaTileEntity.multi.GT_MetaTileEntity_TM_teslaCoil;
+import eu.usrv.yamcore.auxiliary.PlayerChatHelper;
+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_BasicBatteryBuffer;
+import gregtech.api.util.GT_ModHandler;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.ItemStack;
+
+import java.util.*;
+
+import static java.lang.Math.round;
+
+
+public class GT_MetaTileEntity_TeslaCoil extends GT_MetaTileEntity_BasicBatteryBuffer {
+ public boolean powerPassToggle = false; //Power Pass for public viewing
+
+ private int scanTime = 0; //Sets scan time to Z E R O :epic:
+ private int scanTimeMin = 100; //Min scan time in ticks
+ private int scanTimeTill = scanTimeMin; //Set default scan time
+
+ private Map<IGregTechTileEntity, Integer> eTeslaTowerMap = new HashMap<IGregTechTileEntity, Integer>();
+
+ private int histSteps = 20; //Hysteresis Resolution
+ private int histSettingLow = 3;
+ private int histSettingHigh = 15;
+ private int histLowLimit = 1; //How low can you configure it?
+ private int histHighLimit = histSteps-1; //How high can you configure it?
+
+ private float histLow = (float)histSettingLow/histSteps; //Power pass is disabled if power is under this fraction
+ private float histHigh = (float)histSettingHigh/histSteps; //Power pass is enabled if power is over this fraction
+
+ private int scanRadiusTower = 64; //Radius for tower to tower transfers
+
+ private long outputVoltage = 512; //Tesla Voltage Output
+ private long outputCurrent = 1; //Tesla Current Output
+ private long outputEuT = outputVoltage * outputCurrent; //Tesla Power Output
+
+ static <K,V extends Comparable<? super V>> SortedSet<Map.Entry<K,V>> entriesSortedByValues(Map<K,V> map) {
+ SortedSet<Map.Entry<K,V>> sortedEntries = new TreeSet<Map.Entry<K,V>>(
+ new Comparator<Map.Entry<K,V>>() {
+ @Override public int compare(Map.Entry<K,V> e1, Map.Entry<K,V> e2) {
+ int res = e1.getValue().compareTo(e2.getValue());
+ return res != 0 ? res : 1; // Special fix to preserve items with equal values
+ }
+ }
+ );
+ sortedEntries.addAll(map.entrySet());
+ return sortedEntries;
+ }
+
+
+ public GT_MetaTileEntity_TeslaCoil(int aID, String aName, String aNameRegional, int aTier, int aSlotCount) {
+ super(aID, aName, aNameRegional, aTier, "Tesla Coil Transceiver", aSlotCount);
+ Util.setTier(aTier, this);
+ }
+
+ public GT_MetaTileEntity_TeslaCoil(String aName, int aTier, String aDescription, ITexture[][][] aTextures, int aSlotCount) {
+ super(aName, aTier, aDescription, aTextures, aSlotCount);
+ }
+
+ public void onScrewdriverRightClick(byte aSide, EntityPlayer aPlayer, float aX, float aY, float aZ) {
+ if (aPlayer.isSneaking()) {
+ if (histSettingHigh<histHighLimit) {
+ histSettingHigh++;
+ } else {
+ histSettingHigh=histSettingLow+1;
+ }
+ histHigh = (float)histSettingHigh/histSteps;
+ PlayerChatHelper.SendInfo(aPlayer, "Hysteresis High Changed to " + round(histHigh * 100F) + "%");
+ } else {
+ if (histSettingLow>histLowLimit) {
+ histSettingLow--;
+ } else {
+ histSettingLow=histSettingHigh-1;
+ }
+ histLow = (float)histSettingLow/histSteps;
+ PlayerChatHelper.SendInfo(aPlayer, "Hysteresis Low Changed to " + round(histLow * 100F) + "%");
+ }
+ }
+
+ @Override
+ public MetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) {
+ return new GT_MetaTileEntity_TeslaCoil(mName, mTier, mDescription, mTextures, mInventory.length);
+ }
+
+ @Override
+ public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) {
+ if (aBaseMetaTileEntity.isServerSide()) {
+ IGregTechTileEntity mte = getBaseMetaTileEntity();
+ this.mCharge = aBaseMetaTileEntity.getStoredEU() / 2L > aBaseMetaTileEntity.getEUCapacity() / 3L;
+ this.mDecharge = aBaseMetaTileEntity.getStoredEU() < aBaseMetaTileEntity.getEUCapacity() / 3L;
+ this.mBatteryCount = 0;
+ this.mChargeableCount = 0;
+ ItemStack[] var4 = this.mInventory;
+ int var5 = var4.length;
+
+ if (aBaseMetaTileEntity.getCoverBehaviorAtSide((byte)1) instanceof GT_Cover_TM_TeslaCoil && scanTime == 0){
+ System.out.println("I myself feel quite tesla enabled indeed!");
+ }
+
+ for (int var6 = 0; var6 < var5; ++var6) {
+ ItemStack tStack = var4[var6];
+ if (GT_ModHandler.isElectricItem(tStack, this.mTier)) {
+ if (GT_ModHandler.isChargerItem(tStack)) {
+ ++this.mBatteryCount;
+ }
+ ++this.mChargeableCount;
+ }
+ }
+
+ ////Hysteresis based ePowerPass Config
+ long energyMax = getStoredEnergy()[1];
+ long energyStored = getStoredEnergy()[0];
+
+ float energyFrac = (float)energyStored/energyMax;
+ //System.err.println(energyFrac); Debug energy fraction display
+
+ //ePowerPass hist toggle
+ if (!powerPassToggle && energyFrac > histHigh) {
+ powerPassToggle = true;
+ } else if (powerPassToggle && energyFrac < histLow) {
+ powerPassToggle = false;
+ }
+
+ ////Scanning for active teslas
+ scanTime++;
+ if (scanTime >= scanTimeTill) {
+ scanTime = 0;
+
+ scanRadiusTower = 64; //TODO Generate depending on power stored
+ eTeslaTowerMap.clear();
+
+ for (int xPosOffset = -scanRadiusTower; xPosOffset <= scanRadiusTower; xPosOffset++) {
+ for (int yPosOffset = -scanRadiusTower; yPosOffset <= scanRadiusTower; yPosOffset++) {
+ for (int zPosOffset = -scanRadiusTower; zPosOffset <= scanRadiusTower; zPosOffset++) {
+ if (xPosOffset == 0 && yPosOffset == 0 && zPosOffset == 0){
+ continue;
+ }
+ IGregTechTileEntity node = mte.getIGregTechTileEntityOffset(xPosOffset, yPosOffset, zPosOffset);
+ if (node == null) {
+ continue;
+ }
+ IMetaTileEntity nodeInside = node.getMetaTileEntity();
+ if (nodeInside instanceof GT_MetaTileEntity_TM_teslaCoil && node.isActive() || (node.getCoverBehaviorAtSide((byte)1) instanceof GT_Cover_TM_TeslaCoil)){
+ eTeslaTowerMap.put(node,(int)Math.ceil(Math.sqrt(xPosOffset*xPosOffset + yPosOffset*yPosOffset + zPosOffset*zPosOffset)));
+ }
+ }
+ }
+ }
+ }
+
+ for (Map.Entry<IGregTechTileEntity, Integer> Rx : entriesSortedByValues(eTeslaTowerMap)) {
+ System.out.println("yote @: " + Rx.getValue());
+ }
+
+ //Stuff to do if ePowerPass
+ if (powerPassToggle) {
+ outputVoltage = 512;//TODO Set Depending On Tier
+ outputCurrent = 1;//TODO Generate depending on count of batteries
+
+ outputEuT = outputVoltage * outputCurrent;
+
+ long requestedSumEU = 0;//TODO Find a use for requestedSumEU
+
+ //Clean the node list SMALL INSTANCE REAPING DOESN'T WORK
+ for (Map.Entry<IGregTechTileEntity, Integer> Rx : entriesSortedByValues(eTeslaTowerMap)) {
+ IGregTechTileEntity node = Rx.getKey();
+ if (node == null) {
+ eTeslaTowerMap.remove(Rx.getKey());
+ System.err.println("Dead Tesla Reaped!");
+ continue;
+ }
+ IMetaTileEntity nodeInside = node.getMetaTileEntity();
+ try {
+ if (nodeInside instanceof GT_MetaTileEntity_TM_teslaCoil && node.isActive()) {
+ GT_MetaTileEntity_TM_teslaCoil teslaTower = (GT_MetaTileEntity_TM_teslaCoil) nodeInside;
+ requestedSumEU += teslaTower.maxEUStore() - teslaTower.getEUVar();
+ } else if ((node.getCoverBehaviorAtSide((byte) 1) instanceof GT_Cover_TM_TeslaCoil)) {
+ requestedSumEU += node.getEUCapacity() - node.getStoredEU();
+ } else {
+ eTeslaTowerMap.remove(Rx.getKey());
+ System.err.println("Dead Tesla Reaped!");
+ }
+ } catch (Exception e) {
+ eTeslaTowerMap.remove(Rx.getKey());
+ System.err.println("Dead Tesla Reaped!");
+ }
+ }
+
+ for (Map.Entry<IGregTechTileEntity, Integer> Rx : entriesSortedByValues(eTeslaTowerMap)) {
+ GT_MetaTileEntity_TM_teslaCoil nodeInside = (GT_MetaTileEntity_TM_teslaCoil) Rx.getKey().getMetaTileEntity();
+ if (!nodeInside.powerPassToggle) {
+ long euTran = outputVoltage;
+ if (nodeInside.getEUVar() + euTran <= (nodeInside.maxEUStore() / 2)) {
+ setEUVar(getEUVar() - euTran);
+ nodeInside.getBaseMetaTileEntity().increaseStoredEnergyUnits(euTran, true);
+ System.err.println("Energy Sent!");
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/src/main/resources/assets/tectech/lang/en_US.lang b/src/main/resources/assets/tectech/lang/en_US.lang
index ccb17a8a0c..2c748a18d7 100644
--- a/src/main/resources/assets/tectech/lang/en_US.lang
+++ b/src/main/resources/assets/tectech/lang/en_US.lang
@@ -9,6 +9,8 @@ item.em.frontRotate.name=Front Rotation Scrench
item.em.parametrizerMemoryCard.name=Parametrizer Memory Card
item.em.EuMeterGT.name=GT EU meter
+item.tm.teslaCoilCover.name=Tesla Coil Cover
+
death.attack.microwaving=%1$s was dehydrated by radiation.
death.attack.microwaving.player=%1$s was dehydrated by radiation while fighting %2$s.
diff --git a/src/main/resources/assets/tectech/lang/zh_CN.lang b/src/main/resources/assets/tectech/lang/zh_CN.lang
index 5359f04e9b..47912d245d 100644
--- a/src/main/resources/assets/tectech/lang/zh_CN.lang
+++ b/src/main/resources/assets/tectech/lang/zh_CN.lang
@@ -6,6 +6,8 @@ item.em.definitionContainer.name=EM配方指引
item.em.debugBuilder.name=多方块机器蓝图
item.em.parametrizerMemoryCard.name=参量机记忆卡
+item.tm.teslaCoilCover.name=Tesla Coil Cover
+
death.attack.microwaving=%1$s 被辐射脱水
death.attack.microwaving.player=%1$s 在与 %2$s 战斗中被辐射脱水