diff options
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 战斗中被辐射脱水 |