From 311ab89f93558233a40079f7cb16605b141b5346 Mon Sep 17 00:00:00 2001 From: Johann Bernhardt Date: Sun, 12 Dec 2021 19:38:06 +0100 Subject: Move sources and resources --- .../registration/gregtech/Gregtech4Content.java | 85 +++ .../gregtech/GregtechAdvancedBoilers.java | 104 +++ .../gregtech/GregtechAdvancedMixer.java | 132 ++++ .../gregtech/GregtechAlgaeContent.java | 55 ++ .../gregtech/GregtechAmazonWarehouse.java | 21 + .../gregtech/GregtechBedrockPlatforms.java | 18 + .../gregtech/GregtechBufferDynamos.java | 64 ++ .../gregtech/GregtechComponentAssembler.java | 532 ++++++++++++++++ .../registration/gregtech/GregtechConduits.java | 698 +++++++++++++++++++++ .../gregtech/GregtechCustomHatches.java | 217 +++++++ .../registration/gregtech/GregtechCyclotron.java | 22 + .../registration/gregtech/GregtechDehydrator.java | 193 ++++++ .../gregtech/GregtechEnergyBuffer.java | 94 +++ .../GregtechFactoryGradeReplacementMultis.java | 35 ++ .../gregtech/GregtechFluidReactor.java | 25 + .../registration/gregtech/GregtechGeneratorsULV | 15 + .../gregtech/GregtechGeneratorsULV.java | 26 + .../GregtechGeothermalThermalGenerator.java | 68 ++ .../gregtech/GregtechHiAmpTransformer.java | 158 +++++ .../gregtech/GregtechIndustrialAlloySmelter.java | 22 + .../gregtech/GregtechIndustrialArcFurnace.java | 22 + .../gregtech/GregtechIndustrialBlastSmelter.java | 26 + .../gregtech/GregtechIndustrialCentrifuge.java | 26 + .../gregtech/GregtechIndustrialCokeOven.java | 26 + .../gregtech/GregtechIndustrialCuttingFactory.java | 25 + .../gregtech/GregtechIndustrialElectrolyzer.java | 26 + .../GregtechIndustrialElementDuplicator.java | 20 + .../gregtech/GregtechIndustrialExtruder.java | 26 + .../gregtech/GregtechIndustrialFishPond.java | 24 + .../gregtech/GregtechIndustrialFuelRefinery.java | 26 + .../gregtech/GregtechIndustrialGeneratorArray.java | 26 + .../gregtech/GregtechIndustrialMacerator.java | 26 + .../gregtech/GregtechIndustrialMassFabricator.java | 230 +++++++ .../gregtech/GregtechIndustrialMixer.java | 27 + .../gregtech/GregtechIndustrialMultiMachine.java | 25 + .../gregtech/GregtechIndustrialMultiTank.java | 32 + .../gregtech/GregtechIndustrialPlatePress.java | 26 + .../gregtech/GregtechIndustrialSifter.java | 26 + .../GregtechIndustrialThermalCentrifuge.java | 25 + .../gregtech/GregtechIndustrialTreeFarm.java | 28 + .../gregtech/GregtechIndustrialWashPlant.java | 25 + .../gregtech/GregtechIndustrialWiremill.java | 25 + .../gregtech/GregtechIronBlastFurnace.java | 24 + .../registration/gregtech/GregtechIsaMill.java | 23 + .../registration/gregtech/GregtechLFTR.java | 36 ++ .../GregtechLargeTurbinesAndHeatExchanger.java | 22 + .../gregtech/GregtechMiniRaFusion.java | 45 ++ .../registration/gregtech/GregtechNaqReactor.java | 24 + .../gregtech/GregtechNitroDieselFix.java | 182 ++++++ .../gregtech/GregtechPollutionDevices.java | 57 ++ .../gregtech/GregtechPowerBreakers.java | 42 ++ .../gregtech/GregtechPowerSubStation.java | 43 ++ .../registration/gregtech/GregtechRTG.java | 22 + .../gregtech/GregtechRocketFuelGenerator.java | 128 ++++ .../registration/gregtech/GregtechSafeBlock.java | 118 ++++ .../gregtech/GregtechSemiFluidgenerators.java | 20 + .../gregtech/GregtechSimpleWasher.java | 109 ++++ .../gregtech/GregtechSolarGenerators.java | 49 ++ .../registration/gregtech/GregtechSolarTower.java | 32 + .../gregtech/GregtechSteamCondenser.java | 26 + .../registration/gregtech/GregtechSteamMultis.java | 22 + .../registration/gregtech/GregtechSuperChests.java | 73 +++ .../gregtech/GregtechSuperConductionPoint.java | 19 + .../registration/gregtech/GregtechTeslaTower.java | 17 + .../gregtech/GregtechThaumcraftDevices.java | 26 + .../gregtech/GregtechThreadedBuffers.java | 136 ++++ .../gregtech/GregtechTieredChunkloaders.java | 28 + .../gregtech/GregtechTieredFluidTanks.java | 58 ++ .../gregtech/GregtechTreeFarmerTE.java | 22 + .../gregtech/GregtechWirelessChargers.java | 48 ++ .../gregtech/NewHorizonsAccelerator.java | 99 +++ 71 files changed, 4902 insertions(+) create mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/Gregtech4Content.java create mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechAdvancedBoilers.java create mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechAdvancedMixer.java create mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechAlgaeContent.java create mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechAmazonWarehouse.java create mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechBedrockPlatforms.java create mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechBufferDynamos.java create mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechComponentAssembler.java create mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechConduits.java create mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechCustomHatches.java create mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechCyclotron.java create mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechDehydrator.java create mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechEnergyBuffer.java create mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechFactoryGradeReplacementMultis.java create mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechFluidReactor.java create mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechGeneratorsULV create mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechGeneratorsULV.java create mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechGeothermalThermalGenerator.java create mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechHiAmpTransformer.java create mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialAlloySmelter.java create mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialArcFurnace.java create mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialBlastSmelter.java create mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialCentrifuge.java create mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialCokeOven.java create mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialCuttingFactory.java create mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialElectrolyzer.java create mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialElementDuplicator.java create mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialExtruder.java create mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialFishPond.java create mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialFuelRefinery.java create mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialGeneratorArray.java create mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialMacerator.java create mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialMassFabricator.java create mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialMixer.java create mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialMultiMachine.java create mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialMultiTank.java create mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialPlatePress.java create mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialSifter.java create mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialThermalCentrifuge.java create mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialTreeFarm.java create mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialWashPlant.java create mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialWiremill.java create mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIronBlastFurnace.java create mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIsaMill.java create mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechLFTR.java create mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechLargeTurbinesAndHeatExchanger.java create mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechMiniRaFusion.java create mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechNaqReactor.java create mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechNitroDieselFix.java create mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechPollutionDevices.java create mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechPowerBreakers.java create mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechPowerSubStation.java create mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechRTG.java create mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechRocketFuelGenerator.java create mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechSafeBlock.java create mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechSemiFluidgenerators.java create mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechSimpleWasher.java create mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechSolarGenerators.java create mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechSolarTower.java create mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechSteamCondenser.java create mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechSteamMultis.java create mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechSuperChests.java create mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechSuperConductionPoint.java create mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechTeslaTower.java create mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechThaumcraftDevices.java create mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechThreadedBuffers.java create mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechTieredChunkloaders.java create mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechTieredFluidTanks.java create mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechTreeFarmerTE.java create mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechWirelessChargers.java create mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/NewHorizonsAccelerator.java (limited to 'src/main/java/gtPlusPlus/xmod/gregtech/registration') diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/Gregtech4Content.java b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/Gregtech4Content.java new file mode 100644 index 0000000000..0817202e85 --- /dev/null +++ b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/Gregtech4Content.java @@ -0,0 +1,85 @@ +package gtPlusPlus.xmod.gregtech.registration.gregtech; + +import gtPlusPlus.api.objects.Logger; +import gtPlusPlus.core.lib.CORE; +import gtPlusPlus.core.lib.LoadedMods; +import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; +import gtPlusPlus.xmod.gregtech.common.tileentities.automation.GT_MetaTileEntity_TesseractGenerator; +import gtPlusPlus.xmod.gregtech.common.tileentities.automation.GT_MetaTileEntity_TesseractTerminal; +import gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.production.GT4Entity_AutoCrafter; +import gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.production.GT4Entity_ThermalBoiler; +import gtPlusPlus.xmod.gregtech.common.tileentities.storage.shelving.*; + +public class Gregtech4Content { + + // ID Range 828, 829, 833 - 850 + + public static void run() { + if (LoadedMods.Gregtech) { + workbenches(); + thermalBoiler(); + multiCrafter(); + tesseracts(); + shelves(); + } + } + + private static void workbenches() { + // Gregtech 4 Workbenches + //Utils.LOG_INFO("Gregtech 4 Content | Registering Workbenches."); + // Free //GregtechItemList.GT4_Workbench_Bronze.set(new + // GT_MetaTileEntity_BronzeCraftingTable(828, "workbench.bronze", + // "Bronze Workbench", 0).getStackForm(1L)); + } + + private static void tesseracts() { + // Gregtech 4 Tesseracts + Logger.INFO("Gregtech 4 Content | Registering Tesseracts."); + GregtechItemList.GT4_Tesseract_Generator + .set(new GT_MetaTileEntity_TesseractGenerator(833, "tesseract.generator", "Tesseract Generator", 4) + .getStackForm(1L)); + GregtechItemList.GT4_Tesseract_Terminal + .set(new GT_MetaTileEntity_TesseractTerminal(834, "tesseract.terminal", "Tesseract Terminal", 4) + .getStackForm(1L)); + } + + private static void shelves() { + // Gregtech 4 Shelves + Logger.INFO("Gregtech 4 Content | Registering Shelves."); + GregtechItemList.GT4_Shelf + .set(new GT4Entity_Shelf(870, "gtplusplus.shelf.wooden", "Wooden Shelf", "Usually used for books") + .getStackForm(1L)); + GregtechItemList.GT4_Shelf_Iron.set( + new GT4Entity_Shelf_Iron(871, "gtplusplus.shelf.iron", "Metal Shelf", "A heavy duty shelf") + .getStackForm(1L)); + GregtechItemList.GT4_Shelf_FileCabinet.set(new GT4Entity_Shelf_FileCabinet(872, "gtplusplus.shelf.filecabinet", + "File Cabinet", "Could look nice in your office").getStackForm(1L)); + GregtechItemList.GT4_Shelf_Desk.set( + new GT4Entity_Shelf_Desk(873, "gtplusplus.shelf.desk", "Metal encased Desk", "A place to study") + .getStackForm(1L)); + GregtechItemList.GT4_Shelf_Compartment.set(new GT4Entity_Shelf_Compartment(874, "gtplusplus.shelf.compartment", + "Compartment", "Stores Books & Things").getStackForm(1L)); + + //Custom Storage + GregtechItemList.GT4_Shelf_Large.set( + new GT4Entity_Shelf_Large(966, "gtplusplus.shelf.large", "Large Shelf", "A spacious shelf", 2048) + .getStackForm(1L)); + } + + private static void thermalBoiler() { + // Gregtech 4 Thermal Boiler + if (CORE.ConfigSwitches.enableMultiblock_ThermalBoiler){ + Logger.INFO("Gregtech 4 Content | Registering Thermal Boiler."); + GregtechItemList.GT4_Thermal_Boiler + .set(new GT4Entity_ThermalBoiler(875, "gtplusplus.thermal.boiler", "Thermal Boiler").getStackForm(1L)); + } + + } + + private static void multiCrafter() { + // Gregtech 4 Multiblock Auto-Crafter + Logger.INFO("Gregtech 4 Content | Registering Multiblock Crafter."); + GregtechItemList.GT4_Multi_Crafter.set( + new GT4Entity_AutoCrafter(876, "gtplusplus.autocrafter.multi", "Large Scale Auto-Assembler v1.01").getStackForm(1L)); + } +} diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechAdvancedBoilers.java b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechAdvancedBoilers.java new file mode 100644 index 0000000000..d50a8f3924 --- /dev/null +++ b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechAdvancedBoilers.java @@ -0,0 +1,104 @@ +package gtPlusPlus.xmod.gregtech.registration.gregtech; + +import net.minecraft.item.ItemStack; + +import gregtech.api.enums.ItemList; +import gregtech.api.enums.Materials; +import gregtech.api.enums.OrePrefixes; +import gregtech.api.util.GT_ModHandler; + +import gtPlusPlus.api.objects.Logger; +import gtPlusPlus.core.lib.LoadedMods; +import gtPlusPlus.core.material.ALLOY; +import gtPlusPlus.core.recipe.RECIPES_MachineComponents; +import gtPlusPlus.core.util.minecraft.ItemUtils; +import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; +import gtPlusPlus.xmod.gregtech.common.tileentities.generators.GT_MetaTileEntity_Boiler_HV; +import gtPlusPlus.xmod.gregtech.common.tileentities.generators.GT_MetaTileEntity_Boiler_LV; +import gtPlusPlus.xmod.gregtech.common.tileentities.generators.GT_MetaTileEntity_Boiler_MV; + +public class GregtechAdvancedBoilers { + + public static void run() { + if (LoadedMods.Gregtech) { + Logger.INFO("Gregtech5u Content | Registering Advanced Boilers."); + run1(); + } + } + + private static void run1() { + // Boilers + GregtechItemList.Boiler_Advanced_LV + .set(new GT_MetaTileEntity_Boiler_LV(753, "Advanced Boiler [LV]", 1).getStackForm(1L)); + GregtechItemList.Boiler_Advanced_MV + .set(new GT_MetaTileEntity_Boiler_MV(754, "Advanced Boiler [MV]", 2).getStackForm(1L)); + GregtechItemList.Boiler_Advanced_HV + .set(new GT_MetaTileEntity_Boiler_HV(755, "Advanced Boiler [HV]", 3).getStackForm(1L)); + + ItemStack chassisT1 = ItemUtils.getItemStackWithMeta(true, "miscutils:itemBoilerChassis", "Boiler_Chassis_T1", + 0, 1); + ItemStack chassisT2 = ItemUtils.getItemStackWithMeta(true, "miscutils:itemBoilerChassis", "Boiler_Chassis_T1", + 1, 1); + ItemStack chassisT3 = ItemUtils.getItemStackWithMeta(true, "miscutils:itemBoilerChassis", "Boiler_Chassis_T1", + 2, 1); + + // Make the Coil in each following recipe a hammer and a Screwdriver. + + // Chassis Recipes + GT_ModHandler.addCraftingRecipe(chassisT1, + GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE + | GT_ModHandler.RecipeBits.REVERSIBLE | GT_ModHandler.RecipeBits.BUFFERED, + new Object[] { "WCW", "GMG", "WPW", Character.valueOf('M'), ItemList.Hull_ULV, Character.valueOf('P'), + OrePrefixes.pipeLarge.get(Materials.Bronze), Character.valueOf('C'), + OrePrefixes.circuit.get(Materials.Primitive), Character.valueOf('W'), + OrePrefixes.plate.get(Materials.Lead), Character.valueOf('G'), + OrePrefixes.pipeSmall.get(Materials.Copper) }); + + GT_ModHandler.addCraftingRecipe(chassisT2, + GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE + | GT_ModHandler.RecipeBits.REVERSIBLE | GT_ModHandler.RecipeBits.BUFFERED, + new Object[] { "WCW", "GMG", "WPW", Character.valueOf('M'), ItemList.Hull_LV, Character.valueOf('P'), + OrePrefixes.pipeLarge.get(Materials.Steel), Character.valueOf('C'), + OrePrefixes.circuit.get(Materials.Basic), Character.valueOf('W'), + OrePrefixes.plate.get(Materials.Steel), Character.valueOf('G'), + OrePrefixes.pipeSmall.get(Materials.Bronze) }); + + GT_ModHandler.addCraftingRecipe(chassisT3, + GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE + | GT_ModHandler.RecipeBits.REVERSIBLE | GT_ModHandler.RecipeBits.BUFFERED, + new Object[] { "WCW", "GMG", "WPW", Character.valueOf('M'), ItemList.Hull_MV, Character.valueOf('P'), + OrePrefixes.pipeLarge.get(Materials.StainlessSteel), Character.valueOf('C'), + OrePrefixes.circuit.get(Materials.Good), Character.valueOf('W'), + OrePrefixes.plate.get(Materials.Aluminium), Character.valueOf('G'), + OrePrefixes.pipeSmall.get(Materials.Steel) }); + + ItemStack pipeTier1 = ItemUtils.getItemStackOfAmountFromOreDict(RECIPES_MachineComponents.pipeTier7, 1); + ItemStack pipeTier2 = ItemUtils.getItemStackOfAmountFromOreDict(RECIPES_MachineComponents.pipeTier8, 1); + ItemStack pipeTier3 = ItemUtils.getItemStackOfAmountFromOreDict(RECIPES_MachineComponents.pipeTier9, 1); + + // Boiler Recipes + GT_ModHandler.addCraftingRecipe(GregtechItemList.Boiler_Advanced_LV.get(1L, new Object[0]), + GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE + | GT_ModHandler.RecipeBits.REVERSIBLE | GT_ModHandler.RecipeBits.BUFFERED, + new Object[] { "dCw", "WMW", "GPG", Character.valueOf('M'), ItemList.Hull_LV, Character.valueOf('P'), + pipeTier1, Character.valueOf('C'), OrePrefixes.circuit.get(Materials.Basic), + Character.valueOf('W'), chassisT1, Character.valueOf('G'), + OrePrefixes.gear.get(Materials.Steel) }); + + GT_ModHandler.addCraftingRecipe(GregtechItemList.Boiler_Advanced_MV.get(1L, new Object[0]), + GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE + | GT_ModHandler.RecipeBits.REVERSIBLE | GT_ModHandler.RecipeBits.BUFFERED, + new Object[] { "dCw", "WMW", "GPG", Character.valueOf('M'), ItemList.Hull_MV, Character.valueOf('P'), + pipeTier2, Character.valueOf('C'), OrePrefixes.circuit.get(Materials.Good), + Character.valueOf('W'), chassisT2, Character.valueOf('G'), ALLOY.SILICON_CARBIDE.getGear(1) }); + + GT_ModHandler.addCraftingRecipe(GregtechItemList.Boiler_Advanced_HV.get(1L, new Object[0]), + GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE + | GT_ModHandler.RecipeBits.REVERSIBLE | GT_ModHandler.RecipeBits.BUFFERED, + new Object[] { "dCw", "WMW", "GPG", Character.valueOf('M'), ItemList.Hull_HV, Character.valueOf('P'), + pipeTier3, Character.valueOf('C'), OrePrefixes.circuit.get(Materials.Advanced), + Character.valueOf('W'), chassisT3, Character.valueOf('G'), ALLOY.SILICON_CARBIDE.getGear(1) }); + + } + +} \ No newline at end of file diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechAdvancedMixer.java b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechAdvancedMixer.java new file mode 100644 index 0000000000..3cefaa1bf7 --- /dev/null +++ b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechAdvancedMixer.java @@ -0,0 +1,132 @@ +package gtPlusPlus.xmod.gregtech.registration.gregtech; + +import java.util.Collection; + +import gregtech.api.enums.ItemList; +import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicMachine_GT_Recipe; +import gregtech.api.util.GT_Recipe; +import gregtech.api.util.GT_Recipe.GT_Recipe_Map; +import gregtech.api.util.GTPP_Recipe; + +import gtPlusPlus.api.objects.Logger; +import gtPlusPlus.core.lib.CORE; +import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; + +public class GregtechAdvancedMixer { + + private static int mID = 851; + + public static void run(){ + //generateMixerRecipeMap(); + run1(); + } + + private static GT_Recipe_Map map = GT_Recipe.GT_Recipe_Map.sMixerRecipes; + + private static boolean generateMixerRecipeMap(){ + if (GTPP_Recipe.GTPP_Recipe_Map.sAdvancedMixerRecipes.mRecipeList.size() == 0){ + GT_Recipe_Map oldMap = GT_Recipe.GT_Recipe_Map.sMixerRecipes; + GT_Recipe_Map map = GTPP_Recipe.GTPP_Recipe_Map.sAdvancedMixerRecipes; + final Collection x = oldMap.mRecipeList; + //Logger.INFO("Generating " + map.mUnlocalizedName + " Recipes."); + for (final GT_Recipe g : x) { + GTPP_Recipe.GTPP_Recipe_Map.sAdvancedMixerRecipes.add(g); + } + + if (GTPP_Recipe.GTPP_Recipe_Map.sAdvancedMixerRecipes.mRecipeList.size() > 0){ + return true; + } + else { + Logger.INFO("Failed to generate "+ map.mUnlocalizedName +" recipes."); + return false; + } + + } + return true; + } + + private static void run1(){ + GregtechItemList.Machine_Advanced_LV_Mixer.set(new GT_MetaTileEntity_BasicMachine_GT_Recipe(mID++, "advancedmachine.mixer.tier.01", + "Basic Combiner", 1, "Indeed, It does blend!", map, 4, 4, 32000, 0, 1, + "MixerAdvanced.png", "", false, false, 0, "MIXER", null + /*new Object[] { "GRG", "GEG", "CMC", Character.valueOf('M'), + ItemList.Machine_LV_Mixer, Character.valueOf('E'), + GT_MetaTileEntity_BasicMachine_GT_Recipe.X.MOTOR, Character.valueOf('R'), + GT_MetaTileEntity_BasicMachine_GT_Recipe.X.MOTOR, Character.valueOf('C'), + GT_MetaTileEntity_BasicMachine_GT_Recipe.X.CIRCUIT, Character.valueOf('G'), + GT_MetaTileEntity_BasicMachine_GT_Recipe.X.PLATE }*/).getStackForm(1L)); + GregtechItemList.Machine_Advanced_MV_Mixer.set(new GT_MetaTileEntity_BasicMachine_GT_Recipe(mID++, "advancedmachine.mixer.tier.02", + "Advanced Combiner I", 2, "Indeed, It does blend!", map, 4, 4, 32000, 0, 1, + "MixerAdvanced.png", "", false, false, 0, "MIXER", null + /*new Object[] { "GRG", "GEG", "CMC", Character.valueOf('M'), + ItemList.Machine_MV_Mixer, Character.valueOf('E'), + GT_MetaTileEntity_BasicMachine_GT_Recipe.X.MOTOR, Character.valueOf('R'), + GT_MetaTileEntity_BasicMachine_GT_Recipe.X.MOTOR, Character.valueOf('C'), + GT_MetaTileEntity_BasicMachine_GT_Recipe.X.CIRCUIT, Character.valueOf('G'), + GT_MetaTileEntity_BasicMachine_GT_Recipe.X.PLATE }*/).getStackForm(1L)); + GregtechItemList.Machine_Advanced_HV_Mixer.set(new GT_MetaTileEntity_BasicMachine_GT_Recipe(mID++, "advancedmachine.mixer.tier.03", + "Advanced Combiner II", 3, "Indeed, It does blend!", map, 4, 4, 32000, 0, 1, + "MixerAdvanced.png", "", false, false, 0, "MIXER", null + /*new Object[] { "GRG", "GEG", "CMC", Character.valueOf('M'), + ItemList.Machine_HV_Mixer, Character.valueOf('E'), + GT_MetaTileEntity_BasicMachine_GT_Recipe.X.MOTOR, Character.valueOf('R'), + GT_MetaTileEntity_BasicMachine_GT_Recipe.X.MOTOR, Character.valueOf('C'), + GT_MetaTileEntity_BasicMachine_GT_Recipe.X.CIRCUIT, Character.valueOf('G'), + GT_MetaTileEntity_BasicMachine_GT_Recipe.X.PLATE }*/).getStackForm(1L)); + GregtechItemList.Machine_Advanced_EV_Mixer.set(new GT_MetaTileEntity_BasicMachine_GT_Recipe(mID++, "advancedmachine.mixer.tier.04", + "Super Combiner I", 4, "Indeed, It does blend!", map, 4, 4, 32000, 0, 1, + "MixerAdvanced.png", "", false, false, 0, "MIXER", null + /*new Object[] { "GRG", "GEG", "CMC", Character.valueOf('M'), + ItemList.Machine_EV_Mixer, Character.valueOf('E'), + GT_MetaTileEntity_BasicMachine_GT_Recipe.X.MOTOR, Character.valueOf('R'), + GT_MetaTileEntity_BasicMachine_GT_Recipe.X.MOTOR, Character.valueOf('C'), + GT_MetaTileEntity_BasicMachine_GT_Recipe.X.CIRCUIT, Character.valueOf('G'), + GT_MetaTileEntity_BasicMachine_GT_Recipe.X.PLATE }*/).getStackForm(1L)); + GregtechItemList.Machine_Advanced_IV_Mixer.set(new GT_MetaTileEntity_BasicMachine_GT_Recipe(mID++, "advancedmachine.mixer.tier.05", + "Super Combiner II", 5, "Indeed, It does blend!", map, 4, 4, 32000, 0, 1, + "MixerAdvanced.png", "", false, false, 0, "MIXER", null + /*new Object[] { "GRG", "GEG", "CMC", Character.valueOf('M'), + ItemList.Machine_IV_Mixer, Character.valueOf('E'), + GT_MetaTileEntity_BasicMachine_GT_Recipe.X.MOTOR, Character.valueOf('R'), + GT_MetaTileEntity_BasicMachine_GT_Recipe.X.MOTOR, Character.valueOf('C'), + GT_MetaTileEntity_BasicMachine_GT_Recipe.X.CIRCUIT, Character.valueOf('G'), + GT_MetaTileEntity_BasicMachine_GT_Recipe.X.PLATE }*/).getStackForm(1L)); + + if (CORE.MAIN_GREGTECH_5U_EXPERIMENTAL_FORK){ + try { + GregtechItemList.Machine_Advanced_LuV_Mixer.set(new GT_MetaTileEntity_BasicMachine_GT_Recipe(mID++, "advancedmachine.mixer.tier.06", + "Mega Combiner I", 6, "Indeed, It does blend!", map, 4, 4, 32000, 0, 1, + "MixerAdvanced.png", "", false, false, 0, "MIXER", null + /*new Object[] { "GRG", "GEG", "CMC", Character.valueOf('M'), + //ItemList.Machine_LuV_Mixer, Character.valueOf('E'), + ItemList.valueOf("Machine_LuV_Mixer"), Character.valueOf('E'), + GT_MetaTileEntity_BasicMachine_GT_Recipe.X.MOTOR, Character.valueOf('R'), + GT_MetaTileEntity_BasicMachine_GT_Recipe.X.MOTOR, Character.valueOf('C'), + GT_MetaTileEntity_BasicMachine_GT_Recipe.X.CIRCUIT, Character.valueOf('G'), + GT_MetaTileEntity_BasicMachine_GT_Recipe.X.PLATE }*/).getStackForm(1L)); + GregtechItemList.Machine_Advanced_ZPM_Mixer.set(new GT_MetaTileEntity_BasicMachine_GT_Recipe(mID++, "advancedmachine.mixer.tier.07", + "Mega Combiner II", 7, "Indeed, It does blend!", map, 4, 4, 32000, 0, 1, + "MixerAdvanced.png", "", false, false, 0, "MIXER", null + /*new Object[] { "GRG", "GEG", "CMC", Character.valueOf('M'), + //ItemList.Machine_ZPM_Mixer, Character.valueOf('E'), + ItemList.valueOf("Machine_ZPM_Mixer"), Character.valueOf('E'), + GT_MetaTileEntity_BasicMachine_GT_Recipe.X.MOTOR, Character.valueOf('R'), + GT_MetaTileEntity_BasicMachine_GT_Recipe.X.MOTOR, Character.valueOf('C'), + GT_MetaTileEntity_BasicMachine_GT_Recipe.X.CIRCUIT, Character.valueOf('G'), + GT_MetaTileEntity_BasicMachine_GT_Recipe.X.PLATE }*/).getStackForm(1L)); + GregtechItemList.Machine_Advanced_UV_Mixer.set(new GT_MetaTileEntity_BasicMachine_GT_Recipe(mID++, "advancedmachine.mixer.tier.08", + "Ultra Combiner I", 8, "Indeed, It does blend!", map, 4, 4, 32000, 0, 1, + "MixerAdvanced.png", "", false, false, 0, "MIXER", null + /*new Object[] { "GRG", "GEG", "CMC", Character.valueOf('M'), + //ItemList.Machine_UV_Mixer, Character.valueOf('E'), + ItemList.valueOf("Machine_UV_Mixer"), Character.valueOf('E'), + GT_MetaTileEntity_BasicMachine_GT_Recipe.X.MOTOR, Character.valueOf('R'), + GT_MetaTileEntity_BasicMachine_GT_Recipe.X.MOTOR, Character.valueOf('C'), + GT_MetaTileEntity_BasicMachine_GT_Recipe.X.CIRCUIT, Character.valueOf('G'), + GT_MetaTileEntity_BasicMachine_GT_Recipe.X.PLATE }*/).getStackForm(1L)); + } + catch (Throwable t){} + } + + } +} diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechAlgaeContent.java b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechAlgaeContent.java new file mode 100644 index 0000000000..6ddc971f85 --- /dev/null +++ b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechAlgaeContent.java @@ -0,0 +1,55 @@ +package gtPlusPlus.xmod.gregtech.registration.gregtech; + +import gregtech.api.GregTech_API; +import gregtech.api.enums.Textures; +import gtPlusPlus.api.objects.Logger; +import gtPlusPlus.core.block.ModBlocks; +import gtPlusPlus.core.lib.LoadedMods; +import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; +import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.nbthandlers.GT_MetaTileEntity_Hatch_Catalysts; +import gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.production.algae.GregtechMTE_AlgaePondBase; +import gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.production.chemplant.GregtechMTE_ChemicalPlant; + +public class GregtechAlgaeContent { + + public static void run() { + if (LoadedMods.Gregtech) { + Logger.INFO("Gregtech5u Content | Registering Algae Content."); + run1(); + } + } + + private static void run1() { + + // Algae Pond + GregtechItemList.AlgaeFarm_Controller.set(new GregtechMTE_AlgaePondBase(997, "algaefarm.controller.tier.single", "Algae Farm").getStackForm(1L)); + + // Chemical Plant + GregtechItemList.ChemicalPlant_Controller.set(new GregtechMTE_ChemicalPlant(998, "chemicalplant.controller.tier.single", "ExxonMobil Chemical Plant").getStackForm(1L)); + + GregtechItemList.Bus_Catalysts.set((new GT_MetaTileEntity_Hatch_Catalysts(31030, "hatch.catalysts", "Catalyst Housing")).getStackForm(1L)); + + + int aTier = 0; + // Bronze + GregtechMTE_ChemicalPlant.registerMachineCasingForTier(aTier++, ModBlocks.blockCustomMachineCasings, 0, 10); + // Steel + GregtechMTE_ChemicalPlant.registerMachineCasingForTier(aTier++, GregTech_API.sBlockCasings2, 0, 16); + // Aluminium + GregtechMTE_ChemicalPlant.registerMachineCasingForTier(aTier++, ModBlocks.blockCustomMachineCasings, 1, 17); + // Stainless + GregtechMTE_ChemicalPlant.registerMachineCasingForTier(aTier++, GregTech_API.sBlockCasings4, 1, 49); + // Titanium + GregtechMTE_ChemicalPlant.registerMachineCasingForTier(aTier++, GregTech_API.sBlockCasings4, 2, 50); + // Tungsten + GregtechMTE_ChemicalPlant.registerMachineCasingForTier(aTier++, GregTech_API.sBlockCasings4, 0, 48); + // Laurenium + GregtechMTE_ChemicalPlant.registerMachineCasingForTier(aTier++, ModBlocks.blockCustomMachineCasings, 2, 84); + // Botmium + GregtechMTE_ChemicalPlant.registerMachineCasingForTier(aTier++, ModBlocks.blockCustomMachineCasings, 3, 11); + + + + } + +} diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechAmazonWarehouse.java b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechAmazonWarehouse.java new file mode 100644 index 0000000000..8adf580011 --- /dev/null +++ b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechAmazonWarehouse.java @@ -0,0 +1,21 @@ +package gtPlusPlus.xmod.gregtech.registration.gregtech; + +import gtPlusPlus.api.objects.Logger; +import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; +import gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.misc.GMTE_AmazonPackager; + +public class GregtechAmazonWarehouse { + + public static void run() { + if (gtPlusPlus.core.lib.LoadedMods.Gregtech) { + Logger.INFO("Gregtech5u Content | Registering Amazon Warehouse Multiblock."); + run1(); + } + } + + private static void run1() { + // Amazon packager multiblock + GregtechItemList.Amazon_Warehouse_Controller.set(new GMTE_AmazonPackager(942, "amazonprime.controller.tier.single", "Amazon Warehousing Depot.").getStackForm(1L)); + + } +} \ No newline at end of file diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechBedrockPlatforms.java b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechBedrockPlatforms.java new file mode 100644 index 0000000000..43a9402be2 --- /dev/null +++ b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechBedrockPlatforms.java @@ -0,0 +1,18 @@ +/* +package gtPlusPlus.xmod.gregtech.registration.gregtech; + +import gtPlusPlus.api.objects.Logger; +import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; +import gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.production.bedrock.GregtechMetaTileEntity_BedrockMiningPlatform1; + +public class GregtechBedrockPlatforms { + + //941-945 + + public static void run() { + Logger.INFO("Gregtech5u Content | Registering Bedrock Mining Platform."); + GregtechItemList.BedrockMiner_MKI.set(new GregtechMetaTileEntity_BedrockMiningPlatform1(941, "multimachine.tier.01.bedrockminer", "Experimental Deep Earth Drilling Platform - MK I").getStackForm(1)); + } + +} +*/ diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechBufferDynamos.java b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechBufferDynamos.java new file mode 100644 index 0000000000..f236002505 --- /dev/null +++ b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechBufferDynamos.java @@ -0,0 +1,64 @@ +package gtPlusPlus.xmod.gregtech.registration.gregtech; + +import static gtPlusPlus.core.recipe.common.CI.bitsd; + +import gregtech.api.enums.ItemList; +import gregtech.api.enums.Materials; +import gregtech.api.enums.OrePrefixes; +import gregtech.api.util.GT_ModHandler; + +import gtPlusPlus.core.recipe.common.CI; +import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; +import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_DynamoBuffer; + +public class GregtechBufferDynamos { + + private static int mID = 899; + public static void run() { + run2(); + } + + private static final void run2() { + GregtechItemList.Hatch_Buffer_Dynamo_ULV.set( + new GT_MetaTileEntity_Hatch_DynamoBuffer(mID++, "hatch.dynamo.buffer.tier.00", "ULV Dynamo Hatch [Buffered]", 0).getStackForm(1L)); + GregtechItemList.Hatch_Buffer_Dynamo_LV.set( + new GT_MetaTileEntity_Hatch_DynamoBuffer(mID++, "hatch.dynamo.buffer.tier.01", "LV Dynamo Hatch [Buffered]", 1).getStackForm(1L)); + GregtechItemList.Hatch_Buffer_Dynamo_MV.set( + new GT_MetaTileEntity_Hatch_DynamoBuffer(mID++, "hatch.dynamo.buffer.tier.02", "MV Dynamo Hatch [Buffered]", 2).getStackForm(1L)); + GregtechItemList.Hatch_Buffer_Dynamo_HV.set( + new GT_MetaTileEntity_Hatch_DynamoBuffer(mID++, "hatch.dynamo.buffer.tier.03", "HV Dynamo Hatch [Buffered]", 3).getStackForm(1L)); + GregtechItemList.Hatch_Buffer_Dynamo_EV.set( + new GT_MetaTileEntity_Hatch_DynamoBuffer(mID++, "hatch.dynamo.buffer.tier.04", "EV Dynamo Hatch [Buffered]", 4).getStackForm(1L)); + GregtechItemList.Hatch_Buffer_Dynamo_IV.set( + new GT_MetaTileEntity_Hatch_DynamoBuffer(mID++, "hatch.dynamo.buffer.tier.05", "IV Dynamo Hatch [Buffered]", 5).getStackForm(1L)); + GregtechItemList.Hatch_Buffer_Dynamo_LuV.set( + new GT_MetaTileEntity_Hatch_DynamoBuffer(mID++, "hatch.dynamo.buffer.tier.06", "LuV Dynamo Hatch [Buffered]", 6).getStackForm(1L)); + GregtechItemList.Hatch_Buffer_Dynamo_ZPM.set( + new GT_MetaTileEntity_Hatch_DynamoBuffer(mID++, "hatch.dynamo.buffer.tier.07", "ZPM Dynamo Hatch [Buffered]", 7).getStackForm(1L)); + GregtechItemList.Hatch_Buffer_Dynamo_UV.set( + new GT_MetaTileEntity_Hatch_DynamoBuffer(mID++, "hatch.dynamo.buffer.tier.08", "UV Dynamo Hatch [Buffered]", 8).getStackForm(1L)); + GregtechItemList.Hatch_Buffer_Dynamo_MAX.set( + new GT_MetaTileEntity_Hatch_DynamoBuffer(mID++, "hatch.dynamo.buffer.tier.09", "Max Dynamo Hatch [Buffered]", 9).getStackForm(1L)); + GT_ModHandler.addCraftingRecipe(GregtechItemList.Hatch_Buffer_Dynamo_ULV.get(1L, new Object[0]), bitsd, + new Object[]{"TMC", 'M', ItemList.Hatch_Dynamo_ULV, 'T', CI.getTieredCircuit(0), 'C', OrePrefixes.cableGt04.get((Object) Materials.Lead)}); + GT_ModHandler.addCraftingRecipe(GregtechItemList.Hatch_Buffer_Dynamo_LV.get(1L, new Object[0]), bitsd, + new Object[]{"TMC", 'M', ItemList.Hatch_Dynamo_LV, 'T', CI.getTieredCircuit(1), 'C', OrePrefixes.cableGt04.get((Object) Materials.Tin)}); + GT_ModHandler.addCraftingRecipe(GregtechItemList.Hatch_Buffer_Dynamo_MV.get(1L, new Object[0]), bitsd, new Object[]{"TMC", 'M', + ItemList.Hatch_Dynamo_MV, 'T', CI.getTieredCircuit(2), 'C', OrePrefixes.cableGt04.get((Object) Materials.AnyCopper)}); + GT_ModHandler.addCraftingRecipe(GregtechItemList.Hatch_Buffer_Dynamo_HV.get(1L, new Object[0]), bitsd, + new Object[]{"TMC", 'M', ItemList.Hatch_Dynamo_HV, 'T', CI.getTieredCircuit(3), 'C', OrePrefixes.cableGt04.get((Object) Materials.Gold)}); + GT_ModHandler.addCraftingRecipe(GregtechItemList.Hatch_Buffer_Dynamo_EV.get(1L, new Object[0]), bitsd, new Object[]{"TMC", 'M', + ItemList.Hatch_Dynamo_EV, 'T', CI.getTieredCircuit(4), 'C', OrePrefixes.cableGt04.get((Object) Materials.Aluminium)}); + GT_ModHandler.addCraftingRecipe(GregtechItemList.Hatch_Buffer_Dynamo_IV.get(1L, new Object[0]), bitsd, new Object[]{"TMC", 'M', + ItemList.Hatch_Dynamo_IV, 'T', CI.getTieredCircuit(5), 'C', OrePrefixes.cableGt04.get((Object) Materials.Tungsten)}); + GT_ModHandler.addCraftingRecipe(GregtechItemList.Hatch_Buffer_Dynamo_LuV.get(1L, new Object[0]), bitsd, new Object[]{"TMC", + 'M', ItemList.Hatch_Dynamo_LuV, 'T', CI.getTieredCircuit(6), 'C', OrePrefixes.cableGt04.get((Object) Materials.VanadiumGallium)}); + GT_ModHandler.addCraftingRecipe(GregtechItemList.Hatch_Buffer_Dynamo_ZPM.get(1L, new Object[0]), bitsd, new Object[]{"TMC", + 'M', ItemList.Hatch_Dynamo_ZPM, 'T', CI.getTieredCircuit(7), 'C', OrePrefixes.cableGt04.get((Object) Materials.Naquadah)}); + GT_ModHandler.addCraftingRecipe(GregtechItemList.Hatch_Buffer_Dynamo_UV.get(1L, new Object[0]), bitsd, new Object[]{"TMC", 'M', + ItemList.Hatch_Dynamo_UV, 'T', CI.getTieredCircuit(8), 'C', OrePrefixes.wireGt12.get((Object) Materials.NaquadahAlloy)}); + GT_ModHandler.addCraftingRecipe(GregtechItemList.Hatch_Buffer_Dynamo_MAX.get(1L, new Object[0]), bitsd, new Object[]{"TMC", + 'M', ItemList.Hatch_Dynamo_MAX, 'T', CI.getTieredCircuit(9), 'C', OrePrefixes.wireGt04.get((Object) Materials.Superconductor)}); + } + +} diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechComponentAssembler.java b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechComponentAssembler.java new file mode 100644 index 0000000000..73d29b2174 --- /dev/null +++ b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechComponentAssembler.java @@ -0,0 +1,532 @@ +package gtPlusPlus.xmod.gregtech.registration.gregtech; + +import static gtPlusPlus.core.lib.CORE.ConfigSwitches.enableMachine_ComponentAssemblers; + +import java.util.ArrayList; + +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; + +import gregtech.api.enums.*; +import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicMachine_GT_Recipe; +import gregtech.api.util.GTPP_Recipe; + +import gtPlusPlus.api.objects.Logger; +import gtPlusPlus.core.lib.CORE; +import gtPlusPlus.core.recipe.common.CI; +import gtPlusPlus.core.util.minecraft.ItemUtils; +import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; +import net.minecraftforge.oredict.OreDictionary; + +public class GregtechComponentAssembler { + + public static void run() { + + if (!enableMachine_ComponentAssemblers) { + return; + } + + if (!CORE.MAIN_GREGTECH_5U_EXPERIMENTAL_FORK){ + Logger.INFO("Component Assemblers cannot be created in 5.08.33 during the pre-release. Please wait for 1.7.0 release."); + return; + } + + GregtechItemList.Machine_LV_Component_Maker.set(new GT_MetaTileEntity_BasicMachine_GT_Recipe(985, + "basicmachine.componentmaker.tier.01", "Basic Component Maker", 1, "Components, Unite!", + GTPP_Recipe.GTPP_Recipe_Map.sComponentAssemblerRecipes, 6, 1, 16000, 0, 1, "Assembler.png", "", false, + false, 0, "ASSEMBLER", + new Object[] { "ACA", "VMV", "WCW", 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'V', + GT_MetaTileEntity_BasicMachine_GT_Recipe.X.ROBOT_ARM, 'A', + GT_MetaTileEntity_BasicMachine_GT_Recipe.X.PISTON, 'C', + GT_MetaTileEntity_BasicMachine_GT_Recipe.X.CIRCUIT, 'W', + GT_MetaTileEntity_BasicMachine_GT_Recipe.X.WIRE4 }).getStackForm(1L)); + GregtechItemList.Machine_MV_Component_Maker.set(new GT_MetaTileEntity_BasicMachine_GT_Recipe(986, + "basicmachine.componentmaker.tier.02", "Advanced Component Maker", 2, "Components, Unite!", + GTPP_Recipe.GTPP_Recipe_Map.sComponentAssemblerRecipes, 6, 1, 16000, 0, 1, "Assembler.png", "", false, + false, 0, "ASSEMBLER", + new Object[] { "ACA", "VMV", "WCW", 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'V', + GT_MetaTileEntity_BasicMachine_GT_Recipe.X.ROBOT_ARM, 'A', + GT_MetaTileEntity_BasicMachine_GT_Recipe.X.PISTON, 'C', + GT_MetaTileEntity_BasicMachine_GT_Recipe.X.CIRCUIT, 'W', + GT_MetaTileEntity_BasicMachine_GT_Recipe.X.WIRE4 }).getStackForm(1L)); + GregtechItemList.Machine_HV_Component_Maker.set(new GT_MetaTileEntity_BasicMachine_GT_Recipe(987, + "basicmachine.componentmaker.tier.03", "Advanced Component Maker II", 3, "Components, Unite!", + GTPP_Recipe.GTPP_Recipe_Map.sComponentAssemblerRecipes, 6, 1, 16000, 0, 1, "Assembler.png", "", false, + false, 0, "ASSEMBLER", + new Object[] { "ACA", "VMV", "WCW", 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'V', + GT_MetaTileEntity_BasicMachine_GT_Recipe.X.ROBOT_ARM, 'A', + GT_MetaTileEntity_BasicMachine_GT_Recipe.X.PISTON, 'C', + GT_MetaTileEntity_BasicMachine_GT_Recipe.X.CIRCUIT, 'W', + GT_MetaTileEntity_BasicMachine_GT_Recipe.X.WIRE4 }).getStackForm(1L)); + GregtechItemList.Machine_EV_Component_Maker.set(new GT_MetaTileEntity_BasicMachine_GT_Recipe(988, + "basicmachine.componentmaker.tier.04", "Advanced Component Maker III", 4, "Components, Unite!", + GTPP_Recipe.GTPP_Recipe_Map.sComponentAssemblerRecipes, 6, 1, 16000, 0, 1, "Assembler.png", "", false, + false, 0, "ASSEMBLER", + new Object[] { "ACA", "VMV", "WCW", 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'V', + GT_MetaTileEntity_BasicMachine_GT_Recipe.X.ROBOT_ARM, 'A', + GT_MetaTileEntity_BasicMachine_GT_Recipe.X.PISTON, 'C', + GT_MetaTileEntity_BasicMachine_GT_Recipe.X.CIRCUIT, 'W', + GT_MetaTileEntity_BasicMachine_GT_Recipe.X.WIRE4 }).getStackForm(1L)); + GregtechItemList.Machine_IV_Component_Maker.set(new GT_MetaTileEntity_BasicMachine_GT_Recipe(989, + "basicmachine.componentmaker.tier.05", "Advanced Component Maker IV", 5, "Components, Unite!", + GTPP_Recipe.GTPP_Recipe_Map.sComponentAssemblerRecipes, 6, 1, 16000, 0, 1, "Assembler.png", "", false, + false, 0, "ASSEMBLER", + new Object[] { "ACA", "VMV", "WCW", 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'V', + GT_MetaTileEntity_BasicMachine_GT_Recipe.X.ROBOT_ARM, 'A', + GT_MetaTileEntity_BasicMachine_GT_Recipe.X.PISTON, 'C', + GT_MetaTileEntity_BasicMachine_GT_Recipe.X.CIRCUIT, 'W', + GT_MetaTileEntity_BasicMachine_GT_Recipe.X.WIRE4 }).getStackForm(1L)); + GregtechItemList.Machine_LuV_Component_Maker.set(new GT_MetaTileEntity_BasicMachine_GT_Recipe(31012, + "basicmachine.componentmaker.tier.06", "Advanced Component Maker V", 6, "Components, Unite!", + GTPP_Recipe.GTPP_Recipe_Map.sComponentAssemblerRecipes, 6, 1, 24000, 0, 1, "Assembler.png", "", false, + false, 0, "ASSEMBLER", + new Object[] { "ACA", "VMV", "WCW", 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'V', + GT_MetaTileEntity_BasicMachine_GT_Recipe.X.ROBOT_ARM, 'A', + GT_MetaTileEntity_BasicMachine_GT_Recipe.X.PISTON, 'C', + GT_MetaTileEntity_BasicMachine_GT_Recipe.X.CIRCUIT, 'W', + GT_MetaTileEntity_BasicMachine_GT_Recipe.X.WIRE4 }).getStackForm(1L)); + GregtechItemList.Machine_ZPM_Component_Maker.set(new GT_MetaTileEntity_BasicMachine_GT_Recipe(31013, + "basicmachine.componentmaker.tier.07", "Advanced Component Maker VI", 7, "Components, Unite!", + GTPP_Recipe.GTPP_Recipe_Map.sComponentAssemblerRecipes, 6, 1, 32000, 0, 1, "Assembler.png", "", false, + false, 0, "ASSEMBLER", + new Object[] { "ACA", "VMV", "WCW", 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'V', + GT_MetaTileEntity_BasicMachine_GT_Recipe.X.ROBOT_ARM, 'A', + GT_MetaTileEntity_BasicMachine_GT_Recipe.X.PISTON, 'C', + GT_MetaTileEntity_BasicMachine_GT_Recipe.X.CIRCUIT, 'W', + GT_MetaTileEntity_BasicMachine_GT_Recipe.X.WIRE4 }).getStackForm(1L)); + GregtechItemList.Machine_UV_Component_Maker.set(new GT_MetaTileEntity_BasicMachine_GT_Recipe(31014, + "basicmachine.componentmaker.tier.08", "Advanced Component Maker VII", 8, "Components, Unite!", + GTPP_Recipe.GTPP_Recipe_Map.sComponentAssemblerRecipes, 6, 1, 48000, 0, 1, "Assembler.png", "", false, + false, 0, "ASSEMBLER", + new Object[] { "ACA", "VMV", "WCW", 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'V', + GT_MetaTileEntity_BasicMachine_GT_Recipe.X.ROBOT_ARM, 'A', + GT_MetaTileEntity_BasicMachine_GT_Recipe.X.PISTON, 'C', + GT_MetaTileEntity_BasicMachine_GT_Recipe.X.CIRCUIT, 'W', + GT_MetaTileEntity_BasicMachine_GT_Recipe.X.WIRE4 }).getStackForm(1L)); + + // Motors + // addRecipeMotor(0, Materials.Lead, 1, Materials.RedAlloy, 1, + // Materials.WroughtIron, Materials.IronMagnetic); + addRecipeMotor(1, Materials.Copper, 1, Materials.Tin, 1, Materials.Iron, Materials.IronMagnetic); + addRecipeMotor(2, Materials.Copper, 2, Materials.Copper, 1, Materials.Aluminium, Materials.SteelMagnetic); + addRecipeMotor(3, Materials.Copper, 4, Materials.Gold, 1, Materials.StainlessSteel, Materials.SteelMagnetic); + addRecipeMotor(4, Materials.Copper, 8, Materials.Aluminium, 1, Materials.Titanium, Materials.NeodymiumMagnetic); + addRecipeMotor(5, Materials.Copper, 16, Materials.Tungsten, 1, Materials.TungstenSteel, + Materials.NeodymiumMagnetic); + + // Pistons + // addRecipePiston(0, Materials.Lead, Materials.Lead); + addRecipePiston(1, Materials.Steel, Materials.Tin); + addRecipePiston(2, Materials.Aluminium, Materials.Copper); + addRecipePiston(3, Materials.StainlessSteel, Materials.Gold); + addRecipePiston(4, Materials.Titanium, Materials.Aluminium); + addRecipePiston(5, Materials.TungstenSteel, Materials.Tungsten); + + // Conveyors + // addRecipeConveyor(0, Materials.Lead); + addRecipeConveyor(1, Materials.Tin); + addRecipeConveyor(2, Materials.Copper); + addRecipeConveyor(3, Materials.Gold); + addRecipeConveyor(4, Materials.Aluminium); + addRecipeConveyor(5, Materials.Tungsten); + + // Pumps + // addRecipePump(0, Materials.Lead, Materials.Lead, Materials.Lead); + addRecipePump(1, Materials.Tin, Materials.Copper, Materials.Tin); + addRecipePump(2, Materials.Bronze, Materials.Steel, Materials.Copper); + addRecipePump(3, Materials.Steel, Materials.StainlessSteel, Materials.Gold); + addRecipePump(4, Materials.StainlessSteel, Materials.Titanium, Materials.Aluminium); + addRecipePump(5, Materials.TungstenSteel, Materials.TungstenSteel, Materials.Tungsten); + + // Robot Arms + // addRecipeRobotArm(0, Materials.Lead, Materials.Lead); + addRecipeRobotArm(1, Materials.Steel, Materials.Tin); + addRecipeRobotArm(2, Materials.Aluminium, Materials.Copper); + addRecipeRobotArm(3, Materials.StainlessSteel, Materials.Gold); + addRecipeRobotArm(4, Materials.Titanium, Materials.Aluminium); + addRecipeRobotArm(5, Materials.TungstenSteel, Materials.Tungsten); + + // Field Generators + // addRecipeFieldGenerator(0, Materials.Lead); + addRecipeFieldGenerator(1); + addRecipeFieldGenerator(2); + addRecipeFieldGenerator(3); + addRecipeFieldGenerator(4); + addRecipeFieldGenerator(5); + + // Emitters + // addRecipeEmitter(0, Materials.Lead, Materials.IronMagnetic); + addRecipeEmitter(1, Materials.Tin, Materials.Brass, Materials.Quartzite); + addRecipeEmitter(2, Materials.Copper, Materials.Electrum, Materials.NetherQuartz); + addRecipeEmitter(3, Materials.Gold, Materials.Chrome, Materials.Emerald); + addRecipeEmitter(4, Materials.Aluminium, Materials.Platinum, Materials.EnderPearl); + addRecipeEmitter(5, Materials.Tungsten, Materials.Osmium, Materials.EnderEye); + + // Sensors + // addRecipeSensor(0, Materials.WroughtIron, Materials.IronMagnetic, + // Materials.Apatite); + addRecipeSensor(1, Materials.Steel, Materials.Brass, Materials.Quartzite); + addRecipeSensor(2, Materials.Aluminium, Materials.Electrum, Materials.NetherQuartz); + addRecipeSensor(3, Materials.StainlessSteel, Materials.Chrome, Materials.Emerald); + addRecipeSensor(4, Materials.Titanium, Materials.Platinum, Materials.EnderPearl); + addRecipeSensor(5, Materials.TungstenSteel, Materials.Osmium, Materials.EnderEye); + + } + + private static boolean addRecipeMotor(int tier, Materials wire, int wirethickness, Materials cable, + int cablethickness, Materials stick, Materials magstick) { + try { + String mWT = "" + wirethickness; + String mCT = "" + cablethickness; + + if (wirethickness < 10) { + mWT = "0" + wirethickness; + } + if (cablethickness < 10) { + mCT = "0" + cablethickness; + } + + OrePrefixes prefixWire = OrePrefixes.getOrePrefix("wireGt" + mWT); + OrePrefixes prefixCable = OrePrefixes.getOrePrefix("cableGt" + mCT); + + ItemStack wireStack = ItemUtils.getGregtechOreStack(prefixWire, wire, 4); + ItemStack cableStack = ItemUtils.getGregtechOreStack(prefixCable, cable, 2); + ItemStack rodStack = ItemUtils.getGregtechOreStack(OrePrefixes.stick, stick, 2); + ItemStack magrodStack = ItemUtils.getGregtechOreStack(OrePrefixes.stick, magstick, 1); + + ItemStack Input[] = { wireStack, cableStack, rodStack, magrodStack }; + + return CORE.RA.addComponentMakerRecipe(Input, GT_Values.NF, + CI.getElectricMotor(tier, 1), (tier * 40), + ((int) GT_Values.V[tier] / 16) * 15); + } + catch (Throwable t) { + return false; + } + } + + private static boolean addRecipePiston(int tier, Materials mat, Materials cable) { + try { + + OrePrefixes prefixCable = OrePrefixes.cableGt01; + ItemStack cableStack = ItemUtils.getGregtechOreStack(prefixCable, cable, 2); + ItemStack rodStack = ItemUtils.getGregtechOreStack(OrePrefixes.stick, mat, 2); + ItemStack plateStack = ItemUtils.getGregtechOreStack(OrePrefixes.plate, mat, 3); + ItemStack gearStack = ItemUtils.getGregtechOreStack(OrePrefixes.gearGtSmall, mat, 1); + ItemStack motorStack = CI.getElectricMotor(tier, 1); + + ItemStack Input[] = { plateStack, cableStack, rodStack, gearStack, motorStack }; + + return CORE.RA.addComponentMakerRecipe(Input, GT_Values.NF, + CI.getElectricPiston(tier, 1), (tier * 40), + ((int) GT_Values.V[tier] / 16) * 15); + } + catch (Throwable t) { + return false; + } + } + + private static boolean addRecipeConveyor(int tier, Materials cable) { + try { + OrePrefixes prefixCable = OrePrefixes.cableGt01; + ItemStack cableStack = ItemUtils.getGregtechOreStack(prefixCable, cable, 1); + ItemStack motorStack = CI.getElectricMotor(tier, 2); + boolean mAdd[]; + final ArrayList oreDictList = OreDictionary.getOres("plateAnyRubber"); + if (!oreDictList.isEmpty()) { + int mcount = 0; + mAdd = new boolean[oreDictList.size()]; + for (ItemStack mRubberType : oreDictList) { + final ItemStack returnValue = mRubberType.copy(); + returnValue.stackSize = 6; + ItemStack Input[] = { cableStack, motorStack, returnValue }; + mAdd[mcount++] = CORE.RA.addComponentMakerRecipe(Input, GT_Values.NF, + CI.getConveyor(tier, 1), (tier * 40), + ((int) GT_Values.V[tier] / 16) * 15); + } + int added = 0; + for (boolean y : mAdd) { + if (y) { + added++; + } + } + if (added >= (oreDictList.size() / 2)) { + return true; + } + else { + return false; + } + } + else { + ItemStack Input[] = { cableStack, motorStack, + ItemUtils.getItemStackOfAmountFromOreDictNoBroken("plateRubber", 6) }; + return CORE.RA.addComponentMakerRecipe(Input, GT_Values.NF, + CI.getConveyor(tier, 1), (tier * 40), + ((int) GT_Values.V[tier] / 16) * 15); + } + + } + catch (Throwable t) { + return false; + } + } + + private static boolean addRecipePump(int tier, Materials main, Materials pipe, Materials cable) { + try { + ItemStack cableStack = ItemUtils.getGregtechOreStack(OrePrefixes.cableGt01, cable, 1); + ItemStack screwStack = ItemUtils.getGregtechOreStack(OrePrefixes.screw, main, 1); + ItemStack rotorStack = ItemUtils.getGregtechOreStack(OrePrefixes.rotor, main, 1); + ItemStack pipeStack = ItemUtils.getGregtechOreStack(OrePrefixes.pipeMedium, pipe, 1); + ItemStack motorStack = CI.getElectricMotor(tier, 1); + boolean mAdd[]; + final ArrayList oreDictList = OreDictionary.getOres("ringAnyRubber"); + if (!oreDictList.isEmpty()) { + int mcount = 0; + mAdd = new boolean[oreDictList.size()]; + for (ItemStack mRubberType : oreDictList) { + final ItemStack returnValue = mRubberType.copy(); + returnValue.stackSize = 2; + ItemStack Input[] = { cableStack, screwStack, rotorStack, pipeStack, motorStack, returnValue }; + mAdd[mcount++] = CORE.RA.addComponentMakerRecipe(Input, GT_Values.NF, + CI.getElectricPump(tier, 1), (tier * 40), + ((int) GT_Values.V[tier] / 16) * 15); + } + int added = 0; + for (boolean y : mAdd) { + if (y) { + added++; + } + } + if (added >= (oreDictList.size() / 2)) { + return true; + } + else { + return false; + } + } + else { + ItemStack Input[] = { cableStack, screwStack, rotorStack, pipeStack, motorStack, + ItemUtils.getItemStackOfAmountFromOreDictNoBroken("ringRubber", 2) }; + return CORE.RA.addComponentMakerRecipe(Input, GT_Values.NF, + CI.getElectricPump(tier, 1), (tier * 40), + ((int) GT_Values.V[tier] / 16) * 15); + } + + } + catch (Throwable t) { + return false; + } + } + + private static boolean addRecipeRobotArm(int tier, Materials stick, Materials cable) { + try { + ItemStack cableStack = ItemUtils.getGregtechOreStack(OrePrefixes.cableGt01, cable, 3); + ItemStack rodStack = ItemUtils.getGregtechOreStack(OrePrefixes.stick, stick, 2); + ItemStack motorStack = CI.getElectricMotor(tier, 2); + ItemStack pistonStack = CI.getElectricPiston(tier, 1); + + boolean mAdd[]; + final ItemStack oreDictList[] = CI.getAllCircuitsOfTier(tier); + if (oreDictList.length > 0) { + int mcount = 0, added = 0; + mAdd = new boolean[oreDictList.length]; + for (ItemStack mCircuitType : oreDictList) { + final ItemStack returnValue = mCircuitType.copy(); + returnValue.stackSize = 1; + ItemStack Input[] = { returnValue, cableStack, rodStack, pistonStack, motorStack }; + mAdd[mcount++] = CORE.RA.addComponentMakerRecipe(Input, GT_Values.NF, + CI.getRobotArm(tier, 1), (tier * 40), + ((int) GT_Values.V[tier] / 16) * 15); + } + for (boolean y : mAdd) { + if (y) { + added++; + } + } + if (added >= (oreDictList.length / 2)) { + return true; + } + else { + return false; + } + } + else { + ItemStack Input[] = { ItemUtils.getItemStackOfAmountFromOreDict(CI.getTieredCircuitOreDictName(tier), 1), cableStack, rodStack, pistonStack, motorStack }; + return CORE.RA.addComponentMakerRecipe(Input, GT_Values.NF, + CI.getRobotArm(tier, 1), (tier * 40), + ((int) GT_Values.V[tier] / 16) * 15); + } + + + } + catch (Throwable t) { + return false; + } + } + + private static boolean addRecipeFieldGenerator(int tier) { + try { + ItemStack gem; + String mWT; + if (tier == 1) + mWT = "01"; + else if (tier == 2) + mWT = "02"; + else if (tier == 3) + mWT = "04"; + else if (tier == 4) + mWT = "08"; + else if (tier == 5) + mWT = "16"; + else + mWT = "01"; + + ItemStack eyeQuantum = ItemUtils.getValueOfItemList("QuantumEye", 1, ItemUtils.getSimpleStack(Items.ender_eye, 4)); + ItemStack starQuantum = ItemUtils.getValueOfItemList("QuantumStar", 1, ItemUtils.getSimpleStack(Items.nether_star, 4)); + + if (tier == 1) + gem = ItemUtils.getSimpleStack(Items.ender_pearl); + else if (tier == 2) + gem = ItemUtils.getSimpleStack(Items.ender_eye); + else if (tier == 3) + gem = eyeQuantum; + else if (tier == 4) + gem = ItemUtils.getSimpleStack(Items.nether_star); + else if (tier == 5) + gem = starQuantum; + else + gem = ItemUtils.getSimpleStack(Items.ender_pearl); + + OrePrefixes prefixWire = OrePrefixes.getOrePrefix("wireGt" + mWT); + ItemStack wireStack = ItemUtils.getGregtechOreStack(prefixWire, Materials.Osmium, 4); + + boolean mAdd[]; + final ItemStack oreDictList[] = CI.getAllCircuitsOfTier(tier); + if (oreDictList.length > 0) { + int mcount = 0, added = 0; + mAdd = new boolean[oreDictList.length]; + for (ItemStack mCircuitType : oreDictList) { + final ItemStack returnValue = mCircuitType.copy(); + returnValue.stackSize = 4; + ItemStack Input[] = { returnValue, wireStack, gem }; + mAdd[mcount++] = CORE.RA.addComponentMakerRecipe(Input, GT_Values.NF, + CI.getFieldGenerator(tier, 1), (tier * 40), + ((int) GT_Values.V[tier] / 16) * 15); + } + for (boolean y : mAdd) { + if (y) { + added++; + } + } + if (added >= (oreDictList.length / 2)) { + return true; + } + else { + return false; + } + } + else { + ItemStack Input[] = { ItemUtils.getItemStackOfAmountFromOreDict(CI.getTieredCircuitOreDictName(tier), 4), wireStack, gem }; + return CORE.RA.addComponentMakerRecipe(Input, GT_Values.NF, + CI.getFieldGenerator(tier, 1), (tier * 40), + ((int) GT_Values.V[tier] / 16) * 15); + } + + } + catch (Throwable t) { + return false; + } + } + + private static boolean addRecipeEmitter(int tier, Materials cable, Materials stick, Materials gem) { + try { + ItemStack cableStack = ItemUtils.getGregtechOreStack(OrePrefixes.cableGt01, cable, 2); + ItemStack gemstack = ItemUtils.getGregtechOreStack(OrePrefixes.gem, gem, 1); + ItemStack magrodStack = ItemUtils.getGregtechOreStack(OrePrefixes.stick, stick, 4); + + boolean mAdd[]; + final ItemStack oreDictList[] = CI.getAllCircuitsOfTier(tier); + if (oreDictList.length > 0) { + int mcount = 0, added = 0; + mAdd = new boolean[oreDictList.length]; + for (ItemStack mCircuitType : oreDictList) { + final ItemStack returnValue = mCircuitType.copy(); + returnValue.stackSize = 2; + ItemStack Input[] = { returnValue, cableStack, gemstack, magrodStack }; + mAdd[mcount++] = CORE.RA.addComponentMakerRecipe(Input, GT_Values.NF, + CI.getEmitter(tier, 1), (tier * 40), + ((int) GT_Values.V[tier] / 16) * 15); + } + for (boolean y : mAdd) { + if (y) { + added++; + } + } + if (added >= (oreDictList.length / 2)) { + return true; + } + else { + return false; + } + } + else { + ItemStack Input[] = { ItemUtils.getItemStackOfAmountFromOreDict(CI.getTieredCircuitOreDictName(tier), 2), cableStack, gemstack, magrodStack }; + return CORE.RA.addComponentMakerRecipe(Input, GT_Values.NF, + CI.getEmitter(tier, 1), (tier * 40), + ((int) GT_Values.V[tier] / 16) * 15); + } + + + + } + catch (Throwable t) { + return false; + } + } + + private static boolean addRecipeSensor(int tier, Materials plate, Materials rod, Materials gem) { + try { + ItemStack cableStack = ItemUtils.getGregtechOreStack(OrePrefixes.plate, plate, 4); + ItemStack magrodStack = ItemUtils.getGregtechOreStack(OrePrefixes.stick, rod, 1); + ItemStack gemStack = ItemUtils.getGregtechOreStack(OrePrefixes.gem, gem, 1); + + boolean mAdd[]; + final ItemStack oreDictList[] = CI.getAllCircuitsOfTier(tier); + if (oreDictList.length > 0) { + int mcount = 0, added = 0; + mAdd = new boolean[oreDictList.length]; + for (ItemStack mCircuitType : oreDictList) { + final ItemStack returnValue = mCircuitType.copy(); + returnValue.stackSize = 1; + ItemStack Input[] = { gemStack, cableStack, returnValue, magrodStack }; + mAdd[mcount++] = CORE.RA.addComponentMakerRecipe(Input, GT_Values.NF, + CI.getSensor(tier, 1), (tier * 40), + ((int) GT_Values.V[tier] / 16) * 15); + } + for (boolean y : mAdd) { + if (y) { + added++; + } + } + if (added >= (oreDictList.length / 2)) { + return true; + } + else { + return false; + } + } + else { + ItemStack Input[] = { gemStack, cableStack, magrodStack, ItemUtils.getItemStackOfAmountFromOreDict(CI.getTieredCircuitOreDictName(tier), 1) }; + return CORE.RA.addComponentMakerRecipe(Input, GT_Values.NF, + CI.getSensor(tier, 1), (tier * 40), + ((int) GT_Values.V[tier] / 16) * 15); + } + + + } + catch (Throwable t) { + return false; + } + } + +} diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechConduits.java b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechConduits.java new file mode 100644 index 0000000000..9a5fa6f6de --- /dev/null +++ b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechConduits.java @@ -0,0 +1,698 @@ +package gtPlusPlus.xmod.gregtech.registration.gregtech; + +import static gtPlusPlus.core.lib.CORE.GTNH; +import static gtPlusPlus.core.lib.LoadedMods.Gregtech; + +import java.lang.reflect.Constructor; +import java.lang.reflect.InvocationTargetException; +import java.util.ArrayList; + +import gregtech.api.enums.GT_Values; +import gregtech.api.enums.ItemList; +import gregtech.api.enums.Materials; +import gregtech.api.enums.OrePrefixes; +import gregtech.api.metatileentity.implementations.GT_MetaPipeEntity_Fluid; +import gregtech.api.util.GT_OreDictUnificator; +import gregtech.api.util.GT_Utility; +import gtPlusPlus.api.objects.Logger; +import gtPlusPlus.core.lib.CORE; +import gtPlusPlus.core.lib.LoadedMods; +import gtPlusPlus.core.material.ALLOY; +import gtPlusPlus.core.material.ELEMENT; +import gtPlusPlus.core.m