From 238e7261ba2f8f304081a48b1a43bfd54f8cb4e1 Mon Sep 17 00:00:00 2001 From: Technus Date: Wed, 6 Sep 2017 21:03:25 +0200 Subject: Refactor m8 --- .../com/github/technus/tectech/CommonValues.java | 20 +- .../technus/tectech/auxiliary/Reference.java | 2 +- .../dreamcraft/DreamCraftRecipeLoader.java | 364 +++++++++++++++++++++ .../tectech/compatibility/gtpp/GtppAtomLoader.java | 45 +++ .../compatibility/thaumcraft/EssentiaCompat.java | 30 ++ .../thaumcraft/EssentiaCompatEnabled.java | 69 ++++ .../definitions/AspectDefinitionCompat.java | 30 ++ .../definitions/AspectDefinitionCompatEnabled.java | 81 +++++ .../definitions/dComplexAspectDefinition.java | 209 ++++++++++++ .../definitions/ePrimalAspectDefinition.java | 42 +++ .../thaumcraft/definitions/iElementalAspect.java | 8 + .../GT_MetaTileEntity_EM_essentiaDequantizer.java | 139 ++++++++ .../GT_MetaTileEntity_EM_essentiaQuantizer.java | 144 ++++++++ .../definitions/dAtomDefinition.java | 2 +- .../technus/tectech/gtppAddon/GtppAtomLoader.java | 45 --- .../tectech/loader/DreamCraftRecipeLoader.java | 364 --------------------- .../technus/tectech/loader/ElementalLoader.java | 4 +- .../technus/tectech/loader/MachineLoader.java | 4 +- .../github/technus/tectech/loader/MainLoader.java | 12 +- .../technus/tectech/loader/RecipeLoader.java | 1 + .../technus/tectech/magicAddon/EssentiaCompat.java | 30 -- .../tectech/magicAddon/EssentiaCompatEnabled.java | 69 ---- .../definitions/AspectDefinitionCompat.java | 30 -- .../definitions/AspectDefinitionCompatEnabled.java | 81 ----- .../definitions/dComplexAspectDefinition.java | 209 ------------ .../definitions/ePrimalAspectDefinition.java | 42 --- .../magicAddon/definitions/iElementalAspect.java | 8 - .../GT_MetaTileEntity_EM_essentiaDequantizer.java | 139 -------- .../GT_MetaTileEntity_EM_essentiaQuantizer.java | 144 -------- .../tectech/thing/block/QuantumGlassItem.java | 4 +- .../tectech/thing/casing/GT_Item_CasingsTT.java | 4 +- .../tectech/thing/casing/GT_Item_HintTT.java | 4 +- .../thing/item/ConstructableTriggerItem.java | 2 +- .../tectech/thing/item/DebugContainer_EM.java | 2 +- .../tectech/thing/item/DefinitionContainer_EM.java | 2 +- .../tectech/thing/item/ParametrizerMemoryCard.java | 2 +- .../GT_MetaTileEntity_Hatch_DataConnector.java | 6 +- .../hatch/GT_MetaTileEntity_Hatch_DynamoMulti.java | 2 +- ...GT_MetaTileEntity_Hatch_ElementalContainer.java | 8 +- .../hatch/GT_MetaTileEntity_Hatch_EnergyMulti.java | 2 +- .../hatch/GT_MetaTileEntity_Hatch_Holder.java | 2 +- .../GT_MetaTileEntity_Hatch_MufflerElemental.java | 6 +- .../hatch/GT_MetaTileEntity_Hatch_Param.java | 2 +- .../hatch/GT_MetaTileEntity_Hatch_Rack.java | 6 +- .../hatch/GT_MetaTileEntity_Hatch_Uncertainty.java | 2 +- .../multi/GT_MetaTileEntity_EM_annihilation.java | 2 +- .../multi/GT_MetaTileEntity_EM_bhg.java | 2 +- .../multi/GT_MetaTileEntity_EM_collider.java | 2 +- .../multi/GT_MetaTileEntity_EM_computer.java | 2 +- .../multi/GT_MetaTileEntity_EM_crafting.java | 2 +- .../multi/GT_MetaTileEntity_EM_decay.java | 2 +- .../multi/GT_MetaTileEntity_EM_dequantizer.java | 2 +- .../multi/GT_MetaTileEntity_EM_infuser.java | 2 +- .../multi/GT_MetaTileEntity_EM_junction.java | 2 +- .../multi/GT_MetaTileEntity_EM_machine.java | 2 +- .../multi/GT_MetaTileEntity_EM_quantizer.java | 2 +- .../multi/GT_MetaTileEntity_EM_research.java | 2 +- .../multi/GT_MetaTileEntity_EM_scanner.java | 2 +- .../multi/GT_MetaTileEntity_EM_stabilizer.java | 2 +- .../multi/GT_MetaTileEntity_EM_switch.java | 2 +- .../multi/GT_MetaTileEntity_EM_transformer.java | 2 +- .../multi/GT_MetaTileEntity_EM_wormhole.java | 2 +- .../multi/GT_MetaTileEntity_MultiblockBase_EM.java | 14 +- .../multi/GT_MetaTileEntity_TM_microwave.java | 2 +- .../pipe/GT_MetaTileEntity_Pipe_Data.java | 2 +- .../pipe/GT_MetaTileEntity_Pipe_EM.java | 2 +- .../GT_MetaTileEntity_DebugPowerGenerator.java | 2 +- .../GT_MetaTileEntity_DebugStructureWriter.java | 2 +- 68 files changed, 1241 insertions(+), 1240 deletions(-) create mode 100644 src/main/java/com/github/technus/tectech/compatibility/dreamcraft/DreamCraftRecipeLoader.java create mode 100644 src/main/java/com/github/technus/tectech/compatibility/gtpp/GtppAtomLoader.java create mode 100644 src/main/java/com/github/technus/tectech/compatibility/thaumcraft/EssentiaCompat.java create mode 100644 src/main/java/com/github/technus/tectech/compatibility/thaumcraft/EssentiaCompatEnabled.java create mode 100644 src/main/java/com/github/technus/tectech/compatibility/thaumcraft/definitions/AspectDefinitionCompat.java create mode 100644 src/main/java/com/github/technus/tectech/compatibility/thaumcraft/definitions/AspectDefinitionCompatEnabled.java create mode 100644 src/main/java/com/github/technus/tectech/compatibility/thaumcraft/definitions/dComplexAspectDefinition.java create mode 100644 src/main/java/com/github/technus/tectech/compatibility/thaumcraft/definitions/ePrimalAspectDefinition.java create mode 100644 src/main/java/com/github/technus/tectech/compatibility/thaumcraft/definitions/iElementalAspect.java create mode 100644 src/main/java/com/github/technus/tectech/compatibility/thaumcraft/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_essentiaDequantizer.java create mode 100644 src/main/java/com/github/technus/tectech/compatibility/thaumcraft/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_essentiaQuantizer.java delete mode 100644 src/main/java/com/github/technus/tectech/gtppAddon/GtppAtomLoader.java delete mode 100644 src/main/java/com/github/technus/tectech/loader/DreamCraftRecipeLoader.java delete mode 100644 src/main/java/com/github/technus/tectech/magicAddon/EssentiaCompat.java delete mode 100644 src/main/java/com/github/technus/tectech/magicAddon/EssentiaCompatEnabled.java delete mode 100644 src/main/java/com/github/technus/tectech/magicAddon/definitions/AspectDefinitionCompat.java delete mode 100644 src/main/java/com/github/technus/tectech/magicAddon/definitions/AspectDefinitionCompatEnabled.java delete mode 100644 src/main/java/com/github/technus/tectech/magicAddon/definitions/dComplexAspectDefinition.java delete mode 100644 src/main/java/com/github/technus/tectech/magicAddon/definitions/ePrimalAspectDefinition.java delete mode 100644 src/main/java/com/github/technus/tectech/magicAddon/definitions/iElementalAspect.java delete mode 100644 src/main/java/com/github/technus/tectech/magicAddon/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_essentiaDequantizer.java delete mode 100644 src/main/java/com/github/technus/tectech/magicAddon/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_essentiaQuantizer.java (limited to 'src/main/java/com') diff --git a/src/main/java/com/github/technus/tectech/CommonValues.java b/src/main/java/com/github/technus/tectech/CommonValues.java index 0b01377a95..aba9944770 100644 --- a/src/main/java/com/github/technus/tectech/CommonValues.java +++ b/src/main/java/com/github/technus/tectech/CommonValues.java @@ -6,22 +6,22 @@ import net.minecraft.util.EnumChatFormatting; * Created by danie_000 on 11.01.2017. */ public final class CommonValues { - public final static String tecMark = + public final static String TEC_MARK = EnumChatFormatting.BLUE + "Tec" + EnumChatFormatting.DARK_BLUE + "Tech" + EnumChatFormatting.BLUE + ": Elemental Matter"; - public final static String bassMark = + public final static String BASS_MARK = EnumChatFormatting.BLUE + "Bass" + EnumChatFormatting.DARK_BLUE + "Tech" + EnumChatFormatting.BLUE + ": Theta Movement"; - public final static byte decayAt = 0;// hatches compute decays - public final static byte multiPurge1At = 2;// multiblocks clean their hatches 1 - public final static byte moveAt = 4;// move stuff around - public final static byte recipeAt = 6;// move stuff around - public final static byte multiPurge2At = 8;// multiblocks clean their hatches 2 - public final static byte overflowAt = 10;// then hatches clean themselves + public final static byte DECAY_AT = 0;// hatches compute decays + public final static byte MULTI_PURGE_1_AT = 2;// multiblocks clean their hatches 1 + public final static byte MOVE_AT = 4;// move stuff around + public final static byte RECIPE_AT = 6;// move stuff around + public final static byte MULTI_PURGE_2_AT = 8;// multiblocks clean their hatches 2 + public final static byte OVERFLOW_AT = 10;// then hatches clean themselves // - in case some hatches are not in multiblock structure - public final static byte multiCheckAt = 12;// multiblock checks it's state - public final static byte disperseAt = 14;// overflow hatches perform disperse + public final static byte MULTI_CHECK_AT = 12;// multiblock checks it's state + public final static byte DISPERSE_AT = 14;// overflow hatches perform disperse } diff --git a/src/main/java/com/github/technus/tectech/auxiliary/Reference.java b/src/main/java/com/github/technus/tectech/auxiliary/Reference.java index 4363d8ca88..cc5202636a 100644 --- a/src/main/java/com/github/technus/tectech/auxiliary/Reference.java +++ b/src/main/java/com/github/technus/tectech/auxiliary/Reference.java @@ -1,6 +1,6 @@ package com.github.technus.tectech.auxiliary; -public class Reference { +public final class Reference { public static final String MODID = "tectech"; public static final String NAME = "TecTech - Tec Technology!"; public static final String VERSION = "GRADLETOKEN_VERSION"; diff --git a/src/main/java/com/github/technus/tectech/compatibility/dreamcraft/DreamCraftRecipeLoader.java b/src/main/java/com/github/technus/tectech/compatibility/dreamcraft/DreamCraftRecipeLoader.java new file mode 100644 index 0000000000..14e24b92eb --- /dev/null +++ b/src/main/java/com/github/technus/tectech/compatibility/dreamcraft/DreamCraftRecipeLoader.java @@ -0,0 +1,364 @@ +package com.github.technus.tectech.compatibility.dreamcraft; + +import com.github.technus.tectech.recipe.TT_recipeAdder; +import com.github.technus.tectech.thing.CustomItemList; +import com.github.technus.tectech.thing.block.QuantumGlassBlock; +import com.github.technus.tectech.thing.item.ConstructableTriggerItem; +import gregtech.api.enums.*; +import gregtech.api.util.GT_ModHandler; +import gregtech.api.util.GT_OreDictUnificator; +import net.minecraft.init.Blocks; +import net.minecraft.item.ItemStack; +import net.minecraftforge.fluids.FluidRegistry; +import net.minecraftforge.fluids.FluidStack; + +/** + * Created by Tec on 06.08.2017. + */ +public class DreamCraftRecipeLoader implements Runnable { + @Override + public void run() { + Object[] o = new Object[0]; + + //Quantum Glass + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + CustomItemList.eM_Containment.get(1, o), + GT_ModHandler.getIC2Item("reinforcedGlass", 1L) + }, Materials.Trinium.getMolten(576), new ItemStack(QuantumGlassBlock.INSTANCE, 1), 200, 500000, true); + + //BLUEprint + GT_ModHandler.addShapelessCraftingRecipe(new ItemStack(ConstructableTriggerItem.INSTANCE, 1), + GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE, + new Object[]{Dyes.dyeBlue, OrePrefixes.plate.get(Materials.Paper), Dyes.dyeBlue, Dyes.dyeWhite}); + + //region pipes + + //Data + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + ItemList.Circuit_Parts_GlassFiber.get(8, o), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Silver, 8) + }, Materials.Polytetrafluoroethylene.getMolten(144), CustomItemList.DATApipe.get(1, o), 200, 30720, true); + + //endregion + + + //region casing + + //High Power Casing + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Iridium, 1), + GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.Iridium, 6), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Master, 1), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Cobalt, 16), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Copper, 16), + GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.NiobiumTitanium, 2) + }, Materials.TungstenSteel.getMolten(576), CustomItemList.eM_Power.get(1, o), 100, 30720, true); + + //Computer Casing + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + CustomItemList.eM_Power.get(1, o), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.StainlessSteel, 8), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Ultimate, 1), + GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.NiobiumTitanium, 2) + }, Materials.Aluminium.getMolten(1296), CustomItemList.eM_Computer_Casing.get(1, o), 200, 122880, true); + //Computer Vent Casing + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.StainlessSteel, 1), + ItemList.Electric_Motor_IV.get(2, o), + GT_OreDictUnificator.get(OrePrefixes.rotor, Materials.StainlessSteel, 2), + GT_OreDictUnificator.get(OrePrefixes.pipeTiny, Materials.StainlessSteel, 16), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Copper, 16), + GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.Superconductor, 1) + }, Materials.SolderingAlloy.getMolten(1296), CustomItemList.eM_Computer_Vent.get(1, o), 100, 1920, true); + //Advanced Computer Casing + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + CustomItemList.eM_Computer_Casing.get(1, o), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Ultimate, 1), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Cobalt, 64), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Electrum, 64), + GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.Superconductor, 4) + }, Materials.Iridium.getMolten(1296), CustomItemList.eM_Computer_Bus.get(1, o), 200, 122880, true); + + //Molecular Casing + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + CustomItemList.eM_Power.get(1, o), + GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.Osmiridium, 6), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Trinium, 12), + GT_OreDictUnificator.get(OrePrefixes.screw, Materials.TungstenSteel, 24), + GT_OreDictUnificator.get(OrePrefixes.ring, Materials.TungstenSteel, 24), + ItemList.Field_Generator_IV.get(1, o) + }, Materials.Osmium.getMolten(1296), CustomItemList.eM_Containment.get(1, o), 800, 500000, true); + + //endregion + + + //region hatches + + //Dynamo Hatches UV-UIV + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hatch_Dynamo_UV.get(1, o), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.NaquadahAlloy, 2), GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Osmium, 2)}, Materials.Silver.getMolten(1000), CustomItemList.eM_dynamomulti4_UV.get(1, o), 100, 122880); + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Transformer_MAX_UV.get(1, o), CustomItemList.eM_dynamomulti4_UV.get(1, o), GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.NaquadahAlloy, 2), GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Osmium, 4)}, Materials.Electrum.getMolten(1000), CustomItemList.eM_dynamomulti16_UV.get(1, o), 200, 122880); + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{com.dreammaster.gthandler.CustomItemList.WetTransformer_UHV_UV.get(1, o), CustomItemList.eM_dynamomulti16_UV.get(1, o), GT_OreDictUnificator.get(OrePrefixes.wireGt12, Materials.NaquadahAlloy, 2), GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Osmium, 6)}, Materials.Tungsten.getMolten(1000), CustomItemList.eM_dynamomulti64_UV.get(1, o), 400, 122880); + + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hatch_Dynamo_MAX.get(1, o), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.Superconductor, 2), GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Neutronium, 2)}, Materials.Silver.getMolten(2000), CustomItemList.eM_dynamomulti4_UHV.get(1, o), 100, 500000); + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{com.dreammaster.gthandler.CustomItemList.Transformer_UEV_UHV.get(1, o), CustomItemList.eM_dynamomulti4_UHV.get(1, o), GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.Superconductor, 2), GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Neutronium, 4)}, Materials.Electrum.getMolten(2000), CustomItemList.eM_dynamomulti16_UHV.get(1, o), 200, 500000); + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{com.dreammaster.gthandler.CustomItemList.WetTransformer_UEV_UHV.get(1, o), CustomItemList.eM_dynamomulti16_UHV.get(1, o), GT_OreDictUnificator.get(OrePrefixes.wireGt12, Materials.Superconductor, 2), GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Neutronium, 6)}, Materials.Tungsten.getMolten(2000), CustomItemList.eM_dynamomulti64_UHV.get(1, o), 400, 500000); + + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{com.dreammaster.gthandler.CustomItemList.Hatch_Dynamo_UEV.get(1, o), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.Draconium, 2), GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Bedrockium, 2)}, Materials.Silver.getMolten(4000), CustomItemList.eM_dynamomulti4_UEV.get(1, o), 100, 2000000); + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{com.dreammaster.gthandler.CustomItemList.Transformer_UIV_UEV.get(1, o), CustomItemList.eM_dynamomulti4_UEV.get(1, o), GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.Draconium, 2), GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Bedrockium, 4)}, Materials.Electrum.getMolten(4000), CustomItemList.eM_dynamomulti16_UEV.get(1, o), 200, 2000000); + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{com.dreammaster.gthandler.CustomItemList.WetTransformer_UIV_UEV.get(1, o), CustomItemList.eM_dynamomulti16_UEV.get(1, o), GT_OreDictUnificator.get(OrePrefixes.wireGt12, Materials.Draconium, 2), GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Bedrockium, 6)}, Materials.Tungsten.getMolten(4000), CustomItemList.eM_dynamomulti64_UEV.get(1, o), 400, 2000000); + + //GT_Values.RA.addAssemblerRecipe(new ItemStack[]{com.dreammaster.gthandler.CustomItemList.Hatch_Dynamo_UIV.get(1, o), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.NetherStar, 2), GT_OreDictUnificator.get(OrePrefixes.plate, Materials.BlackPlutonium, 2)}, Materials.Silver.getMolten(8000), CustomItemList.eM_dynamomulti4_UIV.get(1, o), 100, 8000000); + //GT_Values.RA.addAssemblerRecipe(new ItemStack[]{com.dreammaster.gthandler.CustomItemList.Transformer_UMV_UIV.get(1, o), CustomItemList.eM_dynamomulti4_UIV.get(1, o), GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.NetherStar, 2), GT_OreDictUnificator.get(OrePrefixes.plate, Materials.BlackPlutonium, 4)}, Materials.Electrum.getMolten(8000), CustomItemList.eM_dynamomulti16_UIV.get(1, o), 200, 8000000); + //GT_Values.RA.addAssemblerRecipe(new ItemStack[]{com.dreammaster.gthandler.CustomItemList.WetTransformer_UMV_UIV.get(1, o), CustomItemList.eM_dynamomulti16_UIV.get(1, o), GT_OreDictUnificator.get(OrePrefixes.wireGt12, Materials.NetherStar, 2), GT_OreDictUnificator.get(OrePrefixes.plate, Materials.BlackPlutonium, 6)}, Materials.Tungsten.getMolten(8000), CustomItemList.eM_dynamomulti64_UIV.get(1, o), 400, 8000000); + + //Energy Hatches UV-UIV + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hatch_Energy_UV.get(1, o), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.NaquadahAlloy, 2), GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Osmium, 2)}, Materials.Silver.getMolten(1000), CustomItemList.eM_energymulti4_UV.get(1, o), 100, 122880); + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Transformer_MAX_UV.get(1, o), CustomItemList.eM_energymulti4_UV.get(1, o), GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.NaquadahAlloy, 2), GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Osmium, 4)}, Materials.Electrum.getMolten(1000), CustomItemList.eM_energymulti16_UV.get(1, o), 200, 122880); + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{com.dreammaster.gthandler.CustomItemList.WetTransformer_UHV_UV.get(1, o), CustomItemList.eM_energymulti16_UV.get(1, o), GT_OreDictUnificator.get(OrePrefixes.wireGt12, Materials.NaquadahAlloy, 2), GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Osmium, 6)}, Materials.Tungsten.getMolten(1000), CustomItemList.eM_energymulti64_UV.get(1, o), 400, 122880); + + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hatch_Energy_MAX.get(1, o), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.Superconductor, 2), GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Neutronium, 2)}, Materials.Silver.getMolten(2000), CustomItemList.eM_energymulti4_UHV.get(1, o), 100, 500000); + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{com.dreammaster.gthandler.CustomItemList.Transformer_UEV_UHV.get(1, o), CustomItemList.eM_energymulti4_UHV.get(1, o), GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.Superconductor, 2), GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Neutronium, 4)}, Materials.Electrum.getMolten(2000), CustomItemList.eM_energymulti16_UHV.get(1, o), 200, 500000); + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{com.dreammaster.gthandler.CustomItemList.WetTransformer_UEV_UHV.get(1, o), CustomItemList.eM_energymulti16_UHV.get(1, o), GT_OreDictUnificator.get(OrePrefixes.wireGt12, Materials.Superconductor, 2), GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Neutronium, 6)}, Materials.Tungsten.getMolten(2000), CustomItemList.eM_energymulti64_UHV.get(1, o), 400, 500000); + + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{com.dreammaster.gthandler.CustomItemList.Hatch_Energy_UEV.get(1, o), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.Draconium, 2), GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Bedrockium, 2)}, Materials.Silver.getMolten(4000), CustomItemList.eM_energymulti4_UEV.get(1, o), 100, 2000000); + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{com.dreammaster.gthandler.CustomItemList.Transformer_UIV_UEV.get(1, o), CustomItemList.eM_energymulti4_UHV.get(1, o), GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.Draconium, 2), GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Bedrockium, 4)}, Materials.Electrum.getMolten(4000), CustomItemList.eM_energymulti16_UEV.get(1, o), 200, 2000000); + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{com.dreammaster.gthandler.CustomItemList.WetTransformer_UIV_UEV.get(1, o), CustomItemList.eM_energymulti16_UHV.get(1, o), GT_OreDictUnificator.get(OrePrefixes.wireGt12, Materials.Draconium, 2), GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Bedrockium, 6)}, Materials.Tungsten.getMolten(4000), CustomItemList.eM_energymulti64_UEV.get(1, o), 400, 2000000); + + //GT_Values.RA.addAssemblerRecipe(new ItemStack[]{com.dreammaster.gthandler.CustomItemList.Hatch_Energy_UIV.get(1, o), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.NetherStar, 2), GT_OreDictUnificator.get(OrePrefixes.plate, Materials.BlackPlutonium, 2)}, Materials.Silver.getMolten(8000), CustomItemList.eM_energymulti4_UIV.get(1, o), 100, 8000000); + //GT_Values.RA.addAssemblerRecipe(new ItemStack[]{com.dreammaster.gthandler.CustomItemList.Transformer_UMV_UIV.get(1, o), CustomItemList.eM_energymulti4_UIV.get(1, o), GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.NetherStar, 2), GT_OreDictUnificator.get(OrePrefixes.plate, Materials.BlackPlutonium, 4)}, Materials.Electrum.getMolten(8000), CustomItemList.eM_energymulti16_UIV.get(1, o), 200, 8000000); + //GT_Values.RA.addAssemblerRecipe(new ItemStack[]{com.dreammaster.gthandler.CustomItemList.WetTransformer_UMV_UIV.get(1, o), CustomItemList.eM_energymulti16_UIV.get(1, o), GT_OreDictUnificator.get(OrePrefixes.wireGt12, Materials.NetherStar, 2), GT_OreDictUnificator.get(OrePrefixes.plate, Materials.BlackPlutonium, 6)}, Materials.Tungsten.getMolten(8000), CustomItemList.eM_energymulti64_UIV.get(1, o), 400, 8000000); + + //Data Input + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + CustomItemList.eM_Computer_Casing.get(1, o), + ItemList.Hatch_Input_Bus_LuV.get(1, o), + ItemList.Circuit_Crystalcomputer.get(1, o), + CustomItemList.DATApipe.get(2, o) + }, Materials.Iridium.getMolten(1296), CustomItemList.dataIn_Hatch.get(1, o), 200, 122880, true); + //Data Output + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + CustomItemList.eM_Computer_Casing.get(1, o), + ItemList.Hatch_Output_Bus_LuV.get(1, o), + ItemList.Circuit_Crystalcomputer.get(1, o), + CustomItemList.DATApipe.get(2, o) + }, Materials.Iridium.getMolten(1296), CustomItemList.dataOut_Hatch.get(1, o), 200, 122880, true); + + //Rack + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + CustomItemList.eM_Computer_Bus.get(1, o), + ItemList.Hatch_Input_Bus_ZPM.get(1, o), + ItemList.Circuit_Crystalcomputer.get(2, o), + CustomItemList.DATApipe.get(4, o) + }, Materials.Iridium.getMolten(1296), CustomItemList.rack_Hatch.get(1, o), 800, 122880, true); + + //Object Holder + GT_Values.RA.addAssemblylineRecipe(ItemList.Hatch_Input_Bus_ZPM.get(1), 10000, new ItemStack[]{ + ItemList.Hatch_Input_Bus_ZPM.get(1), + CustomItemList.eM_Computer_Bus.get(1, o), + ItemList.Emitter_ZPM.get(8), + ItemList.Robot_Arm_ZPM.get(1), + ItemList.Electric_Motor_ZPM.get(2), + ItemList.Circuit_Crystalmainframe.get(1), + GT_OreDictUnificator.get(OrePrefixes.cableGt02, Materials.Naquadah, 2), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Naquadah, 16), + CustomItemList.DATApipe.get(2, o), + }, new FluidStack[]{ + Materials.UUMatter.getFluid(500), + Materials.Iridium.getMolten(1000), + new FluidStack(FluidRegistry.getFluid("ic2coolant"), 1000) + }, CustomItemList.holder_Hatch.get(1), 1200, 100000); + + //Parameterizer + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + CustomItemList.eM_Computer_Casing.get(1, o), + ItemList.Circuit_Masterquantumcomputer.get(1, o), + CustomItemList.DATApipe.get(4, o), + ItemList.Cover_Screen.get(1, o ), + new ItemStack(Blocks.stone_button, 16), + }, Materials.Iridium.getMolten(2592), CustomItemList.Parametrizer_Hatch.get(1, o), 800, 122880, true); + //Uncertainty + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + CustomItemList.eM_Computer_Casing.get(1, o), + ItemList.Circuit_Ultimatecrystalcomputer.get(1, o), + CustomItemList.DATApipe.get(16, o), + ItemList.Cover_Screen.get(1, o ), + new ItemStack(Blocks.stone_button, 16), + }, Materials.Iridium.getMolten(2592), CustomItemList.Uncertainty_Hatch.get(1, o), 1200, 122880, true); + + //Elemental Input + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + CustomItemList.eM_Containment.get(1, o), + ItemList.Hatch_Input_UV.get(1, o), + GT_OreDictUnificator.get(OrePrefixes.pipeMedium, Materials.Naquadah, 2), + ItemList.Sensor_UV.get(1, o) + }, Materials.Osmiridium.getMolten(1296), CustomItemList.eM_in_UV.get(1, o), 800, 500000, true); + //Elemental Output + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + CustomItemList.eM_Containment.get(1, o), + ItemList.Hatch_Output_UV.get(1, o), + GT_OreDictUnificator.get(OrePrefixes.pipeMedium, Materials.Naquadah, 2), + ItemList.Emitter_UV.get(1, o) + }, Materials.Osmiridium.getMolten(1296), CustomItemList.eM_out_UV.get(1, o), 800, 500000, true); + //Overflow + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + CustomItemList.eM_Containment.get(1, o), + ItemList.Hatch_Muffler_UV.get(1, o), + GT_OreDictUnificator.get(OrePrefixes.pipeLarge, Materials.Naquadah, 1), + ItemList.Field_Generator_UV.get(1, o) + }, Materials.Osmiridium.getMolten(1296), CustomItemList.eM_muffler_UV.get(1, o), 800, 500000, true); + + //endregion + + + //region multiblocks + + //Microwave Grinder todo HV recipe + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + com.dreammaster.gthandler.CustomItemList.WetTransformer_ZPM_LuV.get(1, o), + com.dreammaster.gthandler.CustomItemList.HighEnergyFlowCircuit.get(1, o), + GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.Superconductor, 16), + ItemList.Circuit_Chip_UHPIC.get(2, o), + }, Materials.TungstenSteel.getMolten(576), CustomItemList.Machine_Multi_Microwave.get(1, o), 400, 500, true); + + //Active Transformer + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + com.dreammaster.gthandler.CustomItemList.WetTransformer_ZPM_LuV.get(1, o), + com.dreammaster.gthandler.CustomItemList.HighEnergyFlowCircuit.get(1, o), + GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.Superconductor, 16), + ItemList.Circuit_Chip_UHPIC.get(2, o), + }, Materials.TungstenSteel.getMolten(576), CustomItemList.Machine_Multi_Transformer.get(1, o), 400, 30720, true); + + //Network Switch + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + CustomItemList.Machine_Multi_Transformer.get(1, o), + ItemList.Circuit_Ultimatecrystalcomputer.get(1, o), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Cobalt, 64), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Copper, 64), + CustomItemList.DATApipe.get(4, o), + }, Materials.Iridium.getMolten(1296), CustomItemList.Machine_Multi_Switch.get(1, o), 800, 122880, true); + + //Quantum Computer + GT_Values.RA.addAssemblylineRecipe(ItemList.Tool_DataOrb.get(1), 20000, new ItemStack[]{ + CustomItemList.Machine_Multi_Switch.get(1), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Superconductor, 2), + ItemList.Tool_DataOrb.get(1), + ItemList.Cover_Screen.get(1, o), + GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.Superconductor, 8), + CustomItemList.DATApipe.get(8, o), + }, new FluidStack[]{ + Materials.UUMatter.getFluid(1000), + Materials.Iridium.getMolten(1296), + new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), + Materials.Hydrogen.getGas(1000), + }, CustomItemList.Machine_Multi_Computer.get(1), 12000, 100000); + + //Research Station + GT_Values.RA.addAssemblylineRecipe(com.dreammaster.gthandler.CustomItemList.ScannerZPM.get(1), 80000, new ItemStack[]{ + CustomItemList.Machine_Multi_Switch.get(1), + ItemList.Sensor_ZPM.get(8), + ItemList.Circuit_Crystalmainframe.get(4), + ItemList.Field_Generator_ZPM.get(1), + ItemList.Electric_Motor_ZPM.get(2), + GT_OreDictUnificator.get(OrePrefixes.cableGt02, Materials.Naquadah, 4), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Naquadah, 32), + CustomItemList.DATApipe.get(16, o), + }, new FluidStack[]{ + Materials.UUMatter.getFluid(1000), + Materials.Iridium.getMolten(1296), + new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), + Materials.Osmium.getMolten(1296), + }, CustomItemList.Machine_Multi_Research.get(1), 12000, 100000); + + //Matter Junction + TT_recipeAdder.addResearchableAssemblylineRecipe(CustomItemList.Machine_Multi_Switch.get(1), + 8000,32, 500000, 4, new ItemStack[]{ + CustomItemList.Machine_Multi_Transformer.get(1), + GT_OreDictUnificator.get(OrePrefixes.pipeMedium, Materials.Naquadah, 4), + ItemList.Robot_Arm_LuV.get(2), + ItemList.Electric_Piston_LuV.get(2), + ItemList.Circuit_Wetwaresupercomputer.get(2), + GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.Superconductor, 4), + }, new FluidStack[]{ + Materials.UUMatter.getFluid(1000), + Materials.Naquadah.getMolten(1296), + new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), + Materials.Osmium.getMolten(1296), + }, CustomItemList.Machine_Multi_EMjunction.get(1), 12000, 100000); + + //Matter Quantizer + TT_recipeAdder.addResearchableAssemblylineRecipe(ItemList.Hatch_Input_UV.get(1), + 12000,32, 500000, 6, new ItemStack[]{ + CustomItemList.Machine_Multi_Transformer.get(1), + GT_OreDictUnificator.get(OrePrefixes.pipeMedium, Materials.Naquadah, 4), + ItemList.Emitter_UV.get(2), + ItemList.Circuit_Wetwaresupercomputer.get(1), + GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.Superconductor, 2), + }, new FluidStack[]{ + Materials.UUMatter.getFluid(1000), + Materials.Naquadah.getMolten(1296), + new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), + Materials.Osmium.getMolten(1296), + }, CustomItemList.Machine_Multi_MatterToEM.get(1), 12000, 100000); + + //Matter DeQuantizer + TT_recipeAdder.addResearchableAssemblylineRecipe(ItemList.Hatch_Output_UV.get(1), + 12000,32, 500000, 6, new ItemStack[]{ + CustomItemList.Machine_Multi_Transformer.get(1), + GT_OreDictUnificator.get(OrePrefixes.pipeMedium, Materials.Naquadah, 4), + ItemList.Sensor_UV.get(2), + ItemList.Circuit_Wetwaresupercomputer.get(1), + GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.Superconductor, 2), + }, new FluidStack[]{ + Materials.UUMatter.getFluid(1000), + Materials.Naquadah.getMolten(1296), + new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), + Materials.Osmium.getMolten(1296), + }, CustomItemList.Machine_Multi_EMToMatter.get(1), 12000, 100000); + + //Essentia Quantizer + TT_recipeAdder.addResearchableAssemblylineRecipe(CustomItemList.Machine_Multi_MatterToEM.get(1), + 15000,32, 500000, 8, new ItemStack[]{ + CustomItemList.Machine_Multi_MatterToEM.get(1), + GT_OreDictUnificator.get(OrePrefixes.pipeMedium, Materials.Neutronium, 4), + ItemList.Emitter_UV.get(2), + ItemList.Circuit_Wetwaresupercomputer.get(1), + GT_OreDictUnificator.get(OrePrefixes.cableGt02, Materials.Draconium, 2), + }, new FluidStack[]{ + Materials.UUMatter.getFluid(2000), + Materials.Void.getMolten(2592), + new FluidStack(FluidRegistry.getFluid("ic2coolant"), 4000), + Materials.Osmium.getMolten(1296), + }, CustomItemList.Machine_Multi_EssentiaToEM.get(1), 24000, 400000); + + //Essentia DeQuantizer + TT_recipeAdder.addResearchableAssemblylineRecipe(CustomItemList.Machine_Multi_EMToMatter.get(1), + 15000,32, 500000, 8, new ItemStack[]{ + CustomItemList.Machine_Multi_EMToMatter.get(1), + GT_OreDictUnificator.get(OrePrefixes.pipeMedium, Materials.Neutronium, 4), + ItemList.Sensor_UV.get(2), + ItemList.Circuit_Wetwaresupercomputer.get(1), + GT_OreDictUnificator.get(OrePrefixes.cableGt02, Materials.Draconium, 2), + }, new FluidStack[]{ + Materials.UUMatter.getFluid(2000), + Materials.Void.getMolten(2592), + new FluidStack(FluidRegistry.getFluid("ic2coolant"), 4000), + Materials.Osmium.getMolten(1296), + }, CustomItemList.Machine_Multi_EMToEssentia.get(1), 24000, 400000); + + //EM Scanner todo ItemStack[] FluidStack[] + TT_recipeAdder.addResearchableAssemblylineRecipe(CustomItemList.Machine_Multi_Research.get(1), + 150000,128, 500000, 16, new ItemStack[]{ + CustomItemList.Machine_Multi_EMjunction.get(1), + GT_OreDictUnificator.get(OrePrefixes.pipeMedium, Materials.Neutronium, 4), + ItemList.Sensor_UV.get(2), + ItemList.Circuit_Wetwaresupercomputer.get(1), + GT_OreDictUnificator.get(OrePrefixes.cableGt02, Materials.Draconium, 2), + }, new FluidStack[]{ + Materials.UUMatter.getFluid(2000), + Materials.Iridium.getMolten(2592), + new FluidStack(FluidRegistry.getFluid("ic2coolant"), 4000), + Materials.Osmium.getMolten(1296), + }, CustomItemList.Machine_Multi_Scanner.get(1), 24000, 400000); + //endregion + } +} diff --git a/src/main/java/com/github/technus/tectech/compatibility/gtpp/GtppAtomLoader.java b/src/main/java/com/github/technus/tectech/compatibility/gtpp/GtppAtomLoader.java new file mode 100644 index 0000000000..13e76073a5 --- /dev/null +++ b/src/main/java/com/github/technus/tectech/compatibility/gtpp/GtppAtomLoader.java @@ -0,0 +1,45 @@ +package com.github.technus.tectech.compatibility.gtpp; + +import com.github.technus.tectech.elementalMatter.classes.cElementalDefinitionStack; +import gregtech.api.enums.OrePrefixes; +import gtPlusPlus.core.material.ELEMENT; +import gtPlusPlus.core.material.MaterialGenerator; + +import static com.github.technus.tectech.elementalMatter.definitions.dAtomDefinition.getBestUnstableIsotope; +import static com.github.technus.tectech.elementalMatter.definitions.dAtomDefinition.getFirstStableIsotope; +import static com.github.technus.tectech.elementalMatter.definitions.dAtomDefinition.transformation; + +public class GtppAtomLoader implements Runnable{ + @Override + public void run() { + transformation.addFluid(new cElementalDefinitionStack(getFirstStableIsotope(10), 144), ELEMENT.getInstance().NEON.getFluid(144)); + MaterialGenerator.generate(ELEMENT.getInstance().GERMANIUM); + transformation.addOredict(new cElementalDefinitionStack(getFirstStableIsotope(32), 144), OrePrefixes.dust, ELEMENT.getInstance().GERMANIUM.getUnlocalizedName(),1); + transformation.addOredict(new cElementalDefinitionStack(getFirstStableIsotope(34), 144), OrePrefixes.dust, ELEMENT.getInstance().SELENIUM.getUnlocalizedName(),1); + transformation.addFluid(new cElementalDefinitionStack(getFirstStableIsotope(35), 144), ELEMENT.getInstance().BROMINE.getFluid(144)); + transformation.addFluid(new cElementalDefinitionStack(getFirstStableIsotope(36), 144), ELEMENT.getInstance().KRYPTON.getFluid(144)); + transformation.addOredict(new cElementalDefinitionStack(getFirstStableIsotope(40), 144),OrePrefixes.dust, ELEMENT.getInstance().ZIRCONIUM.getUnlocalizedName(),1); + transformation.addOredict(new cElementalDefinitionStack(getFirstStableIsotope(43), 144),OrePrefixes.dust, ELEMENT.getInstance().TECHNETIUM.getUnlocalizedName(),1); + transformation.addOredict(new cElementalDefinitionStack(getFirstStableIsotope(44), 144),OrePrefixes.dust, ELEMENT.getInstance().RUTHENIUM.getUnlocalizedName(),1); + transformation.addOredict(new cElementalDefinitionStack(getFirstStableIsotope(45), 144),OrePrefixes.dust, ELEMENT.getInstance().RHODIUM.getUnlocalizedName(),1); + transformation.addOredict(new cElementalDefinitionStack(getFirstStableIsotope(53), 144),OrePrefixes.dust, ELEMENT.getInstance().IODINE.getUnlocalizedName(),1); + transformation.addFluid(new cElementalDefinitionStack(getFirstStableIsotope(54), 144),ELEMENT.getInstance().XENON.getFluid(144)); + transformation.addOredict(new cElementalDefinitionStack(getFirstStableIsotope(72), 144),OrePrefixes.dust, ELEMENT.getInstance().HAFNIUM.getUnlocalizedName(),1); + transformation.addOredict(new cElementalDefinitionStack(getFirstStableIsotope(75), 144),OrePrefixes.dust, ELEMENT.getInstance().RHENIUM.getUnlocalizedName(),1); + transformation.addOredict(new cElementalDefinitionStack(getFirstStableIsotope(81), 144),OrePrefixes.dust, ELEMENT.getInstance().THALLIUM.getUnlocalizedName(),1); + + transformation.addOredict(new cElementalDefinitionStack(getBestUnstableIsotope(84),144),OrePrefixes.dust, ELEMENT.getInstance().POLONIUM.getUnlocalizedName(),1); + transformation.addOredict(new cElementalDefinitionStack(getBestUnstableIsotope(85),144),OrePrefixes.dust, ELEMENT.getInstance().ASTATINE.getUnlocalizedName(),1); + transformation.addOredict(new cElementalDefinitionStack(getBestUnstableIsotope(87),144),OrePrefixes.dust, ELEMENT.getInstance().FRANCIUM.getUnlocalizedName(),1); + transformation.addOredict(new cElementalDefinitionStack(getBestUnstableIsotope(88),144),OrePrefixes.dust, ELEMENT.getInstance().RADIUM.getUnlocalizedName(),1); + transformation.addOredict(new cElementalDefinitionStack(getBestUnstableIsotope(89),144),OrePrefixes.dust, ELEMENT.getInstance().ACTINIUM.getUnlocalizedName(),1); + transformation.addOredict(new cElementalDefinitionStack(getBestUnstableIsotope(91),144),OrePrefixes.dust, ELEMENT.getInstance().PROTACTINIUM.getUnlocalizedName(),1); + transformation.addOredict(new cElementalDefinitionStack(getBestUnstableIsotope(93),144),OrePrefixes.dust, ELEMENT.getInstance().NEPTUNIUM.getUnlocalizedName(),1); + + transformation.addOredict(new cElementalDefinitionStack(getBestUnstableIsotope(96),144),OrePrefixes.dust, ELEMENT.getInstance().CURIUM.getUnlocalizedName(),1); + transformation.addOredict(new cElementalDefinitionStack(getBestUnstableIsotope(97),144),OrePrefixes.dust, ELEMENT.getInstance().BERKELIUM.getUnlocalizedName(),1); + transformation.addOredict(new cElementalDefinitionStack(getBestUnstableIsotope(98),144),OrePrefixes.dust, ELEMENT.getInstance().CALIFORNIUM.getUnlocalizedName(),1); + transformation.addOredict(new cElementalDefinitionStack(getBestUnstableIsotope(99),144),OrePrefixes.dust, ELEMENT.getInstance().EINSTEINIUM.getUnlocalizedName(),1); + transformation.addOredict(new cElementalDefinitionStack(getBestUnstableIsotope(100),144),OrePrefixes.dust, ELEMENT.getInstance().FERMIUM.getUnlocalizedName(),1); + } +} diff --git a/src/main/java/com/github/technus/tectech/compatibility/thaumcraft/EssentiaCompat.java b/src/main/java/com/github/technus/tectech/compatibility/thaumcraft/EssentiaCompat.java new file mode 100644 index 0000000000..dc0c55439d --- /dev/null +++ b/src/main/java/com/github/technus/tectech/compatibility/thaumcraft/EssentiaCompat.java @@ -0,0 +1,30 @@ +package com.github.technus.tectech.compatibility.thaumcraft; + +import com.github.technus.tectech.elementalMatter.classes.cElementalInstanceStack; +import com.github.technus.tectech.thing.metaTileEntity.multi.GT_MetaTileEntity_MultiblockBase_EM; +import net.minecraft.tileentity.TileEntity; + +/** + * Created by Tec on 21.05.2017. + */ +public class EssentiaCompat { + public static EssentiaCompat essentiaContainerCompat; + + public void run(){} + + public boolean check(GT_MetaTileEntity_MultiblockBase_EM meta){ + return false; + } + + public TileEntity getContainer(GT_MetaTileEntity_MultiblockBase_EM meta){ + return null; + } + + public boolean putElementalInstanceStack(TileEntity conatainer, cElementalInstanceStack stack){ + return false; + } + + public cElementalInstanceStack getFromContainer(TileEntity container){ + return null; + } +} diff --git a/src/main/java/com/github/technus/tectech/compatibility/thaumcraft/EssentiaCompatEnabled.java b/src/main/java/com/github/technus/tectech/compatibility/thaumcraft/EssentiaCompatEnabled.java new file mode 100644 index 0000000000..fd50ff3af1 --- /dev/null +++ b/src/main/java/com/github/technus/tectech/compatibility/thaumcraft/EssentiaCompatEnabled.java @@ -0,0 +1,69 @@ +package com.github.technus.tectech.compatibility.thaumcraft; + +import com.github.technus.tectech.elementalMatter.classes.cElementalDefinition; +import com.github.technus.tectech.elementalMatter.classes.cElementalInstanceStack; +import com.github.technus.tectech.compatibility.thaumcraft.definitions.iElementalAspect; +import com.github.technus.tectech.thing.metaTileEntity.multi.GT_MetaTileEntity_MultiblockBase_EM; +import net.minecraft.tileentity.TileEntity; +import thaumcraft.api.aspects.Aspect; +import thaumcraft.api.aspects.AspectList; +import thaumcraft.api.aspects.IAspectContainer; +import thaumcraft.common.tiles.TileEssentiaReservoir; +import thaumcraft.common.tiles.TileJarFillable; + +import static com.github.technus.tectech.compatibility.thaumcraft.definitions.AspectDefinitionCompat.aspectToDef; + +/** + * Created by Tec on 21.05.2017. + */ +public class EssentiaCompatEnabled extends EssentiaCompat { + @Override + public void run() { + + } + + @Override + public boolean check(GT_MetaTileEntity_MultiblockBase_EM meta) { + TileEntity tile =meta.getBaseMetaTileEntity().getTileEntityAtSide(meta.getBaseMetaTileEntity().getBackFacing()); + return tile!=null && (tile instanceof TileEssentiaReservoir) || (tile instanceof TileJarFillable); + } + + @Override + public TileEntity getContainer(GT_MetaTileEntity_MultiblockBase_EM meta) { + TileEntity tile =meta.getBaseMetaTileEntity().getTileEntityAtSide(meta.getBaseMetaTileEntity().getBackFacing()); + return tile!=null && !tile.isInvalid() && (tile instanceof TileEssentiaReservoir) || (tile instanceof TileJarFillable)?tile:null; + } + + @Override + public boolean putElementalInstanceStack(TileEntity container,cElementalInstanceStack stack){ + if(container==null || container.isInvalid())return false; + if((container instanceof IAspectContainer) && (stack.definition instanceof iElementalAspect)){ + Aspect aspect=(Aspect)(((iElementalAspect) stack.definition).materializeIntoAspect()); + if(aspect!=null){ + ((IAspectContainer) container).addToContainer(aspect,1); + return true; + } + } + return false; + } + + @Override + public cElementalInstanceStack getFromContainer(TileEntity container){ + if(container==null || container.isInvalid())return null; + if(container instanceof IAspectContainer){ + AspectList aspects=((IAspectContainer) container).getAspects(); + if(aspects!=null){ + Aspect[] aspectsArr= aspects.getAspects(); + if(aspectsArr!=null && aspectsArr[0]!=null){ + if (((IAspectContainer) container).takeFromContainer(aspectsArr[0],1)){ + cElementalDefinition def=aspectToDef.get(aspectsArr[0].getTag()); + if(def!=null){ + return new cElementalInstanceStack(def,1); + } + } + } + } + } + return null; + } +} diff --git a/src/main/java/com/github/technus/tectech/compatibility/thaumcraft/definitions/AspectDefinitionCompat.java b/src/main/java/com/github/technus/tectech/compatibility/thaumcraft/definitions/AspectDefinitionCompat.java new file mode 100644 index 0000000000..8e2c3a6684 --- /dev/null +++ b/src/main/java/com/github/technus/tectech/compatibility/thaumcraft/definitions/AspectDefinitionCompat.java @@ -0,0 +1,30 @@ +package com.github.technus.tectech.compatibility.thaumcraft.definitions; + + +import com.github.technus.tectech.elementalMatter.classes.cElementalDefinition; +import com.github.technus.tectech.elementalMatter.interfaces.iElementalDefinition; + +import java.util.HashMap; + +/** + * Created by Tec on 21.05.2017. + */ +public class AspectDefinitionCompat { + public static AspectDefinitionCompat aspectDefinitionCompat; + static final HashMap defToAspect = new HashMap<>(); + public static final HashMap aspectToDef = new HashMap<>(); + + public void run(){} + + Object getAspect(cElementalDefinition definition){ + return null; + } + + String getAspectTag(cElementalDefinition definition){ + return null; + } + + iElementalDefinition getDefinition(String aspect){ + return null; + } +} diff --git a/src/main/java/com/github/technus/tectech/compatibility/thaumcraft/definitions/AspectDefinitionCompatEnabled.java b/src/main/java/com/github/technus/tectech/compatibility/thaumcraft/definitions/AspectDefinitionCompatEnabled.java new file mode 100644 index 0000000000..c8ce016a20 --- /dev/null +++ b/src/main/java/com/github/technus/tectech/compatibility/thaumcraft/definitions/AspectDefinitionCompatEnabled.java @@ -0,0 +1,81 @@ +package com.github.technus.tectech.compatibility.thaumcraft.definitions; + +import com.github.technus.tectech.elementalMatter.classes.cElementalDefinition; +import com.github.technus.tectech.elementalMatter.classes.tElementalException; +import com.github.technus.tectech.elementalMatter.interfaces.iElementalDefinition; +import thaumcraft.api.aspects.Aspect; + +import java.util.ArrayList; + +import static com.github.technus.tectech.compatibility.thaumcraft.definitions.ePrimalAspectDefinition.*; + +/** + * Created by Tec on 21.05.2017. + */ +public final class AspectDefinitionCompatEnabled extends AspectDefinitionCompat { + public void run(){ + defToAspect.put(magic_air,"aer"); + defToAspect.put(magic_earth,"terra"); + defToAspect.put(magic_fire,"ignis"); + defToAspect.put(magic_water,"aqua"); + defToAspect.put(magic_order,"ordo"); + defToAspect.put(magic_entropy,"perditio"); + + aspectToDef.put("aer",magic_air); + aspectToDef.put("terra",magic_earth); + aspectToDef.put("ignis",magic_fire); + aspectToDef.put("aqua",magic_water); + aspectToDef.put("ordo",magic_order); + aspectToDef.put("perditio",magic_entropy); + + ArrayList list=Aspect.getCompoundAspects(); + Aspect[] array=list.toArray(new Aspect[0]); + while (!list.isEmpty()) { + for (Aspect aspect : array) { + if (list.contains(aspect)) { + Aspect[] content = aspect.getComponents(); + if (content.length != 2) { + list.remove(aspect); + }else if(aspectToDef.containsKey(content[0].getTag()) && + aspectToDef.containsKey(content[1].getTag())){ + try { + dComplexAspectDefinition newAspect; + if(content[0].getTag().equals(content[1].getTag())){ + newAspect = new dComplexAspectDefinition( + aspectToDef.get(content[0].getTag()).getStackForm(2) + ); + }else{ + newAspect = new dComplexAspectDefinition( + aspectToDef.get(content[0].getTag()).getStackForm(1), + aspectToDef.get(content[1].getTag()).getStackForm(1) + ); + } + aspectToDef.put(aspect.getTag(),newAspect); + defToAspect.put(newAspect,aspect.getTag()); + }catch (tElementalException e) { + /**/ + }finally { + list.remove(aspect); + } + } + } + } + } + } + + @Override + Aspect getAspect(cElementalDefinition definition) { + return Aspect.getAspect(defToAspect.get(definition)); + } + + @Override + String getAspectTag(cElementalDefinition definition) { + return defToAspect.get(definition); + } + + @Override + iElementalDefinition getDefinition(String aspect) { + return aspectToDef.get(aspect); + } + +} diff --git a/src/main/java/com/github/technus/tectech/compatibility/thaumcraft/definitions/dComplexAspectDefinition.java b/src/main/java/com/github/technus/tectech/compatibility/thaumcraft/definitions/dComplexAspectDefinition.java new file mode 100644 index 0000000000..667072a62e --- /dev/null +++ b/src/main/java/com/github/technus/tectech/compatibility/thaumcraft/definitions/dComplexAspectDefinition.java @@ -0,0 +1,209 @@ +package com.github.technus.tectech.compatibility.thaumcraft.definitions; + +import com.github.technus.tectech.TecTech; +import com.github.technus.tectech.elementalMatter.classes.*; +import com.github.technus.tectech.elementalMatter.definitions.eBosonDefinition; +import com.github.technus.tectech.elementalMatter.interfaces.iElementalDefinition; +import net.minecraft.nbt.NBTTagCompound; + +import static com.github.technus.tectech.auxiliary.TecTechConfig.DEBUG_MODE; +import static com.github.technus.tectech.elementalMatter.classes.cElementalDecay.noDecay; +import static com.github.technus.tectech.compatibility.thaumcraft.definitions.AspectDefinitionCompat.aspectDefinitionCompat; + +/** + * Created by Tec on 06.05.2017. + */ +public final class dComplexAspectDefinition extends cElementalDefinition implements iElementalAspect { + private final int hash; + public final float mass; + + private static final byte nbtType = (byte) 'c'; + + private final cElementalDefinitionStackMap aspectStacks; + + @Deprecated + public dComplexAspectDefinition(cElementalDefinition... aspects) throws tElementalException { + this(true, new cElementalDefinitionStackMap(aspects)); + } + + @Deprecated + private dComplexAspectDefinition(boolean check, cElementalDefinition... aspects) throws tElementalException { + this(check, new cElementalDefinitionStackMap(aspects)); + } + + public dComplexAspectDefinition(cElementalDefinitionStack... aspects) throws tElementalException { + this(true, new cElementalDefinitionStackMap(aspects)); + } + + private dComplexAspectDefinition(boolean check, cElementalDefinitionStack... aspects) throws tElementalException { + this(check, new cElementalDefinitionStackMap(aspects)); + } + + public dComplexAspectDefinition(cElementalDefinitionStackMap aspects) throws tElementalException { + this(true, aspects); + } + + private dComplexAspectDefinition(boolean check, cElementalDefinitionStackMap aspects) throws tElementalException { + if (check && !canTheyBeTogether(aspects)) throw new tElementalException("Hadron Definition error"); + this.aspectStacks = aspects; + float mass=0; + for(cElementalDefinitionStack stack:aspects.values()){ + mass+=stack.getMass(); + } + this.mass=mass; + hash=super.hashCode(); + } + + //public but u can just try{}catch(){} the constructor it still calls this method + private static boolean canTheyBeTogether(cElementalDefinitionStackMap stacks) { + int amount = 0; + for (cElementalDefinitionStack aspects : stacks.values()) { + if (aspects.definition instanceof dComplexAspectDefinition || aspects.definition instanceof ePrimalAspectDefinition) + amount += aspects.amount; + else return false; + } + return amount==2; + } + + @Override + public String getName() { + String name= aspectDefinitionCompat.getAspectTag(this); + if(name!=null){ + name=name.substring(0,1).toUpperCase()+name.substring(1); + }else{ + name=getSymbol(); + } + return "Aspect: "+name; + } + + @Override + public String getSymbol() { + String symbol = ""; + for (cElementalDefinitionStack aspect : aspectStacks.values()) { + if (aspect.definition instanceof ePrimalAspectDefinition) { + for (int i = 0; i < aspect.amount; i++) { + symbol += aspect.definition.getSymbol(); + } + } else { + symbol+="("; + for (int i = 0; i < aspect.amount; i++) { + symbol += aspect.definition.getSymbol(); + } + symbol+=")"; + } + } + return symbol; + } + + @Override + public NBTTagCompound toNBT() { + NBTTagCompound nbt = new NBTTagCompound(); + nbt.setByte("t", nbtType); + cElementalDefinitionStack[] quarkStacksValues = aspectStacks.values(); + nbt.setInteger("i", quarkStacksValues.length); + for (int i = 0; i < quarkStacksValues.length; i++) + nbt.setTag(Integer.toString(i), quarkStacksValues[i].toNBT()); + return nbt; + } + + public static iElementalDefinition fromNBT(NBTTagCompound nbt) { + cElementalDefinitionStack[] stacks = new cElementalDefinitionStack[nbt.getInteger("i")]; + for (int i = 0; i < stacks.length; i++) + stacks[i] = cElementalDefinitionStack.fromNBT(nbt.getCompoundTag(Integer.toString(i))); + try { + return new dComplexAspectDefinition(stacks); + } catch (tElementalException e) { + if (DEBUG_MODE) e.printStackTrace(); + return null; + } + } + + @Override + public float getRawLifeTime() { + return -1; + } + + @Override + public int getCharge() { + return 0; + } + + @Override + public byte getType() { + return 0; + } + + @Override + public byte getColor() { + return -1; + } + + @Override + public cElementalDefinitionStackMap getSubParticles() { + return aspectStacks; + } + + @Override + public cElementalDecay[] getEnergeticDecayInstant() { + return new cElementalDecay[]{new cElementalDecay(0.75F, aspectStacks), eBosonDefinition.deadEnd}; + } + + @Override + public cElementalDecay[] getNaturalDecayInstant() { + return noDecay; + } + + @Override + public cElementalDecay[] getDecayArray() { + return noDecay; + } + + @Override + public float getMass() { + return mass; + } + + @Override + public aFluidDequantizationInfo someAmountIntoFluidStack() { + return null; + } + + @Override + public aItemDequantizationInfo someAmountIntoItemsStack() { + return null; + } + + @Override + public aOredictDequantizationInfo someAmountIntoOredictStack() { + return null; + } + + public Object materializeIntoAspect() { + return aspectDefinitionCompat.getAspect(this); + } + + @Override + public iElementalDefinition getAnti() { + return null; + } + + public static void run() { + try { + cElementalDefinition.addCreatorFromNBT(nbtType, dComplexAspectDefinition.class.getMethod("fromNBT", NBTTagCompound.class),(byte)-96); + } catch (Exception e) { + if (DEBUG_MODE) e.printStackTrace(); + } + if(DEBUG_MODE) + TecTech.Logger.info("Registered Elemental Matter Class: ComplexAspect "+nbtType+" "+(-96)); + } + + @Override + public byte getClassType() { + return -96; + } + + @Override + public int hashCode() { + return hash; + } +} diff --git a/src/main/java/com/github/technus/tectech/compatibility/thaumcraft/definitions/ePrimalAspectDefinition.java b/src/main/java/com/github/technus/tectech/compatibility/thaumcraft/definitions/ePrimalAspectDefinition.java new file mode 100644 index 0000000000..ff203da5bc --- /dev/null +++ b/src/main/java/com/github/technus/tectech/compatibility/thaumcraft/definitions/ePrimalAspectDefinition.java @@ -0,0 +1,42 @@ +package com.github.technus.tectech.compatibility.thaumcraft.definitions; + +import com.github.technus.tectech.elementalMatter.classes.cElementalPrimitive; + +import static com.github.technus.tectech.elementalMatter.classes.cElementalDecay.noDecay; +import static com.github.technus.tectech.compatibility.thaumcraft.definitions.AspectDefinitionCompat.aspectDefinitionCompat; + +/** + * Created by Tec on 06.05.2017. + */ +public final class ePrimalAspectDefinition extends cElementalPrimitive implements iElementalAspect { + public static final ePrimalAspectDefinition + magic_air = new ePrimalAspectDefinition("Air", "a`", 0, 1e1F, 0, -1, 35), + magic_earth = new ePrimalAspectDefinition("Earth", "e`", 0, 1e9F, 0, -1, 34), + magic_fire = new ePrimalAspectDefinition("Fire", "f`", 0, 1e3F, 0, -1, 33), + magic_water = new ePrimalAspectDefinition("Water", "w`", 0, 1e7F, 0, -1, 32), + magic_order = new ePrimalAspectDefinition("Order", "o`", 0, 1e5F, 0, -1, 30), + magic_entropy = new ePrimalAspectDefinition("Entropy", "e`", 0, 1e5F, 0, -1, 31); + + private ePrimalAspectDefinition(String name, String symbol, int type, float mass, int charge, int color, int ID) { + super(name, symbol, type, mass, charge, color, ID); + } + + public static void run() { + magic_air.init(null, -1F, -1, -1, noDecay); + magic_earth.init(null, -1F, -1, -1, noDecay); + magic_fire.init(null, -1F, -1, -1, noDecay); + magic_water.init(null, -1F, -1, -1, noDecay); + magic_order.init(null, -1F, -1, -1, noDecay); + magic_entropy.init(null, -1F, -1, -1, noDecay); + } + + @Override + public String getName() { + return "Primal: " + name; + } + + public Object materializeIntoAspect() { + return aspectDefinitionCompat.getAspect(this); + } +} + diff --git a/src/main/java/com/github/technus/tectech/compatibility/thaumcraft/definitions/iElementalAspect.java b/src/main/java/com/github/technus/tectech/compatibility/thaumcraft/definitions/iElementalAspect.java new file mode 100644 index 0000000000..0f96d3d4be --- /dev/null +++ b/src/main/java/com/github/technus/tectech/compatibility/thaumcraft/definitions/iElementalAspect.java @@ -0,0 +1,8 @@ +package com.github.technus.tectech.compatibility.thaumcraft.definitions; + +/** + * Created by Tec on 21.05.2017. + */ +public interface iElementalAspect { + Object materializeIntoAspect(); +} diff --git a/src/main/java/com/github/technus/tectech/compatibility/thaumcraft/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_essentiaDequantizer.java b/src/main/java/com/github/technus/tectech/compatibility/thaumcraft/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_essentiaDequantizer.java new file mode 100644 index 0000000000..4ad1d4e9b1 --- /dev/null +++ b/src/main/java/com/github/technus/tectech/compatibility/thaumcraft/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_essentiaDequantizer.java @@ -0,0 +1,139 @@ +package com.github.technus.tectech.compatibility.thaumcraft.thing.metaTileEntity.multi; + +import com.github.technus.tectech.CommonValues; +import com.github.technus.tectech.TecTech; +import com.github.technus.tectech.elementalMatter.classes.cElementalInstanceStack; +import com.github.technus.tectech.elementalMatter.classes.cElementalInstanceStackMap; +import com.github.technus.tectech.compatibility.thaumcraft.definitions.ePrimalAspectDefinition; +import com.github.technus.tectech.thing.block.QuantumGlassBlock; +import com.github.technus.t