From 6d1b2216464d4dad449ac6fcfec476832224a55e Mon Sep 17 00:00:00 2001 From: Raven Szewczyk Date: Fri, 24 May 2024 19:50:35 +0100 Subject: Merge addon sources --- .../registration/gregtech/Gregtech4Content.java | 95 ++ .../gregtech/GregtechAdvancedBoilers.java | 109 ++ .../gregtech/GregtechAlgaeContent.java | 50 + .../gregtech/GregtechAmazonWarehouse.java | 20 + .../gregtech/GregtechBufferDynamos.java | 133 ++ .../registration/gregtech/GregtechConduits.java | 1269 ++++++++++++++++++++ .../gregtech/GregtechCustomHatches.java | 278 +++++ .../registration/gregtech/GregtechCyclotron.java | 19 + .../registration/gregtech/GregtechDehydrator.java | 199 +++ .../gregtech/GregtechEnergyBuffer.java | 149 +++ .../GregtechFactoryGradeReplacementMultis.java | 44 + .../GregtechGeothermalThermalGenerator.java | 78 ++ .../gregtech/GregtechHiAmpTransformer.java | 163 +++ .../gregtech/GregtechIndustrialAlloySmelter.java | 21 + .../gregtech/GregtechIndustrialArcFurnace.java | 22 + .../gregtech/GregtechIndustrialBlastSmelter.java | 31 + .../gregtech/GregtechIndustrialCentrifuge.java | 25 + .../gregtech/GregtechIndustrialChisel.java | 24 + .../gregtech/GregtechIndustrialCokeOven.java | 25 + .../gregtech/GregtechIndustrialCuttingFactory.java | 25 + .../gregtech/GregtechIndustrialElectrolyzer.java | 25 + .../GregtechIndustrialElementDuplicator.java | 24 + .../gregtech/GregtechIndustrialExtruder.java | 25 + .../gregtech/GregtechIndustrialFishPond.java | 21 + .../gregtech/GregtechIndustrialFluidHeater.java | 21 + .../gregtech/GregtechIndustrialForgeHammer.java | 21 + .../gregtech/GregtechIndustrialFuelRefinery.java | 25 + .../gregtech/GregtechIndustrialMacerator.java | 25 + .../gregtech/GregtechIndustrialMassFabricator.java | 137 +++ .../gregtech/GregtechIndustrialMixer.java | 25 + .../gregtech/GregtechIndustrialMultiMachine.java | 24 + .../gregtech/GregtechIndustrialPlatePress.java | 25 + .../gregtech/GregtechIndustrialRockBreaker.java | 15 + .../gregtech/GregtechIndustrialSifter.java | 24 + .../GregtechIndustrialThermalCentrifuge.java | 24 + .../gregtech/GregtechIndustrialTreeFarm.java | 22 + .../gregtech/GregtechIndustrialWashPlant.java | 24 + .../gregtech/GregtechIndustrialWiremill.java | 25 + .../registration/gregtech/GregtechIsaMill.java | 26 + .../registration/gregtech/GregtechLFTR.java | 93 ++ .../GregtechLargeTurbinesAndHeatExchanger.java | 48 + .../gregtech/GregtechMolecularTransformer.java | 21 + .../GregtechNuclearSaltProcessingPlant.java | 21 + .../gregtech/GregtechPollutionDevices.java | 93 ++ .../gregtech/GregtechPowerSubStation.java | 61 + .../gregtech/GregtechQuantumForceTransformer.java | 20 + .../registration/gregtech/GregtechRTG.java | 22 + .../gregtech/GregtechRocketFuelGenerator.java | 98 ++ .../gregtech/GregtechSemiFluidgenerators.java | 46 + .../gregtech/GregtechSimpleWasher.java | 166 +++ .../registration/gregtech/GregtechSolarTower.java | 46 + .../registration/gregtech/GregtechSteamMultis.java | 30 + .../registration/gregtech/GregtechSuperChests.java | 30 + .../gregtech/GregtechThaumcraftDevices.java | 29 + .../gregtech/GregtechThreadedBuffers.java | 13 + .../gregtech/GregtechTieredFluidTanks.java | 31 + .../gregtech/GregtechTreeFarmerTE.java | 21 + .../gregtech/GregtechWirelessChargers.java | 96 ++ 58 files changed, 4322 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/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/GregtechBufferDynamos.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/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/GregtechIndustrialChisel.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/GregtechIndustrialFluidHeater.java create mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialForgeHammer.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/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/GregtechIndustrialPlatePress.java create mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialRockBreaker.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/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/GregtechMolecularTransformer.java create mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechNuclearSaltProcessingPlant.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/GregtechPowerSubStation.java create mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechQuantumForceTransformer.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/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/GregtechSolarTower.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/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/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 (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..d08b010e97 --- /dev/null +++ b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/Gregtech4Content.java @@ -0,0 +1,95 @@ +package gtPlusPlus.xmod.gregtech.registration.gregtech; + +import gregtech.api.GregTech_API; +import gtPlusPlus.api.objects.Logger; +import gtPlusPlus.core.lib.CORE; +import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; +import gtPlusPlus.xmod.gregtech.common.tileentities.automation.GT_MetaTileEntity_ElectricAutoWorkbench; +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.basic.GT_MetaTileEntity_CropHarvestor; +import gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.production.GT4Entity_AutoCrafter; +import gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.production.GT4Entity_ThermalBoiler; + +public class Gregtech4Content { + + // ID Range 828, 829, 833 - 850 + + public static void run() { + Logger.INFO("Max MTE: " + GregTech_API.METATILEENTITIES.length + " | " + GregTech_API.MAXIMUM_METATILE_IDS); + thermalBoiler(); + multiCrafter(); + tesseracts(); + basic(); + automation(); + } + + private static void automation() { + Logger.INFO("Gregtech 4 Content | Registering Auto Workbenches."); + GregtechItemList.GT4_Electric_Auto_Workbench_LV + .set(new GT_MetaTileEntity_ElectricAutoWorkbench(31091, 1, "Automatic crafting machine").getStackForm(1L)); + GregtechItemList.GT4_Electric_Auto_Workbench_MV + .set(new GT_MetaTileEntity_ElectricAutoWorkbench(31092, 2, "Automatic crafting machine").getStackForm(1L)); + GregtechItemList.GT4_Electric_Auto_Workbench_HV + .set(new GT_MetaTileEntity_ElectricAutoWorkbench(31093, 3, "Automatic crafting machine").getStackForm(1L)); + GregtechItemList.GT4_Electric_Auto_Workbench_EV + .set(new GT_MetaTileEntity_ElectricAutoWorkbench(31094, 4, "Automatic crafting machine").getStackForm(1L)); + GregtechItemList.GT4_Electric_Auto_Workbench_IV + .set(new GT_MetaTileEntity_ElectricAutoWorkbench(31095, 5, "Automatic crafting machine").getStackForm(1L)); + GregtechItemList.GT4_Electric_Auto_Workbench_LuV + .set(new GT_MetaTileEntity_ElectricAutoWorkbench(31096, 6, "Automatic crafting machine").getStackForm(1L)); + GregtechItemList.GT4_Electric_Auto_Workbench_ZPM + .set(new GT_MetaTileEntity_ElectricAutoWorkbench(31097, 7, "Automatic crafting machine").getStackForm(1L)); + GregtechItemList.GT4_Electric_Auto_Workbench_UV + .set(new GT_MetaTileEntity_ElectricAutoWorkbench(31098, 8, "Automatic crafting machine").getStackForm(1L)); + + } + + private static void basic() { + Logger.INFO("Gregtech 4 Content | Registering Crop Managers."); + GregtechItemList.GT4_Crop_Harvester_LV.set( + new GT_MetaTileEntity_CropHarvestor(31111, 1, "Harvests the Cropsticks in front of it").getStackForm(1L)); + GregtechItemList.GT4_Crop_Harvester_MV.set( + new GT_MetaTileEntity_CropHarvestor(31112, 2, "Harvests the Cropsticks in front of it").getStackForm(1L)); + GregtechItemList.GT4_Crop_Harvester_HV.set( + new GT_MetaTileEntity_CropHarvestor(31113, 3, "Harvests the Cropsticks in front of it").getStackForm(1L)); + GregtechItemList.GT4_Crop_Harvester_EV.set( + new GT_MetaTileEntity_CropHarvestor(31114, 4, "Harvests the Cropsticks in front of it").getStackForm(1L)); + GregtechItemList.GT4_Crop_Harvester_IV.set( + new GT_MetaTileEntity_CropHarvestor(31115, 5, "Harvests the Cropsticks in front of it").getStackForm(1L)); + GregtechItemList.GT4_Crop_Harvester_LuV.set( + new GT_MetaTileEntity_CropHarvestor(31116, 6, "Harvests the Cropsticks in front of it").getStackForm(1L)); + GregtechItemList.GT4_Crop_Harvester_ZPM.set( + new GT_MetaTileEntity_CropHarvestor(31117, 7, "Harvests the Cropsticks in front of it").getStackForm(1L)); + GregtechItemList.GT4_Crop_Harvester_UV.set( + new GT_MetaTileEntity_CropHarvestor(31118, 8, "Harvests the Cropsticks in front of it").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 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..e77e2b1c54 --- /dev/null +++ b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechAdvancedBoilers.java @@ -0,0 +1,109 @@ +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.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() { + 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) }); + } +} 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..3c244739f6 --- /dev/null +++ b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechAlgaeContent.java @@ -0,0 +1,50 @@ +package gtPlusPlus.xmod.gregtech.registration.gregtech; + +import gregtech.api.GregTech_API; +import gtPlusPlus.api.objects.Logger; +import gtPlusPlus.core.block.ModBlocks; +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() { + 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..8fc84177ca --- /dev/null +++ b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechAmazonWarehouse.java @@ -0,0 +1,20 @@ +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() { + 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)); + } +} 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..20df726ebe --- /dev/null +++ b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechBufferDynamos.java @@ -0,0 +1,133 @@ +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 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", + "UHV 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(Materials.SuperconductorUHV) }); + } +} 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..22d3cd9608 --- /dev/null +++ b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechConduits.java @@ -0,0 +1,1269 @@ +package gtPlusPlus.xmod.gregtech.registration.gregtech; + +import static gregtech.api.enums.Mods.EnderIO; +import static gregtech.api.enums.Mods.Thaumcraft; + +import java.lang.reflect.Constructor; +import java.lang.reflect.InvocationTargetException; +import java.util.ArrayList; + +import net.minecraft.item.ItemStack; +import net.minecraftforge.oredict.OreDictionary; + +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.material.ALLOY; +import gtPlusPlus.core.material.ELEMENT; +import gtPlusPlus.core.material.Material; +import gtPlusPlus.core.recipe.common.CI; +import gtPlusPlus.core.util.Utils; +import gtPlusPlus.core.util.minecraft.FluidUtils; +import gtPlusPlus.core.util.minecraft.ItemUtils; +import gtPlusPlus.core.util.minecraft.MaterialUtils; +import gtPlusPlus.core.util.minecraft.RecipeUtils; +import gtPlusPlus.xmod.gregtech.api.enums.GregtechOrePrefixes.GT_Materials; +import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.GregtechMetaPipeEntityFluid; +import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.GregtechMetaPipeEntity_Cable; + +public class GregtechConduits { + + // 30000-30999 + + private static int BaseWireID = 30600; + private static int BasePipeID = 30700; + private static int BasePipeHexadecupleID = 30100; + + public static void run() { + Logger.INFO("Gregtech5u Content | Registering Custom Cables/Wires/Pipes."); + if (CORE.ConfigSwitches.enableCustom_Cables) { + run1(); + } + if (CORE.ConfigSwitches.enableCustom_Pipes) { + run2(); + run3(); + } + } + + private static void run3() { + + try { + Class aPipeEntity = GT_MetaPipeEntity_Fluid.class; + Constructor constructor = aPipeEntity.getConstructor( + int.class, + String.class, + String.class, + float.class, + Materials.class, + int.class, + int.class, + boolean.class, + int.class); + if (constructor != null) { + Logger.INFO("Generating Hexadecuple pipes."); + generateFluidMultiPipes( + constructor, + Materials.Copper, + MaterialUtils.getMaterialName(Materials.Copper), + "Copper", + BasePipeHexadecupleID++, + 60, + 1000, + true); + generateFluidMultiPipes( + constructor, + Materials.Bronze, + MaterialUtils.getMaterialName(Materials.Bronze), + "Bronze", + BasePipeHexadecupleID++, + 120, + 2000, + true); + generateFluidMultiPipes( + constructor, + Materials.Steel, + MaterialUtils.getMaterialName(Materials.Steel), + "Steel", + BasePipeHexadecupleID++, + 240, + 2500, + true); + generateFluidMultiPipes( + constructor, + Materials.StainlessSteel, + MaterialUtils.getMaterialName(Materials.StainlessSteel), + "Stainless Steel", + BasePipeHexadecupleID++, + 360, + 3000, + true); + generateFluidMultiPipes( + constructor, + Materials.Titanium, + MaterialUtils.getMaterialName(Materials.Titanium), + "Titanium", + BasePipeHexadecupleID++, + 480, + 5000, + true); + generateFluidMultiPipes( + constructor, + Materials.TungstenSteel, + MaterialUtils.getMaterialName(Materials.TungstenSteel), + "Tungsten Steel", + BasePipeHexadecupleID++, + 600, + 7500, + true); + generateFluidMultiPipes( + constructor, + Materials.Plastic, + MaterialUtils.getMaterialName(Materials.Plastic), + "Plastic", + BasePipeHexadecupleID++, + 360, + 350, + true); + + Materials aPTFE = Materials.get("Polytetrafluoroethylene"); + if (aPTFE != null) { + generateFluidMultiPipes( + constructor, + aPTFE, + MaterialUtils.getMaterialName(aPTFE), + "PTFE", + BasePipeHexadecupleID++, + 480, + 600, + true); + } + } else { + Logger.INFO("Failed during Hexadecuple pipe generation."); + } + + } catch (NoSuchMethodException | SecurityException e) { + Logger.INFO("Failed during Hexadecuple pipe generation. [Ecx]"); + e.printStackTrace(); + } + + // Generate Heat Pipes + // GregtechItemList.HeatPipe_Tier_1.set(new GT_MetaPipeEntity_Heat(31021, "gtpp.pipe.heat.basic.01", "Lead Heat + // Pipe (500C)", Materials.Lead, 500).getStackForm(1L)); + // GregtechItemList.HeatPipe_Tier_2.set(new GT_MetaPipeEntity_Heat(31022, "gtpp.pipe.heat.basic.02", "Iron Heat + // Pipe (500C)", Materials.Iron, 500).getStackForm(1L)); + // GregtechItemList.HeatPipe_Tier_3.set(new GT_MetaPipeEntity_Heat(31023, "gtpp.pipe.heat.basic.03", "Silver + // Heat Pipe (1500C)", Materials.Silver, 1500).getStackForm(1L)); + + } + + private static void generateFluidMultiPipes(Constructor aClazz, Materials aMaterial, + String name, String displayName, int startID, int transferRatePerSec, int heatCapacity, boolean gasProof) { + GT_MetaPipeEntity_Fluid aPipe; + final int transferRatePerTick = transferRatePerSec / 20; + try { + aPipe = aClazz.newInstance( + startID, + "GT_Pipe_" + name + "_Hexadecuple", + "Hexadecuple " + displayName + " Fluid Pipe", + 1.0F, + aMaterial, + transferRatePerTick, + heatCapacity, + gasProof, + 16); + if (aPipe == null) { + Logger.INFO("Failed to Generate " + aMaterial + " Hexadecuple pipes."); + } else { + Logger.INFO("Generated " + aMaterial + " Hexadecuple pipes."); + GT_OreDictUnificator.registerOre("pipeHexadecuple" + aMaterial, aPipe.getStackForm(1L)); + } + } catch (InstantiationException | IllegalAccessException | IllegalArgumentException + | InvocationTargetException e) { + Logger.INFO("Failed to Generate " + aMaterial + " Hexadecuple pipes. [Ecx]"); + e.printStackTrace(); + } + } + + private static void run1() { + + wireFactory("RedstoneAlloy", 32, BaseWireID + 45, 0, 2, 1, new short[] { 178, 34, 34, 0 }); + + // need to go back id because fluid pipes already occupy + makeCustomWires(ELEMENT.STANDALONE.HYPOGEN, BaseWireID - 15, 0, 0, 8, GT_Values.V[11], false, true); + + } + + private static void run2() { + generateNonGTFluidPipes(GT_Materials.Staballoy, ALLOY.STABALLOY, BasePipeID, 12500, 7500, true); + generateNonGTFluidPipes(GT_Materials.Tantalloy60, ALLOY.TANTALLOY_60, BasePipeID + 5, 10000, 4250, true); + generateNonGTFluidPipes(GT_Materials.Tantalloy61, ALLOY.TANTALLOY_61, BasePipeID + 10, 12000, 5800, true); + if (Thaumcraft.isModLoaded()) { + generateNonGTFluidPipes(GT_Materials.Void, null, BasePipeID + 15, 1600, 25000, true); + } + generateGTFluidPipes(Materials.Europium, BasePipeID + 20, 12000, 7500, true); + generateNonGTFluidPipes(GT_Materials.Potin, ALLOY.POTIN, BasePipeID + 25, 500, 2000, true); + generateNonGTFluidPipes(GT_Materials.MaragingSteel300, ALLOY.MARAGING300, BasePipeID + 30, 14000, 2500, true); + generateNonGTFluidPipes(GT_Materials.MaragingSteel350, ALLOY.MARAGING350, BasePipeID + 35, 16000, 2500, true); + generateNonGTFluidPipes(GT_Materials.Inconel690, ALLOY.INCONEL_690, BasePipeID + 40, 15000, 4800, true); + generateNonGTFluidPipes(GT_Materials.Inconel792, ALLOY.INCONEL_792, BasePipeID + 45, 16000, 5500, true); + generateNonGTFluidPipes(GT_Materials.HastelloyX, ALLOY.HASTELLOY_X, BasePipeID + 50, 20000, 4200, true); + + generateGTFluidPipes(Materials.Tungsten, BasePipeID + 55, 4320, 7200, true); + if (EnderIO.isModLoaded()) { + generateGTFluidPipes(Materials.DarkSteel, BasePipeID + 60, 2320, 2750, true); + } + generateGTFluidPipes(Materials.Clay, BasePipeID + 65, 100, 500, false); + generateGTFluidPipes(Materials.Lead, BasePipeID + 70, 350, 1200, true); + + generateNonGTFluidPipes( + GT_Materials.TriniumNaquadahCarbonite, + ALLOY.TRINIUM_NAQUADAH_CARBON, + 30500, + 20, + 250000, + true); + } + + private static void wireFactory(final String Material, final int Voltage, final int ID, final long insulatedLoss, + final long uninsulatedLoss, final long Amps, final short[] rgb) { + final Materials T = Materials.get(Material); + int V = GT_Utility.getTier(Voltage); + if (V == -1) { + Logger.ERROR("Failed to set voltage on " + Material + ". Invalid voltage of " + Voltage + "V set."); + Logger.ERROR(Material + " has defaulted to 8v."); + V = 0; + } + makeWires(T, ID, insulatedLoss, uninsulatedLoss, Amps, GT_Values.V[V], true, false, rgb); + } + + private static void makeWires(final Materials aMaterial, final int aStartID, final long aLossInsulated, + final long aLoss, final long aAmperage, final long aVoltage, final boolean aInsulatable, + final boolean aAutoInsulated, final short[] aRGB) { + Logger.WARNING("Gregtech5u Content | Registered " + aMaterial.mName + " as a new material for Wire & Cable."); + GT_OreDictUnificator.registerOre( + OrePrefixes.wireGt01, + aMaterial, + new GregtechMetaPipeEntity_Cable( + aStartID + 0, + "wire." + aMaterial.mName.toLowerCase() + ".01", + "1x " + aMaterial.mDefaultLocalName + " Wire", + 0.125F, + aMaterial, + aLoss, + 1L * aAmperage, + aVoltage, + false, + !aAutoInsulated, + aRGB).getStackForm(1L)); + GT_OreDictUnificator.registerOre( + OrePrefixes.wireGt02, + aMaterial, + new GregtechMetaPipeEntity_Cable( + aStartID + 1, + "wire." + aMaterial.mName.toLowerCase() + ".02", + "2x " + aMaterial.mDefaultLocalName + " Wire", + 0.25F, + aMaterial, + aLoss, + 2L * aAmperage, + aVoltage, + false, + !aAutoInsulated, + aRGB).getStackForm(1L)); + GT_OreDictUnificator.registerOre( + OrePrefixes.wireGt04, + aMaterial, + new GregtechMetaPipeEntity_Cable( + aStartID + 2, + "wire." + aMaterial.mName.toLowerCase() + ".04", + "4x " + aMaterial.mDefaultLocalName + " Wire", + 0.375F, + aMaterial, + aLoss, + 4L * aAmperage, + aVoltage, + false, + !aAutoInsulated, + aRGB).getStackForm(1L)); + GT_OreDictUnificator.registerOre( + OrePrefixes.wireGt08, + aMaterial, + new GregtechMetaPipeEntity_Cable( + aStartID + 3, + "wire." + aMaterial.mName.toLowerCase() + ".08", + "8x " + aMaterial.mDefaultLocalName + " Wire", + 0.50F, + aMaterial, + aLoss, + 8L * aAmperage, + aVoltage, + false, + !aAutoInsulated, + aRGB).getStackForm(1L)); + GT_OreDictUnificator.registerOre( + OrePrefixes.wireGt12, + aMaterial, + new GregtechMetaPipeEntity_Cable( + aStartID + 4, + "wire." + aMaterial.mName.toLowerCase() + ".12", + "12x " + aMaterial.mDefaultLocalName + " Wire", + 0.625F, + aMaterial, + aLoss, + 12L * aAmperage, + aVoltage, + false, + !aAutoInsulated, + aRGB).getStackForm(1L)); + GT_OreDictUnificator.registerOre( + OrePrefixes.wireGt16, + aMaterial, + new GregtechMetaPipeEntity_Cable( + aStartID + 5, + "wire." + aMaterial.mName.toLowerCase() + ".16", + "16x " + aMaterial.mDefaultLocalName + " Wire", + 0.75F, + aMaterial, + aLoss, + 16L * aAmperage, + aVoltage, + false, + !aAutoInsulated, + aRGB).getStackForm(1L)); + if (aInsulatable) { + GT_OreDictUnificator.registerOre( + OrePrefixes.cableGt01, + aMaterial, + new GregtechMetaPipeEntity_Cable( + aStartID + 6, + "cable." + aMaterial.mName.toLowerCase() + ".01", + "1x " + aMaterial.mDefaultLocalName + " Cable", + 0.25F, + aMaterial, + aLossInsulated, + 1L * aAmperage, + aVoltage, + true, + false, + aRGB).getStackForm(1L)); + GT_OreDictUnificator.registerOre( + OrePrefixes.cableGt02, + aMaterial, + new GregtechMetaPipeEntity_Cable( + aStartID + 7, + "cable." + aMaterial.mName.toLowerCase() + ".02", + "2x " + aMaterial.mDefaultLocalName + " Cable", + 0.375F, + aMaterial, + aLossInsulated, + 2L * aAmperage, + aVoltage, + true, + false, + aRGB).getStackForm(1L)); + GT_OreDictUnificator.registerOre( + OrePrefixes.cableGt04, + aMaterial, + new GregtechMetaPipeEntity_Cable( + aStartID + 8, + "cable." + aMaterial.mName.toLowerCase() + ".04", + "4x " + aMaterial.mDefaultLocalName + " Cable", + 0.5F, + aMaterial, + aLossInsulated, + 4L * aAmperage, + aVoltage, + true, + false, + aRGB).getStackForm(1L)); + GT_OreDictUnificator.registerOre( + OrePrefixes.cableGt08, + aMaterial, + new GregtechMetaPipeEntity_Cable( + aStartID + 9, + "cable." + aMaterial.mName.toLowerCase() + ".08", + "8x " + aMaterial.mDefaultLocalName + " Cable", + 0.625F, + aMaterial, + aLossInsulated, + 8L * aAmperage, + aVoltage, + true, + false, + aRGB).getStackForm(1L)); + GT_OreDictUnificator.registerOre( + OrePrefixes.cableGt12, + aMaterial, + new GregtechMetaPipeEntity_Cable( + aStartID + 10, + "cable." + aMaterial.mName.toLowerCase() + ".12", + "12x " + aMaterial.mDefaultLocalName + " Cable", + 0.75F, + aMaterial, + aLossInsulated, + 12L * aAmperage, + aVoltage, + true, + false, + aRGB).getStackForm(1L)); + GT_OreDictUnificator.registerOre( + OrePrefixes.cableGt16, + aMaterial, + new GregtechMetaPipeEntity_Cable( + aStartID + 11, + "cable." + aMaterial.mName.toLowerCase() + ".16", + "16x " + aMaterial.mDefaultLocalName + " Cable", + 0.875f, + aMaterial, + aLossInsulated, + 16L * aAmperage, + aVoltage, + true, + false, + aRGB).getStackForm(1L)); + } + } + + private static void customWireFactory(final Material Material, final int Voltage, final int ID, + final long insulatedLoss, final long uninsulatedLoss, final long Amps) { + int V = GT_Utility.getTier(Voltage); + if (V == -1) { + Logger.ERROR("Failed to set voltage on " + Material + ". Invalid voltage of " + Voltage + "V set."); + Logger.ERROR(Material + " has defaulted to 8v."); + V = 0; + } + makeCustomWires(Material, ID, insulatedLoss, uninsulatedLoss, Amps, GT_Values.V[V], true, false); + } + + private static void makeCustomWires(final Material aMaterial, final int aStartID, final long aLossInsulated, + final long aLoss, final long aAmperage, final long aVoltage, final boolean aInsulatable, + final boolean aAutoInsulated) { + Logger.WARNING( + "Gregtech5u Content | Registered " + aMaterial.getLocalizedName() + " as a new material for Wire & Cable."); + registerOre( + OrePrefixes.wireGt01, + aMaterial, + new GregtechMetaPipeEntity_Cable( + aStartID + 0, + "wire." + aMaterial.getLocalizedName() + .toLowerCase() + ".01", + "1x " + aMaterial.getLocalizedName() + " Wire", + 0.125F, + aLoss, + 1L * aAmperage, + aVoltage, + false, + !aAutoInsulated, + aMaterial.getRGBA()).getStackForm(1L)); + registerOre( + OrePrefixes.wireGt02, + aMaterial, + new GregtechMetaPipeEntity_Cable( + aStartID + 1, + "wire." + aMaterial.getLocalizedName() + .toLowerCase() + ".02", + "2x " + aMaterial.getLocalizedName() + " Wire", + 0.25F, + aLoss, + 2L * aAmperage, + aVoltage, + false, + !aAutoInsulated, + aMaterial.getRGBA()).getStackForm(1L)); + registerOre( + OrePrefixes.wireGt04, + aMaterial, + new GregtechMetaPipeEntity_Cable( + aStartID + 2, + "wire." + aMaterial.getLocalizedName() + .toLowerCase() + ".04", + "4x " + aMaterial.getLocalizedName() + " Wire", + 0.375F, + aLoss, + 4L * aAmperage, + aVoltage, + false, + !aAutoInsulated, + aMaterial.getRGBA()).getStackForm(1L)); + registerOre( + OrePrefixes.wireGt08, + aMaterial, + new GregtechMetaPipeEntity_Cable( + aStartID + 3, + "wire." + aMaterial.getLocalizedName() + .toLowerCase() + ".08", + "8x " + aMaterial.getLocalizedName() + " Wire", + 0.50F, + aLoss, + 8L * aAmperage, + aVoltage, + false, + !aAutoInsulated, + aMaterial.getRGBA()).getStackForm(1L)); + registerOre( + OrePrefixes.wireGt12, + aMaterial, + new GregtechMetaPipeEntity_Cable( + aStartID + 4, + "wire." + aMaterial.getLocalizedName() + .toLowerCase() + ".12", + "12x " + aMaterial.getLocalizedName() + " Wire", + 0.625F, + aLoss, + 12L * aAmperage, + aVoltage, + false, + !aAutoInsulated, + aMaterial.getRGBA()).getStackForm(1L)); + registerOre( + OrePrefixes.wireGt16, + aMaterial, + new GregtechMetaPipeEntity_Cable( + aStartID + 5, + "wire." + aMaterial.getLocalizedName() + .toLowerCase() + ".16", + "16x " + aMaterial.getLocalizedName() + " Wire", + 0.75F, + aLoss, + 16L * aAmperage, + aVoltage, + false, + !aAutoInsulated, + aMaterial.getRGBA()).getStackForm(1L)); + if (aInsulatable) { + registerOre( + OrePrefixes.cableGt01, + aMaterial, + new GregtechMetaPipeEntity_Cable( + aStartID + 6, + "cable." + aMaterial.getLocalizedName() + .toLowerCase() + ".01", + "1x " + aMaterial.getLocalizedName() + " Cable", + 0.25F, + aLossInsulated, + 1L * aAmperage, + aVoltage, + true, + false, + aMaterial.getRGBA()).getStackForm(1L)); + registerOre( + OrePrefixes.cableGt02, + aMaterial, + new GregtechMetaPipeEntity_Cable( + aStartID + 7, + "cable." + aMaterial.getLocalizedName() + .toLowerCase() + ".02", + "2x " + aMaterial.getLocalizedName() + " Cable", + 0.375F, + aLossInsulated, + 2L * aAmperage, + aVoltage, + true, + false, + aMaterial.getRGBA()).getStackForm(1L)); + registerOre( + OrePrefixes.cableGt04, + aMaterial, + new GregtechMetaPipeEntity_Cable( + aStartID + 8, + "cable." + aMaterial.getLocalizedName() + .toLowerCase() + ".04", + "4x " + aMaterial.getLocalizedName() + " Cable", + 0.5F, + aLossInsulated, + 4L * aAmperage, + aVoltage, + true, + false, + aMaterial.getRGBA()).getStackForm(1L)); + registerOre( + OrePrefixes.cableGt08, + aMaterial, + new GregtechMetaPipeEntity_Cable( + aStartID + 9, + "cable." + aMaterial.getLocalizedName() + .toLowerCase() + ".08", + "8x " + aMaterial.getLocalizedName() + " Cable", + 0.625F, + aLossInsulated, + 8L * aAmperage, + aVoltage, + true, + false, + aMaterial.getRGBA()).getStackForm(1L)); + registerOre( + OrePrefixes.cableGt12, + aMaterial, + new GregtechMetaPipeEntity_Cable( + aStartID + 10, + "cable." + aMaterial.getLocalizedName() + .toLowerCase() + ".12", + "12x " + aMaterial.getLocalizedName() + " Cable", + 0.75F, + aLossInsulated, + 12L * aAmperage, + aVoltage, + true, + false, + aMaterial.getRGBA()).getStackForm(1L)); + registerOre( + OrePrefixes.cableGt16, + aMaterial, + new GregtechMetaPipeEntity_Cable( + aStartID + 11, + "cable." + aMaterial.getLocalizedName() + .toLowerCase() + ".16", + "16x " + aMaterial.getLocalizedName() + " Cable", + 0.875f, + aLossInsulated, + 16L * aAmperage, + aVoltage, + true, + false, + aMaterial.getRGBA()).getStackForm(1L)); + } + } + + private static void superConductorFactory(final GT_Materials Material, final int Voltage, final int ID, + final long insulatedLoss, final long uninsulatedLoss, final long Amps) { + final GT_Materials T = Material; + int V = 0; + if (Voltage == 8) { + V = 0; + } else if (Voltage == 32) { + V = 1; + } else if (Voltage == 128) { + V = 2; + } else if (Voltage == 512) { + V = 3; + } else if (Voltage == 2048) { + V = 4; + } else if (Voltage == 8196) { + V = 5; + } else if (Voltage == 32768) { + V = 6; + } else if (Voltage == 131072) { + V = 7; + } else if (Voltage == 524288) { + V = 8; + } else if (Voltage == Integer.MAX_VALUE) { + V = 9; + } else { + Logger.ERROR("Failed to set voltage on " + Material.name() + ". Invalid voltage of " + Voltage + "V set."); + Logger.ERROR(Material.name() + " has defaulted to 8v."); + V = 0; + } + } + + private static void generateGTFluidPipes(final Materials material, final int startID, final int transferRatePerSec, + final int heatResistance, final boolean isGasProof) { + final int transferRatePerTick = transferRatePerSec / 20; + final long mass = material.getMass(); + final long voltage = material.mMeltingPoint >= 2800 ? 64 : 16; + GT_OreDictUnificator.registerOre( + OrePrefixes.pipeTiny.get(material), + new GT_MetaPipeEntity_Fluid( + startID, + "GT_Pipe_" + material.mDefaultLocalName + "_Tiny", + "Tiny " + material.mDefaultLocalName + " Fluid Pipe", + 0.25F, + material, + transferRatePerTick * 2, + heatResistance, + isGasProof).getStackForm(1L)); + GT_OreDictUnificator.registerOre( + OrePrefixes.pipeSmall.get(material), + new GT_MetaPipeEntity_Fluid( + startID + 1, + "GT_Pipe_" + material.mDefaultLocalName + "_Small", + "Small " + material.mDefaultLocalName + " Fluid Pipe", + 0.375F, + material, + transferRatePerTick * 4, + heatResistance, + isGasProof).getStackForm(1L)); + GT_OreDictUnificator.registerOre( + OrePrefixes.pipeMedium.get(material), + new GT_MetaPipeEntity_Fluid( + startID + 2, + "GT_Pipe_" + material.mDefaultLocalName + "", + "" + material.mDefaultLocalName + " Fluid Pipe", + 0.5F, + material, + transferRatePerTick * 12, + heatResistance, + isGasProof).getStackForm(1L)); + GT_OreDictUnificator.registerOre( + OrePrefixes.pipeLarge.get(material), + new GT_MetaPipeEntity_Fluid( + startID + 3, + "GT_Pipe_" + material.mDefaultLocalName + "_Large", + "Large " + material.mDefaultLocalName + " Fluid Pipe", + 0.75F, + material, + transferRatePerTick * 24, + heatResistance, + isGasProof).getStackForm(1L)); + GT_OreDictUnificator.registerOre( + OrePrefixes.pipeHuge.get(material), + new GT_MetaPipeEntity_Fluid( + startID + 4, + "GT_Pipe_" + material.mDefaultLocalName + "_Huge", + "Huge " + material.mDefaultLocalName + " Fluid Pipe", + 0.875F, + material, + transferRatePerTick * 48, + heatResistance, + isGasProof).getStackForm(1L)); + // generatePipeRecipes(material.mDefaultLocalName, mass, voltage); + } + + private static void generateNonGTFluidPipes(final GT_Materials material, final Material myMaterial, + final int startID, final int transferRatePerSec, final int heatResistance, final boolean isGasProof) { + final int transferRatePerTick = transferRatePerSec / 20; + long mass; + if (myMaterial != null) { + mass = myMaterial.getMass(); + } else { + mass = ELEMENT.getInstance().IRON.getMass(); + } + + int tVoltageMultiplier = (material.mBlastFurnaceTemp >= 2800) ? 64 : 16; + + GT_OreDictUnificator.registerOre( + OrePrefixes.pipeTiny.get(material), + new GregtechMetaPipeEntityFluid( + startID, + "GT_Pipe_" + material.mDefaultLocalName + "_Tiny", + "Tiny " + material.mDefaultLocalName + " Fluid Pipe", + 0.25F, + material, + transferRatePerTick * 2, +