aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gtPlusPlus/xmod/gregtech/registration
diff options
context:
space:
mode:
authorJohann Bernhardt <johann.bernhardt@tum.de>2021-12-12 19:38:06 +0100
committerJohann Bernhardt <johann.bernhardt@tum.de>2021-12-12 19:38:06 +0100
commit311ab89f93558233a40079f7cb16605b141b5346 (patch)
treec5f44ef47f441a57c5f57aa801f639c7879ed760 /src/main/java/gtPlusPlus/xmod/gregtech/registration
parent896143b96132f5ac54aa8d8f7386f27487e5e530 (diff)
downloadGT5-Unofficial-311ab89f93558233a40079f7cb16605b141b5346.tar.gz
GT5-Unofficial-311ab89f93558233a40079f7cb16605b141b5346.tar.bz2
GT5-Unofficial-311ab89f93558233a40079f7cb16605b141b5346.zip
Move sources and resources
Diffstat (limited to 'src/main/java/gtPlusPlus/xmod/gregtech/registration')
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/Gregtech4Content.java85
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechAdvancedBoilers.java104
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechAdvancedMixer.java132
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechAlgaeContent.java55
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechAmazonWarehouse.java21
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechBedrockPlatforms.java18
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechBufferDynamos.java64
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechComponentAssembler.java532
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechConduits.java698
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechCustomHatches.java217
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechCyclotron.java22
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechDehydrator.java193
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechEnergyBuffer.java94
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechFactoryGradeReplacementMultis.java35
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechFluidReactor.java25
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechGeneratorsULV15
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechGeneratorsULV.java26
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechGeothermalThermalGenerator.java68
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechHiAmpTransformer.java158
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialAlloySmelter.java22
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialArcFurnace.java22
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialBlastSmelter.java26
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialCentrifuge.java26
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialCokeOven.java26
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialCuttingFactory.java25
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialElectrolyzer.java26
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialElementDuplicator.java20
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialExtruder.java26
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialFishPond.java24
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialFuelRefinery.java26
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialGeneratorArray.java26
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialMacerator.java26
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialMassFabricator.java230
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialMixer.java27
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialMultiMachine.java25
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialMultiTank.java32
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialPlatePress.java26
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialSifter.java26
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialThermalCentrifuge.java25
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialTreeFarm.java28
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialWashPlant.java25
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialWiremill.java25
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIronBlastFurnace.java24
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIsaMill.java23
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechLFTR.java36
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechLargeTurbinesAndHeatExchanger.java22
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechMiniRaFusion.java45
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechNaqReactor.java24
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechNitroDieselFix.java182
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechPollutionDevices.java57
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechPowerBreakers.java42
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechPowerSubStation.java43
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechRTG.java22
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechRocketFuelGenerator.java128
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechSafeBlock.java118
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechSemiFluidgenerators.java20
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechSimpleWasher.java109
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechSolarGenerators.java49
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechSolarTower.java32
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechSteamCondenser.java26
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechSteamMultis.java22
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechSuperChests.java73
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechSuperConductionPoint.java19
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechTeslaTower.java17
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechThaumcraftDevices.java26
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechThreadedBuffers.java136
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechTieredChunkloaders.java28
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechTieredFluidTanks.java58
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechTreeFarmerTE.java22
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechWirelessChargers.java48
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/NewHorizonsAccelerator.java99
71 files changed, 4902 insertions, 0 deletions
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<GT_Recipe> 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<ItemStack> 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<ItemStack> 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.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;
+import net.minecraft.item.ItemStack;
+import net.minecraftforge.oredict.OreDictionary;
+
+public class GregtechConduits {
+ /**
+ *
+ * The Voltage Tiers. Use this Array instead of the old named Voltage Variables
+ * public static final long[] V = new long[] {0=8, 1=32, 2=128, 3=512, 4=2048, 5=8192, 6=32768, 7=131072, 8=524288, 9=Integer.MAX_VALUE, Integer.MAX_VALUE, Integer.MAX_VALUE, Integer.MAX_VALUE, Integer.MAX_VALUE, Integer.MAX_VALUE, Integer.MAX_VALUE};
+ *
+ */
+
+ private static OrePrefixes cableGt16;
+ static{
+ if(GTNH) {
+ try {
+ cableGt16=(OrePrefixes) GT_Utility.getField(OrePrefixes.class,"cableGt16").get(null);
+ }catch (IllegalAccessException | NullPointerException e){
+ e.printStackTrace();
+ }
+ }
+ }
+
+ //30000-30999
+
+ private static int BaseWireID = 30600;
+ private static int BasePipeID = 30700;
+ private static int BasePipeHexadecupleID = 30100;
+
+
+ public static void run()
+ {
+ if (Gregtech){
+ 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() {
+
+ if (Utils.getGregtechVersionAsInt() >= 50930) {
+ try {
+ Class<GT_MetaPipeEntity_Fluid> aPipeEntity = GT_MetaPipeEntity_Fluid.class;
+ Constructor<GT_MetaPipeEntity_Fluid> 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<GT_MetaPipeEntity_Fluid> aClazz, Materials aMaterial, String name, String displayName, int startID, int baseCapacity, int heatCapacity, boolean gasProof){
+ GT_MetaPipeEntity_Fluid aPipe;
+ try {
+ aPipe = aClazz.newInstance(startID, "GT_Pipe_" + name + "_Hexadecuple",
+ "Hexadecuple " + displayName + " Fluid Pipe", 1.0F, aMaterial, baseCapacity, 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(){
+
+ if (LoadedMods.Big_Reactors){
+ wireFactory("Blutonium", 8196, BaseWireID, 8, 32, 2, new short[]{28, 28, 218, 0});
+ wireFactory("Cyanite", 512, BaseWireID+15, 2, 16, 4, new short[]{27, 130, 178, 0});
+ wireFactory("Yellorium", 2048, BaseWireID+30, 4, 16, 2, new short[]{150, 195, 54, 0});
+ }
+
+ if (LoadedMods.EnderIO){
+ wireFactory("RedstoneAlloy", 32, BaseWireID+45, 0, 2, 1, new short[]{178,34,34, 0});
+ }
+
+ if(!GTNH) {
+ customWireFactory(ALLOY.LEAGRISIUM, 512, BaseWireID + 56, 1, 2, 2);
+ customWireFactory(ELEMENT.getInstance().ZIRCONIUM, 128, BaseWireID + 67, 1, 2, 2);
+ customWireFactory(ALLOY.HG1223, 32768, BaseWireID + 78, 2, 8, 4);
+ customWireFactory(ALLOY.TRINIUM_TITANIUM, 2048, BaseWireID + 89, 1, 2, 16);
+ }
+
+
+ //superConductorFactory(GT_Materials.Superconductor, 524288, 30660, 0, 0, 8);
+ if (LoadedMods.Thaumcraft){
+ //superConductorFactory(GT_Materials.Void, 512, 30661, 0, 0, 8);
+ }
+ }
+
+ private static void run2(){
+ generateNonGTFluidPipes(GT_Materials.Staballoy, ALLOY.STABALLOY, BasePipeID, 6250, 7500, true);
+ generateNonGTFluidPipes(GT_Materials.Tantalloy60, ALLOY.TANTALLOY_60, BasePipeID+5, 5000, 4250, true);
+ generateNonGTFluidPipes(GT_Materials.Tantalloy61, ALLOY.TANTALLOY_61, BasePipeID+10, 6000, 5800, true);
+ if (LoadedMods.Thaumcraft){
+ generateNonGTFluidPipes(GT_Materials.Void, null, BasePipeID+15, 800, 25000, true);
+ }
+ generateGTFluidPipes(Materials.Europium, BasePipeID+20, 12000, 7500, true);
+ generateNonGTFluidPipes(GT_Materials.Potin, ALLOY.POTIN, BasePipeID+25, 480, 2000, true);
+ generateNonGTFluidPipes(GT_Materials.MaragingSteel300, ALLOY.MARAGING300, BasePipeID+30, 7000, 2500, true);
+ generateNonGTFluidPipes(GT_Materials.MaragingSteel350, ALLOY.MARAGING350, BasePipeID+35, 8000, 2500, true);
+ generateNonGTFluidPipes(GT_Materials.Inconel690, ALLOY.INCONEL_690, BasePipeID+40, 7500, 4800, true);
+ generateNonGTFluidPipes(GT_Materials.Inconel792, ALLOY.INCONEL_792, BasePipeID+45, 8000, 5500, true);
+ generateNonGTFluidPipes(GT_Materials.HastelloyX, ALLOY.HASTELLOY_X, BasePipeID+50, 10000, 4200, true);
+
+ generateGTFluidPipes(Materials.Tungsten, BasePipeID+55, 4320, 7200, true);
+ if (LoadedMods.EnderIO){
+ generateGTFluidPipes(Materials.DarkSteel, BasePipeID+60, 2320, 2750, true);
+ }
+ generateGTFluidPipes(Materials.Clay, BasePipeID+65, 100, 500, false);
+ generateGTFluidPipes(Materials.Lead, BasePipeID+70, 720, 1200, true);
+
+ generateNonGTFluidPipes(GT_Materials.TriniumNaquadahCarbonite, ALLOY.TRINIUM_NAQUADAH_CARBON, 30500, 10, 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){
+ @SuppressWarnings("deprecation")
+ final Materials T = Materials.valueOf(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);
+ }
+
+ @SuppressWarnings("deprecation")
+ 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.name() +" as a new material for Wire & Cable.");
+ GT_OreDictUnificator.registerOre(OrePrefixes.wireGt01, aMaterial, new GregtechMetaPipeEntity_Cable(aStartID + 0, "wire." + aMaterial.name().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.name().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.name().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.name().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.name().toLowerCase() + ".12", "12x " + aMaterial.mDefaultLocalName + " Wire", GTNH?0.625F:0.75F, aMaterial, aLoss, 12L * aAmperage, aVoltage, false, !aAutoInsulated, aRGB).getStackForm(1L));
+ GT_OreDictUnificator.registerOre(OrePrefixes.wireGt16, aMaterial, new GregtechMetaPipeEntity_Cable(aStartID + 5, "wire." + aMaterial.name().toLowerCase() + ".16", "16x " + aMaterial.mDefaultLocalName + " Wire", GTNH?0.75F:1.0F, 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.name().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.name().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.name().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.name().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.name().toLowerCase() + ".12", "12x " + aMaterial.mDefaultLocalName + " Cable", GTNH?0.75F:0.875F, aMaterial, aLossInsulated, 12L * aAmperage, aVoltage, true, false, aRGB).getStackForm(1L));
+ if(GTNH){
+ GT_OreDictUnificator.registerOre(cableGt16, aMaterial, new GregtechMetaPipeEntity_Cable(aStartID + 11, "cable." + aMaterial.name().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", GTNH?0.625F:0.75F, 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", GTNH?0.75F:1.0F, 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", GTNH?0.75F:0.875F, aLossInsulated, 12L * aAmperage, aVoltage, true, false, aMaterial.getRGBA()).getStackForm(1L));
+ if(GTNH){
+ registerOre(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;
+ }
+ //makeWires(T, ID, 2L, 4L, 2L, GT_Values.V[V], true, false);
+ //makeSuperConductors(T, ID, insulatedLoss, uninsulatedLoss, Amps, GT_Values.V[V], true, false);
+ //makeWires(T, ID, bEC ? 2L : 2L, bEC ? 4L : 4L, 2L, gregtech.api.enums.GT_Values.V[V], true, false);
+ }
+
+
+ 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", GTNH?0.875F:1.0F, 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/10;
+ 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, heatResistance, isGasProof).getStackForm(1L));
+ GT_OreDictUnificator.registerOre(OrePrefixes.pipeSmall.get(material), new GregtechMetaPipeEntityFluid(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 GregtechMetaPipeEntityFluid(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 GregtechMetaPipeEntityFluid(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 GregtechMetaPipeEntityFluid(startID+4, "GT_Pipe_"+material.mDefaultLocalName+"_Huge", "Huge "+material.mDefaultLocalName+" Fluid Pipe", GTNH?0.875F:1.0F, material, transferRatePerTick*48, heatResistance, isGasProof).getStackForm(1L));
+ //generatePipeRecipes(material.mDefaultLocalName, mass, tVoltageMultiplier);
+
+ }
+
+ public static void generatePipeRecipes(final String materialName, final long Mass, final long vMulti){
+
+ String output = materialName.substring(0, 1).toUpperCase() + materialName.substring(1);
+ output = Utils.sanitizeString(output);
+
+ if (output.equals("VoidMetal")){
+ output = "Void";
+ }
+
+ Logger.INFO("Generating "+output+" pipes & respective recipes.");
+
+ ItemStack pipeIngot = ItemUtils.getItemStackOfAmountFromOreDict("ingot"+output, 1);
+ ItemStack pipePlate = ItemUtils.getItemStackOfAmountFromOreDict("plate"+output, 1);
+
+ if (pipeIngot == null){
+ if (pipePlate != null){
+ pipeIngot = pipePlate;
+ }
+ }
+
+ //Check all pipes are not null
+ Logger.WARNING("Generated pipeTiny from "+ materialName +"? "+ ((ItemUtils.getItemStackOfAmountFromOreDict("pipe"+"Tiny"+output, 1) != null) ? true : false));
+ Logger.WARNING("Generated pipeSmall from "+ materialName +"? "+ ((ItemUtils.getItemStackOfAmountFromOreDict("pipe"+"Small"+output, 1) != null) ? true : false));
+ Logger.WARNING("Generated pipeNormal from "+ materialName +"? "+ ((ItemUtils.getItemStackOfAmountFromOreDict("pipe"+"Medium"+output, 1) != null) ? true : false));
+ Logger.WARNING("Generated pipeLarge from "+ materialName +"? "+ ((ItemUtils.getItemStackOfAmountFromOreDict("pipe"+"Large"+output, 1) != null) ? true : false));
+ Logger.WARNING("Generated pipeHuge from "+ materialName +"? "+ ((ItemUtils.getItemStackOfAmountFromOreDict("pipe"+"Huge"+output, 1) != null) ? true : false));
+
+ int eut = 120;
+ eut = (int) (8 * vMulti);
+
+
+ //Add the Three Shaped Recipes First
+ RecipeUtils.addShapedRecipe(
+ pipePlate, "craftingToolWrench", pipePlate,
+ pipePlate, null, pipePlate,
+ pipePlate, "craftingToolHardHammer", pipePlate,
+ ItemUtils.getItemStackOfAmountFromOreDict("pipe"+"Small"+output, 6));
+
+ RecipeUtils.addShapedRecipe(
+ pipePlate, pipePlate, pipePlate,
+ "craftingToolWrench", null, "craftingToolHardHammer",
+ pipePlate, pipePlate, pipePlate,
+ ItemUtils.getItemStackOfAmountFromOreDict("pipe"+"Medium"+output, 2));
+
+ RecipeUtils.addShapedRecipe(
+ pipePlate, "craftingToolHardHammer", pipePlate,
+ pipePlate, null, pipePlate,
+ pipePlate, "craftingToolWrench", pipePlate,
+ ItemUtils.getItemStackOfAmountFromOreDict("pipe"+"Large"+output, 1));
+
+ if (pipeIngot != null && ItemUtils.checkForInvalidItems(pipeIngot)) {
+ GT_Values.RA.addExtruderRecipe(
+ ItemUtils.getSimpleStack(pipeIngot, 1),
+ ItemList.Shape_Extruder_Pipe_Tiny.get(0),
+ ItemUtils.getItemStackOfAmountFromOreDictNoBroken("pipe"+"Tiny"+output, 2),
+ 5, eut);
+
+ GT_Values.RA.addExtruderRecipe(
+ ItemUtils.getSimpleStack(pipeIngot, 1),
+ ItemList.Shape_Extruder_Pipe_Small.get(0),
+ ItemUtils.getItemStackOfAmountFromOreDict("pipe"+"Small"+output, 1),
+ 10, eut);
+
+ GT_Values.RA.addExtruderRecipe(
+ ItemUtils.getSimpleStack(pipeIngot, 3),
+ ItemList.Shape_Extruder_Pipe_Medium.get(0),
+ ItemUtils.getItemStackOfAmountFromOreDict("pipe"+"Medium"+output, 1),
+ 1*20, eut);
+
+ GT_Values.RA.addExtruderRecipe(
+ ItemUtils.getSimpleStack(pipeIngot, 6),
+ ItemList.Shape_Extruder_Pipe_Large.get(0),
+ ItemUtils.getItemStackOfAmountFromOreDict("pipe"+"Large"+output, 1),
+ 2*20, eut);
+
+ GT_Values.RA.addExtruderRecipe(
+ ItemUtils.getSimpleStack(pipeIngot, 12),
+ ItemList.Shape_Extruder_Pipe_Huge.get(0),
+ ItemUtils.getItemStackOfAmountFromOreDict("pipe"+"Huge"+output, 1),
+ 4*20, eut);
+
+ }
+
+ if ((eut < 512) && !output.equals("Void")){
+ try {
+ final ItemStack pipePlateDouble = ItemUtils.getItemStackOfAmountFromOreDict("plateDouble"+output, 1).copy();
+ if (pipePlateDouble != null) {
+ RecipeUtils.addShapedRecipe(
+ pipePlateDouble, "craftingToolHardHammer", pipePlateDouble,
+ pipePlateDouble, null, pipePlateDouble,
+ pipePlateDouble, "craftingToolWrench", pipePlateDouble,
+ ItemUtils.getItemStackOfAmountFromOreDict("pipe"+"Huge"+output, 1));
+ } else {
+ Logger.INFO("Failed to add a recipe for "+materialName+" Huge pipes. Double plates probably do not exist.");
+ }
+ }
+ catch (Throwable t) {
+ t.printStackTrace();
+ }
+ }
+
+
+ }
+
+ public static boolean registerOre(OrePrefixes aPrefix, Material aMaterial, ItemStack aStack) {
+ return registerOre(aPrefix.get(Utils.sanitizeString(aMaterial.getLocalizedName())), aStack);
+ }
+
+ public static boolean registerOre(Object aName, ItemStack aStack) {
+ if ((aName == null) || (GT_Utility.isStackInvalid(aStack)))
+ return false;
+ String tName = aName.toString();
+ if (GT_Utility.isStringInvalid(tName))
+ return false;
+ ArrayList<ItemStack> tList = GT_OreDictUnificator.getOres(tName);
+ for (int i = 0; i < tList.size(); ++i)
+ if (GT_Utility.areStacksEqual((ItemStack) tList.get(i), aStack, true))
+ return false;
+ OreDictionary.registerOre(tName, GT_Utility.copyAmount(1L, new Object[] { aStack }));
+ return true;
+ }
+
+ public static boolean generateWireRecipes(Material aMaterial){
+
+ //Adds manual crafting recipe
+ RecipeUtils.addShapedRecipe(
+ Utils.sanitizeString("plate"+aMaterial.getLocalizedName()), CI.craftingToolWireCutter, null,
+ null, null, null,
+ null, null, null,
+ ItemUtils.getItemStackOfAmountFromOreDict(Utils.sanitizeString("wireGt01"+aMaterial.getLocalizedName()), 1));
+
+ //Wire mill
+ GT_Values.RA.addWiremillRecipe(
+ ItemUtils.getItemStackOfAmountFromOreDict(Utils.sanitizeString("ingot"+aMaterial.getLocalizedName()), 1),
+ ItemUtils.getItemStackOfAmountFromOreDict(Utils.sanitizeString("wireGt01"+aMaterial.getLocalizedName()), 2),
+ 5*20,
+ 4);
+
+ //Extruder
+ GT_Values.RA.addExtruderRecipe(
+ ItemUtils.getItemStackOfAmountFromOreDict(Utils.sanitizeString("ingot"+aMaterial.getLocalizedName()), 1),
+ ItemList.Shape_Extruder_Wire.get(0),
+ ItemUtils.getItemStackOfAmountFromOreDict(Utils.sanitizeString("wireGt01"+aMaterial.getLocalizedName()), 2),
+ 196,
+ 96);
+
+ GT_Values.RA.addUnboxingRecipe(
+ ItemUtils.getItemStackOfAmountFromOreDict(Utils.sanitizeString("cableGt01"+aMaterial.getLocalizedName()), 1),
+ ItemUtils.getItemStackOfAmountFromOreDict(Utils.sanitizeString("wireGt01"+aMaterial.getLocalizedName()), 1),
+ null,
+ 100,
+ 8);
+
+ //Shapeless Down-Crafting
+ //2x
+ RecipeUtils.addShapelessGregtechRecipe(
+ new ItemStack[]{ItemUtils.getItemStackOfAmountFromOreDict(Utils.sanitizeString("wireGt02"+aMaterial.getLocalizedName()), 1)},
+ ItemUtils.getItemStackOfAmountFromOreDict(Utils.sanitizeString("wireGt01"+aMaterial.getLocalizedName()), 2)
+ );
+ //4x
+ RecipeUtils.addShapelessGregtechRecipe(
+ new ItemStack[]{ItemUtils.getItemStackOfAmountFromOreDict(Utils.sanitizeString("wireGt04"+aMaterial.getLocalizedName()), 1)},
+ ItemUtils.getItemStackOfAmountFromOreDict(Utils.sanitizeString("wireGt01"+aMaterial.getLocalizedName()), 4)
+ );
+ //8x
+ RecipeUtils.addShapelessGregtechRecipe(
+ new ItemStack[]{ItemUtils.getItemStackOfAmountFromOreDict(Utils.sanitizeString("wireGt08"+aMaterial.getLocalizedName()), 1)},
+ ItemUtils.getItemStackOfAmountFromOreDict(Utils.sanitizeString("wireGt01"+aMaterial.getLocalizedName()), 8)
+ );
+ //12x
+ RecipeUtils.addShapelessGregtechRecipe(
+ new ItemStack[]{ItemUtils.getItemStackOfAmountFromOreDict(Utils.sanitizeString("wireGt12"+aMaterial.getLocalizedName()), 1)},
+ ItemUtils.getItemStackOfAmountFromOreDict(Utils.sanitizeString("wireGt01"+aMaterial.getLocalizedName()), 12)
+ );
+ //16x
+ RecipeUtils.addShapelessGregtechRecipe(
+ new ItemStack[]{ItemUtils.getItemStackOfAmountFromOreDict(Utils.sanitizeString("wireGt16"+aMaterial.getLocalizedName()), 1)},
+ ItemUtils.getItemStackOfAmountFromOreDict(Utils.sanitizeString("wireGt01"+aMaterial.getLocalizedName()), 16)
+ );
+
+
+ //1x -> 2x
+ RecipeUtils.addShapelessGregtechRecipe(
+ new ItemStack[]{
+ ItemUtils.getItemStackOfAmountFromOreDict(Utils.sanitizeString("wireGt01"+aMaterial.getLocalizedName()), 1),
+ ItemUtils.getItemStackOfAmountFromOreDict(Utils.sanitizeString("wireGt01"+aMaterial.getLocalizedName()), 1)
+ },
+ ItemUtils.getItemStackOfAmountFromOreDict(Utils.sanitizeString("wireGt02"+aMaterial.getLocalizedName()), 1)
+ );
+
+ //2x -> 4x
+ RecipeUtils.addShapelessGregtechRecipe(
+ new ItemStack[]{
+ ItemUtils.getItemStackOfAmountFromOreDict(Utils.sanitizeString("wireGt02"+aMaterial.getLocalizedName()), 1),
+ ItemUtils.getItemStackOfAmountFromOreDict(Utils.sanitizeString("wireGt02"+aMaterial.getLocalizedName()), 1)
+ },
+ ItemUtils.getItemStackOfAmountFromOreDict(Utils.sanitizeString("wireGt04"+aMaterial.getLocalizedName()), 1)
+ );
+
+ //4x -> 8x
+ RecipeUtils.addShapelessGregtechRecipe(
+ new ItemStack[]{
+ ItemUtils.getItemStackOfAmountFromOreDict(Utils.sanitizeString("wireGt04"+aMaterial.getLocalizedName()), 1),
+ ItemUtils.getItemStackOfAmountFromOreDict(Utils.sanitizeString("wireGt04"+aMaterial.getLocalizedName()), 1)
+ },
+ ItemUtils.getItemStackOfAmountFromOreDict(Utils.sanitizeString("wireGt08"+aMaterial.getLocalizedName()), 1)
+ );
+
+ //8x -> 12x
+ RecipeUtils.addShapelessGregtechRecipe(
+ new ItemStack[]{
+ ItemUtils.getItemStackOfAmountFromOreDict(Utils.sanitizeString("wireGt04"+aMaterial.getLocalizedName()), 1),
+ ItemUtils.getItemStackOfAmountFromOreDict(Utils.sanitizeString("wireGt08"+aMaterial.getLocalizedName()), 1)
+ },
+ ItemUtils.getItemStackOfAmountFromOreDict(Utils.sanitizeString("wireGt12"+aMaterial.getLocalizedName()), 1)
+ );
+
+ //12x -> 16x
+ RecipeUtils.addShapelessGregtechRecipe(
+ new ItemStack[]{
+ ItemUtils.getItemStackOfAmountFromOreDict(Utils.sanitizeString("wireGt04"+aMaterial.getLocalizedName()), 1),
+ ItemUtils.getItemStackOfAmountFromOreDict(Utils.sanitizeString("wireGt12"+aMaterial.getLocalizedName()), 1)
+ },
+ ItemUtils.getItemStackOfAmountFromOreDict(Utils.sanitizeString("wireGt16"+aMaterial.getLocalizedName()), 1)
+ );
+
+ //8x -> 16x
+ RecipeUtils.addShapelessGregtechRecipe(
+ new ItemStack[]{
+ ItemUtils.getItemStackOfAmountFromOreDict(Utils.sanitizeString("wireGt08"+aMaterial.getLocalizedName()), 1),
+ ItemUtils.getItemStackOfAmountFromOreDict(Utils.sanitizeString("wireGt08"+aMaterial.getLocalizedName()), 1)
+ },
+ ItemUtils.getItemStackOfAmountFromOreDict(Utils.sanitizeString("wireGt16"+aMaterial.getLocalizedName()), 1)
+ );
+
+ //1x -> 4x
+ RecipeUtils.addShapelessGregtechRecipe(
+ new ItemStack[]{
+ ItemUtils.getItemStackOfAmountFromOreDict(Utils.sanitizeString("wireGt01"+aMaterial.getLocalizedName()), 1),
+ ItemUtils.getItemStackOfAmountFromOreDict(Utils.sanitizeString("wireGt01"+aMaterial.getLocalizedName()), 1),
+ ItemUtils.getItemStackOfAmountFromOreDict(Utils.sanitizeString("wireGt01"+aMaterial.getLocalizedName()), 1),
+ ItemUtils.getItemStackOfAmountFromOreDict(Utils.sanitizeString("wireGt01"+aMaterial.getLocalizedName()), 1)
+ },
+ ItemUtils.getItemStackOfAmountFromOreDict(Utils.sanitizeString("wireGt04"+aMaterial.getLocalizedName()), 1)
+ );
+
+ //1x -> 8x
+ RecipeUtils.addShapelessGregtechRecipe(
+ new ItemStack[]{
+ ItemUtils.getItemStackOfAmountFromOreDict(Utils.sanitizeString("wireGt01"+aMaterial.getLocalizedName()), 1),
+ ItemUtils.getItemStackOfAmountFromOreDict(Utils.sanitizeString("wireGt01"+aMaterial.getLocalizedName()), 1),
+ ItemUtils.getItemStackOfAmountFromOreDict(Utils.sanitizeString("wireGt01"+aMaterial.getLocalizedName()), 1),
+ ItemUtils.getItemStackOfAmountFromOreDict(Utils.sanitizeString("wireGt01"+aMaterial.getLocalizedName()), 1),
+ ItemUtils.getItemStackOfAmountFromOreDict(Utils.sanitizeString("wireGt01"+aMaterial.getLocalizedName()), 1),
+ ItemUtils.getItemStackOfAmountFromOreDict(Utils.sanitizeString("wireGt01"+aMaterial.getLocalizedName()), 1),
+ ItemUtils.getItemStackOfAmountFromOreDict(Utils.sanitizeString("wireGt01"+aMaterial.getLocalizedName()), 1),
+ ItemUtils.getItemStackOfAmountFromOreDict(Utils.sanitizeString("wireGt01"+aMaterial.getLocalizedName()), 1)
+ },
+ ItemUtils.getItemStackOfAmountFromOreDict(Utils.sanitizeString("wireGt08"+aMaterial.getLocalizedName()), 1)
+ );
+
+
+ //Wire to Cable
+ //1x
+ GT_Values.RA.addAssemblerRecipe(
+ ItemUtils.getItemStackOfAmountFromOreDict(Utils.sanitizeString("wireGt01"+aMaterial.getLocalizedName()), 1),
+ CI.getNumberedCircuit(24),
+ FluidUtils.getFluidStack("molten.rubber", 144),
+ ItemUtils.getItemStackOfAmountFromOreDict(Utils.sanitizeString("cableGt01"+aMaterial.getLocalizedName()), 1),
+ 100,
+ 8);
+ //2x
+ GT_Values.RA.addAssemblerRecipe(
+ ItemUtils.getItemStackOfAmountFromOreDict(Utils.sanitizeString("wireGt02"+aMaterial.getLocalizedName()), 1),
+ CI.getNumberedCircuit(24),
+ FluidUtils.getFluidStack("molten.rubber", 144),
+ ItemUtils.getItemStackOfAmountFromOreDict(Utils.sanitizeString("cableGt02"+aMaterial.getLocalizedName()), 1),
+ 100,
+ 8);
+ //4x
+ GT_Values.RA.addAssemblerRecipe(
+ ItemUtils.getItemStackOfAmountFromOreDict(Utils.sanitizeString("wireGt04"+aMaterial.getLocalizedName()), 1),
+ CI.getNumberedCircuit(24),
+ FluidUtils.getFluidStack("molten.rubber", 288),
+ ItemUtils.getItemStackOfAmountFromOreDict(Utils.sanitizeString("cableGt04"+aMaterial.getLocalizedName()), 1),
+ 100,
+ 8);
+ //8x
+ GT_Values.RA.addAssemblerRecipe(
+ ItemUtils.getItemStackOfAmountFromOreDict(Utils.sanitizeString("wireGt08"+aMaterial.getLocalizedName()), 1),
+ CI.getNumberedCircuit(24),
+ FluidUtils.getFluidStack("molten.rubber", 432),
+ ItemUtils.getItemStackOfAmountFromOreDict(Utils.sanitizeString("cableGt08"+aMaterial.getLocalizedName()), 1),
+ 100,
+ 8);
+ //12x
+ GT_Values.RA.addAssemblerRecipe(
+ ItemUtils.getItemStackOfAmountFromOreDict(Utils.sanitizeString("wireGt12"+aMaterial.getLocalizedName()), 1),
+ CI.getNumberedCircuit(24),
+ FluidUtils.getFluidStack("molten.rubber", 576),
+ ItemUtils.getItemStackOfAmountFromOreDict(Utils.sanitizeString("cableGt12"+aMaterial.getLocalizedName()), 1),
+ 100,
+ 8);
+
+ if(GTNH){
+ //16x
+ GT_Values.RA.addAssemblerRecipe(
+ ItemUtils.getItemStackOfAmountFromOreDict(Utils.sanitizeString("wireGt16"+aMaterial.getLocalizedName()), 1),
+ CI.getNumberedCircuit(24),
+ FluidUtils.getFluidStack("molten.rubber", 720),
+ ItemUtils.getItemStackOfAmountFromOreDict(Utils.sanitizeString("cableGt16"+aMaterial.getLocalizedName()), 1),
+ 100,
+ 8);
+ }
+
+ //Assemble small wires into bigger wires
+
+ //2x
+ GT_Values.RA.addAssemblerRecipe(
+ ItemUtils.getItemStackOfAmountFromOreDict(Utils.sanitizeString("wireGt01"+aMaterial.getLocalizedName()), 2),
+ CI.getNumberedCircuit(2),
+ null,
+ ItemUtils.getItemStackOfAmountFromOreDict(Utils.sanitizeString("wireGt02"+aMaterial.getLocalizedName()), 1),
+ 100,
+ 8);
+
+ //4x
+ GT_Values.RA.addAssemblerRecipe(
+ ItemUtils.getItemStackOfAmountFromOreDict(Utils.sanitizeString("wireGt01"+aMaterial.getLocalizedName()), 2),
+ CI.getNumberedCircuit(4),
+ null,
+ ItemUtils.getItemStackOfAmountFromOreDict(Utils.sanitizeString("wireGt04"+aMaterial.getLocalizedName()), 1),
+ 100,
+ 8);
+
+ //8x
+ GT_Values.RA.addAssemblerRecipe(
+ ItemUtils.getItemStackOfAmountFromOreDict(Utils.sanitizeString("wireGt01"+aMaterial.getLocalizedName()), 2),
+ CI.getNumberedCircuit(8),
+ null,
+ ItemUtils.getItemStackOfAmountFromOreDict(Utils.sanitizeString("wireGt08"+aMaterial.getLocalizedName()), 1),
+ 100,
+ 8);
+
+ //12x
+ GT_Values.RA.addAssemblerRecipe(
+ ItemUtils.getItemStackOfAmountFromOreDict(Utils.sanitizeString("wireGt01"+aMaterial.getLocalizedName()), 2),
+ CI.getNumberedCircuit(12),
+ null,
+ ItemUtils.getItemStackOfAmountFromOreDict(Utils.sanitizeString("wireGt12"+aMaterial.getLocalizedName()), 1),
+ 100,
+ 8);
+
+ //16x
+ GT_Values.RA.addAssemblerRecipe(
+ ItemUtils.getItemStackOfAmountFromOreDict(Utils.sanitizeString("wireGt01"+aMaterial.getLocalizedName()), 2),
+ CI.getNumberedCircuit(16),
+ null,
+ ItemUtils.getItemStackOfAmountFromOreDict(Utils.sanitizeString("wireGt16"+aMaterial.getLocalizedName()), 1),
+ 100,
+ 8);
+
+ return true;
+ }
+} \ No newline at end of file
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechCustomHatches.java b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechCustomHatches.java
new file mode 100644
index 0000000000..64e77393bd
--- /dev/null
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechCustomHatches.java
@@ -0,0 +1,217 @@
+package gtPlusPlus.xmod.gregtech.registration.gregtech;
+
+import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
+import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.core.util.minecraft.FluidUtils;
+import gtPlusPlus.core.util.minecraft.gregtech.PollutionUtils;
+import gtPlusPlus.core.util.reflect.ReflectionUtils;
+import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList;
+import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.*;
+import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.GT_MetaTileEntity_Hatch_CustomFluidBase;
+
+import java.lang.reflect.Constructor;
+
+public class GregtechCustomHatches {
+
+ public static void run() {
+ if (gtPlusPlus.core.lib.LoadedMods.Gregtech) {
+ Logger.INFO("Gregtech5u Content | Registering Custom Fluid Hatches.");
+ run1();
+ if (PollutionUtils.isPollutionEnabled()) {
+ run2();
+ }
+ run3();
+ run4();
+ }
+ }
+
+ private static void run1() {
+
+ GregtechItemList.Hatch_Input_Cryotheum
+ .set(new GT_MetaTileEntity_Hatch_CustomFluidBase(FluidUtils.getFluidStack("cryotheum", 1).getFluid(), // Fluid
+ // to
+ // resitrct
+ // hatch
+ // to
+ 128000, // Capacity
+ 967, // ID
+ "hatch.cryotheum.input.tier.00", // unlocal name
+ "Cryotheum Cooling Hatch" // Local name
+ ).getStackForm(1L));
+
+ GregtechItemList.Hatch_Input_Pyrotheum
+ .set(new GT_MetaTileEntity_Hatch_CustomFluidBase(FluidUtils.getFluidStack("pyrotheum", 1).getFluid(), // Fluid
+ // to
+ // resitrct
+ // hatch
+ // to
+ 128000, // Capacity
+ 968, // ID
+ "hatch.pyrotheum.input.tier.00", // unlocal name
+ "Pyrotheum Heating Vent" // Local name
+ ).getStackForm(1L));
+
+ GregtechItemList.Hatch_Input_Naquadah.set(new GT_MetaTileEntity_Hatch_Naquadah(969, // ID
+ "hatch.naquadah.input.tier.00", // unlocal name
+ "Naquadah Reactor Input hatch" // Local name
+ ).getStackForm(1L));
+
+
+ GregtechItemList.Hatch_Input_TurbineHousing.set(new GT_MetaTileEntity_Hatch_TurbineProvider(31025, // ID
+ "hatch.turbine.input.tier.00", // unlocal name
+ "Turbine Housing", // Local name
+ 8
+ ).getStackForm(1L));
+
+ // Multiblock Control Core Bus
+ GregtechItemList.Hatch_Control_Core.set((new GT_MetaTileEntity_Hatch_ControlCore(30020, "hatch.control.adv", "Control Core Module", 1)).getStackForm(1L));
+
+ // Multiblock Air Intake Hatch
+ GregtechItemList.Hatch_Air_Intake.set(new GT_MetaTileEntity_Hatch_AirIntake(861, "hatch.air.intake.tier.00", "Air Intake Hatch", 5).getStackForm(1L));
+
+ // Steam Hatch
+ GregtechItemList.Hatch_Input_Steam
+ .set(new GT_MetaTileEntity_Hatch_CustomFluidBase(FluidUtils.getSteam(1).getFluid(), // Fluid
+ // to
+ // resitrct
+ // hatch
+ // to
+ 64000, // Capacity
+ 31040, // ID
+ "hatch.steam.input.tier.00", // unlocal name
+ "Steam Hatch" // Local name
+ ).getStackForm(1L));
+
+
+
+
+
+ }
+
+ private static void run2() {
+ GregtechItemList.Hatch_Muffler_Adv_LV
+ .set((new GT_MetaTileEntity_Hatch_Muffler_Adv(30001, "hatch.muffler.adv.tier.01", "Advanced Muffler Hatch (LV)", 1))
+ .getStackForm(1L));
+ GregtechItemList.Hatch_Muffler_Adv_MV
+ .set((new GT_MetaTileEntity_Hatch_Muffler_Adv(30002, "hatch.muffler.adv.tier.02", "Advanced Muffler Hatch (MV)", 2))
+ .getStackForm(1L));
+ GregtechItemList.Hatch_Muffler_Adv_HV
+ .set((new GT_MetaTileEntity_Hatch_Muffler_Adv(30003, "hatch.muffler.adv.tier.03", "Advanced Muffler Hatch (HV)", 3))
+ .getStackForm(1L));
+ GregtechItemList.Hatch_Muffler_Adv_EV
+ .set((new GT_MetaTileEntity_Hatch_Muffler_Adv(30004, "hatch.muffler.adv.tier.04", "Advanced Muffler Hatch (EV)", 4))
+ .getStackForm(1L));
+ GregtechItemList.Hatch_Muffler_Adv_IV
+ .set((new GT_MetaTileEntity_Hatch_Muffler_Adv(30005, "hatch.muffler.adv.tier.05", "Advanced Muffler Hatch (IV)", 5))
+ .getStackForm(1L));
+ GregtechItemList.Hatch_Muffler_Adv_LuV
+ .set((new GT_MetaTileEntity_Hatch_Muffler_Adv(30006, "hatch.muffler.adv.tier.06", "Advanced Muffler Hatch (LuV)", 6))
+ .getStackForm(1L));
+ GregtechItemList.Hatch_Muffler_Adv_ZPM
+ .set((new GT_MetaTileEntity_Hatch_Muffler_Adv(30007, "hatch.muffler.adv.tier.07", "Advanced Muffler Hatch (ZPM)", 7))
+ .getStackForm(1L));
+ GregtechItemList.Hatch_Muffler_Adv_UV
+ .set((new GT_MetaTileEntity_Hatch_Muffler_Adv(30008, "hatch.muffler.adv.tier.08", "Advanced Muffler Hatch (UV)", 8))
+ .getStackForm(1L));
+ GregtechItemList.Hatch_Muffler_Adv_MAX
+ .set((new GT_MetaTileEntity_Hatch_Muffler_Adv(30009, "hatch.muffler.adv.tier.09", "Advanced Muffler Hatch (MAX)", 9))
+ .getStackForm(1L));
+ }
+
+ private static void run3() {
+ /*
+ * Super Input Busses
+ */
+
+ int aStartID = 30021;
+
+ GregtechItemList.Hatch_SuperBus_Input_ULV
+ .set(((IMetaTileEntity) makeInputBus(aStartID++, "hatch.superbus.input.tier.00", "Super Bus (I) (ULV)", 0))
+ .getStackForm(1L));
+ GregtechItemList.Hatch_SuperBus_Input_LV
+ .set(((IMetaTileEntity) makeInputBus(aStartID++, "hatch.superbus.input.tier.01", "Super Bus (I) (LV)", 1))
+ .getStackForm(1L));
+ GregtechItemList.Hatch_SuperBus_Input_MV
+ .set(((IMetaTileEntity) makeInputBus(aStartID++, "hatch.superbus.input.tier.02", "Super Bus (I) (MV)", 2))
+ .getStackForm(1L));
+ GregtechItemList.Hatch_SuperBus_Input_HV
+ .set(((IMetaTileEntity) makeInputBus(aStartID++, "hatch.superbus.input.tier.03", "Super Bus (I) (HV)", 3))
+ .getStackForm(1L));
+ GregtechItemList.Hatch_SuperBus_Input_EV
+ .set(((IMetaTileEntity) makeInputBus(aStartID++, "hatch.superbus.input.tier.04", "Super Bus (I) (EV)", 4))
+ .getStackForm(1L));
+ GregtechItemList.Hatch_SuperBus_Input_IV
+ .set(((IMetaTileEntity) makeInputBus(aStartID++, "hatch.superbus.input.tier.05", "Super Bus (I) (IV)", 5))
+ .getStackForm(1L));
+ GregtechItemList.Hatch_SuperBus_Input_LuV
+ .set(((IMetaTileEntity) makeInputBus(aStartID++, "hatch.superbus.input.tier.06", "Super Bus (I) (LuV)", 6))
+ .getStackForm(1L));
+ GregtechItemList.Hatch_SuperBus_Input_ZPM
+ .set(((IMetaTileEntity) makeInputBus(aStartID++, "hatch.superbus.input.tier.07", "Super Bus (I) (ZPM)", 7))
+ .getStackForm(1L));
+ GregtechItemList.Hatch_SuperBus_Input_UV
+ .set(((IMetaTileEntity) makeInputBus(aStartID++, "hatch.superbus.input.tier.08", "Super Bus (I) (UV)", 8))
+ .getStackForm(1L));
+ GregtechItemList.Hatch_SuperBus_Input_MAX
+ .set(((IMetaTileEntity) makeInputBus(aStartID++, "hatch.superbus.input.tier.09", "Super Bus (I) (MAX)", 9))
+ .getStackForm(1L));
+
+ /*
+ * Super Output Busses
+ */
+
+ GregtechItemList.Hatch_SuperBus_Output_ULV
+ .set(((IMetaTileEntity) makeOutputBus(aStartID++, "hatch.superbus.output.tier.00", "Super Bus (O) (ULV)", 0))
+ .getStackForm(1L));
+ GregtechItemList.Hatch_SuperBus_Output_LV
+ .set(((IMetaTileEntity) makeOutputBus(aStartID++, "hatch.superbus.output.tier.01", "Super Bus (O) (LV)", 1))
+ .getStackForm(1L));
+ GregtechItemList.Hatch_SuperBus_Output_MV
+ .set(((IMetaTileEntity) makeOutputBus(aStartID++, "hatch.superbus.output.tier.02", "Super Bus (O) (MV)", 2))
+ .getStackForm(1L));
+ GregtechItemList.Hatch_SuperBus_Output_HV
+ .set(((IMetaTileEntity) makeOutputBus(aStartID++, "hatch.superbus.output.tier.03", "Super Bus (O) (HV)", 3))
+ .getStackForm(1L));
+ GregtechItemList.Hatch_SuperBus_Output_EV
+ .set(((IMetaTileEntity) makeOutputBus(aStartID++, "hatch.superbus.output.tier.04", "Super Bus (O) (EV)", 4))
+ .getStackForm(1L));
+ GregtechItemList.Hatch_SuperBus_Output_IV
+ .set(((IMetaTileEntity) makeOutputBus(aStartID++, "hatch.superbus.output.tier.05", "Super Bus (O) (IV)", 5))
+ .getStackForm(1L));
+ GregtechItemList.Hatch_SuperBus_Output_LuV
+ .set(((IMetaTileEntity) makeOutputBus(aStartID++, "hatch.superbus.output.tier.06", "Super Bus (O) (LuV)", 6))
+ .getStackForm(1L));
+ GregtechItemList.Hatch_SuperBus_Output_ZPM
+ .set(((IMetaTileEntity) makeOutputBus(aStartID++, "hatch.superbus.output.tier.07", "Super Bus (O) (ZPM)", 7))
+ .getStackForm(1L));
+ GregtechItemList.Hatch_SuperBus_Output_UV
+ .set(((IMetaTileEntity) makeOutputBus(aStartID++, "hatch.superbus.output.tier.08", "Super Bus (O) (UV)", 8))
+ .getStackForm(1L));
+ GregtechItemList.Hatch_SuperBus_Output_MAX
+ .set(((IMetaTileEntity) makeOutputBus(aStartID++, "hatch.superbus.output.tier.09", "Super Bus (O) (MAX)", 9))
+ .getStackForm(1L));
+ }
+
+ private static GT_MetaTileEntity_SuperBus_Input makeInputBus(int id, String unlocalizedName, String localizedName, int tier) {
+ return new GT_MetaTileEntity_SuperBus_Input(id, unlocalizedName, localizedName, tier);
+ }
+
+ private static GT_MetaTileEntity_SuperBus_Output makeOutputBus(int id, String unlocalizedName, String localizedName, int tier) {
+ return new GT_MetaTileEntity_SuperBus_Output(id, unlocalizedName, localizedName, tier);
+ }
+
+ private static void run4() {
+ int aID = 31060;
+ //41, "hatch.energy.tier.01", "LV Energy Hatch", 1
+ Constructor aRTG = ReflectionUtils.getConstructor(GT_MetaTileEntity_Hatch_Energy_RTG.class, new Class[]{int.class, String.class, String.class, int.class, int.class});
+ Object aHatch1 = ReflectionUtils.createNewInstanceFromConstructor(aRTG, new Object[]{aID++, "hatch.energy.rtg.tier.01", "RTG Power Unit [LV]", 1, 9});
+ Object aHatch2 = ReflectionUtils.createNewInstanceFromConstructor(aRTG, new Object[]{aID++, "hatch.energy.rtg.tier.02", "RTG Power Unit [MV]", 2, 9});
+ Object aHatch3 = ReflectionUtils.createNewInstanceFromConstructor(aRTG, new Object[]{aID++, "hatch.energy.rtg.tier.03", "RTG Power Unit [HV]", 3, 9});
+
+ GregtechItemList.Hatch_RTG_LV.set(((IMetaTileEntity) aHatch1).getStackForm(1L));
+ GregtechItemList.Hatch_RTG_MV.set(((IMetaTileEntity) aHatch2).getStackForm(1L));
+ GregtechItemList.Hatch_RTG_HV.set(((IMetaTileEntity) aHatch3).getStackForm(1L));
+
+ }
+
+}
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechCyclotron.java b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechCyclotron.java
new file mode 100644
index 0000000000..e095ed4cbe
--- /dev/null
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechCyclotron.java
@@ -0,0 +1,22 @@
+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.GregtechMetaTileEntity_Cyclotron;
+
+public class GregtechCyclotron {
+
+ public static void run() {
+ if (gtPlusPlus.core.lib.LoadedMods.Gregtech) {
+ Logger.INFO("Gregtech5u Content | Registering COMET Cyclotron.");
+ run1();
+ }
+ }
+
+ private static void run1() {
+ GregtechItemList.COMET_Cyclotron
+ .set(new GregtechMetaTileEntity_Cyclotron(828, "cyclotron.tier.single", "COMET - Compact Cyclotron", 6)
+ .getStackForm(1L));
+ }
+
+}
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechDehydrator.java b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechDehydrator.java
new file mode 100644
index 0000000000..a8b5aea0e6
--- /dev/null
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechDehydrator.java
@@ -0,0 +1,193 @@
+package gtPlusPlus.xmod.gregtech.registration.gregtech;
+
+import gregtech.api.enums.GT_Values;
+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.CORE;
+import gtPlusPlus.core.lib.LoadedMods;
+import gtPlusPlus.core.material.ALLOY;
+import gtPlusPlus.core.recipe.common.CI;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
+import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList;
+import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Dehydrator;
+import gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.processing.GregtechMetaTileEntity_IndustrialDehydrator;
+import net.minecraft.item.ItemStack;
+
+public class GregtechDehydrator {
+ public static void run() {
+ if (LoadedMods.Gregtech) {
+ Logger.INFO("Gregtech5u Content | Registering Chemical Dehydrators.");
+ if (CORE.ConfigSwitches.enableMachine_Dehydrators) {
+ run1();
+ }
+ }
+
+ }
+
+ private static void run1() {
+
+ /*
+ *
+ * public GT_MetaTileEntity_BasicMachine_GT_Recipe( int aID, String
+ * aName, String aNameRegional, int aTier, String aDescription,
+ * GT_Recipe_Map aRecipes, int aInputSlots, int aOutputSlots, int
+ * aTankCapacity, int aGUIParameterA, int aGUIParameterB, String
+ * aGUIName, String aSound, boolean aSharedTank, boolean
+ * aRequiresFluidForFiltering, int aSpecialEffect, String aOverlays,
+ * Object[] aRecipe) {
+ *
+ */
+
+ //Basic
+ GregtechItemList.GT_Dehydrator_MV
+ .set(new GT_MetaTileEntity_Dehydrator(
+ 911,
+ "machine.dehydrator.tier.00",
+ "Basic Dehydrator I",
+ 2,
+ "This dehydrates your Grapes into Raisins.",
+ 16000)
+ .getStackForm(1L));
+
+ GregtechItemList.GT_Dehydrator_HV
+ .set(new GT_MetaTileEntity_Dehydrator(
+ 912,
+ "machine.dehydrator.tier.01",
+ "Basic Dehydrator II",
+ 3,
+ "This dehydrates your Grapes into Raisins.",
+ 32000)
+ .getStackForm(1L));
+
+
+ //Chemical
+
+ GregtechItemList.GT_Dehydrator_EV
+ .set(new GT_MetaTileEntity_Dehydrator(
+ 813,
+ "advancedmachine.dehydrator.tier.01",
+ "Chemical Dehydrator I",
+ 4,
+ "A hangover is the way your body reacts to dehydration.",
+ 48000)
+ .getStackForm(1L));
+
+ GregtechItemList.GT_Dehydrator_IV
+ .set(new GT_MetaTileEntity_Dehydrator(
+ 814,
+ "advancedmachine.dehydrator.tier.02",
+ "Chemical Dehydrator II",
+ 5,
+ "A hangover is the way your body reacts to dehydration.",
+ 48000)
+ .getStackForm(1L));
+
+ GregtechItemList.GT_Dehydrator_LuV
+ .set(new GT_MetaTileEntity_Dehydrator(
+ 815,
+ "advancedmachine.dehydrator.tier.03",
+ "Chemical Dehydrator III",
+ 6,
+ "You could probably make space icecream with this..",
+ 64000)
+ .getStackForm(1L));
+
+ GregtechItemList.GT_Dehydrator_ZPM
+ .set(new GT_MetaTileEntity_Dehydrator(
+ 816,
+ "advancedmachine.dehydrator.tier.04",
+ "Chemical Dehydrator IV",
+ 7,
+ "You can definitely make space icecream with this..",
+ 64000)
+ .getStackForm(1L));
+
+ //Advanced
+ GregtechItemList.Controller_Vacuum_Furnace.set(new GregtechMetaTileEntity_IndustrialDehydrator(995, "multimachine.adv.vacuumfurnace", "Utupu-Tanuri").getStackForm(1L));
+
+
+ ItemStack coilWire1 = ItemUtils.getItemStackWithMeta(true, "miscutils:itemDehydratorCoilWire", "coilWire1", 0,
+ 4);
+ ItemStack coilWire2 = ItemUtils.getItemStackWithMeta(true, "miscutils:itemDehydratorCoilWire:1", "coilWire2", 1,
+ 4);
+ ItemStack coilWire3 = ItemUtils.getItemStackWithMeta(true, "miscutils:itemDehydratorCoilWire:2", "coilWire3", 2,
+ 4);
+ ItemStack coilWire4 = ItemUtils.getItemStackWithMeta(true, "miscutils:itemDehydratorCoilWire:3", "coilWire4", 3,
+ 4);
+ ItemStack coilT1 = ItemUtils.getItemStackWithMeta(true, "miscutils:itemDehydratorCoil", "coil1", 0, 1);
+ ItemStack coilT2 = ItemUtils.getItemStackWithMeta(true, "miscutils:itemDehydratorCoil:1", "coil2", 1, 1);
+ ItemStack coilT3 = ItemUtils.getItemStackWithMeta(true, "miscutils:itemDehydratorCoil:2", "coil3", 2, 1);
+ ItemStack coilT4 = ItemUtils.getItemStackWithMeta(true, "miscutils:itemDehydratorCoil:3", "coil4", 3, 1);
+ ItemStack spoolT1 = ItemUtils.getItemStackOfAmountFromOreDict("pipeMediumBronze", 1);
+ ItemStack spoolT2 = ItemUtils.getItemStackOfAmountFromOreDict("pipeMediumSteel", 1);
+ ItemStack spoolT3 = ItemUtils.getItemStackOfAmountFromOreDict("pipeMediumStainlessSteel", 1);
+ ItemStack spoolT4 = ItemUtils.getItemStackOfAmountFromOreDict("pipeMediumTitanium", 1);
+
+ // Make some coils by wrapping wire around a spool.
+ GT_Values.RA.addAssemblerRecipe(coilWire1, spoolT1, coilT1, 8 * 20, 120);
+ GT_Values.RA.addAssemblerRecipe(coilWire2, spoolT2, coilT2, 8 * 20, 240);
+ GT_Values.RA.addAssemblerRecipe(coilWire3, spoolT3, coilT3, 8 * 20, 480);
+ GT_Values.RA.addAssemblerRecipe(coilWire4, spoolT4, coilT4, 8 * 20, 960);
+
+ // Add recipes for the Dehydrators.
+
+ //Basic
+ GT_ModHandler.addCraftingRecipe(GregtechItemList.GT_Dehydrator_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[] { "ECE", "WMW", "GPG", Character.valueOf('M'), ItemList.Hull_MV, Character.valueOf('P'),
+ ItemList.Robot_Arm_MV, Character.valueOf('E'), OrePrefixes.wireFine.get(Materials.RedAlloy), Character.valueOf('C'),
+ OrePrefixes.circuit.get(Materials.Good), Character.valueOf('W'),
+ OrePrefixes.cableGt04.get(Materials.Copper), Character.valueOf('G'),
+ OrePrefixes.gearGt.get(Materials.Steel) });
+ GT_ModHandler.addCraftingRecipe(GregtechItemList.GT_Dehydrator_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[] { "ECE", "WMW", "GPG", Character.valueOf('M'), ItemList.Hull_HV, Character.valueOf('P'),
+ ItemList.Robot_Arm_HV, Character.valueOf('E'), OrePrefixes.wireFine.get(Materials.Electrum), Character.valueOf('C'),
+ OrePrefixes.circuit.get(Materials.Advanced), Character.valueOf('W'),
+ OrePrefixes.cableGt04.get(Materials.Silver), Character.valueOf('G'),
+ ALLOY.POTIN.getGear(1) });
+
+ //Chemical
+ GT_ModHandler.addCraftingRecipe(GregtechItemList.GT_Dehydrator_EV.get(1L, new Object[0]),
+ GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE
+ | GT_ModHandler.RecipeBits.REVERSIBLE | GT_ModHandler.RecipeBits.BUFFERED,
+ new Object[] { "ECE", "WMW", "GPG", Character.valueOf('M'), ItemList.Hull_EV, Character.valueOf('P'),
+ ItemList.Robot_Arm_EV, Character.valueOf('E'), coilT1, Character.valueOf('C'),
+ OrePrefixes.circuit.get(Materials.Data), Character.valueOf('W'),
+ OrePrefixes.cableGt04.get(Materials.Aluminium), Character.valueOf('G'),
+ ALLOY.TUMBAGA.getGear(1) });
+
+ GT_ModHandler.addCraftingRecipe(GregtechItemList.GT_Dehydrator_IV.get(1L, new Object[0]),
+ GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE
+ | GT_ModHandler.RecipeBits.REVERSIBLE | GT_ModHandler.RecipeBits.BUFFERED,
+ new Object[] { "ECE", "WMW", "GPG", Character.valueOf('M'), ItemList.Hull_IV, Character.valueOf('P'),
+ ItemList.Robot_Arm_IV, Character.valueOf('E'), coilT2, Character.valueOf('C'),
+ OrePrefixes.circuit.get(Materials.Elite), Character.valueOf('W'),
+ OrePrefixes.cableGt04.get(Materials.Tungsten), Character.valueOf('G'),
+ ALLOY.INCONEL_690.getGear(1) });
+
+ GT_ModHandler.addCraftingRecipe(GregtechItemList.GT_Dehydrator_LuV.get(1L, new Object[0]),
+ GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE
+ | GT_ModHandler.RecipeBits.REVERSIBLE | GT_ModHandler.RecipeBits.BUFFERED,
+ new Object[] { "ECE", "WMW", "GPG", Character.valueOf('M'), ItemList.Hull_LuV, Character.valueOf('P'),
+ CI.robotArm_LuV, Character.valueOf('E'), coilT3, Character.valueOf('C'),
+ OrePrefixes.circuit.get(Materials.Master), Character.valueOf('W'),
+ OrePrefixes.cableGt04.get(Materials.Naquadah), Character.valueOf('G'),
+ ALLOY.HASTELLOY_N.getGear(1) });
+
+ GT_ModHandler.addCraftingRecipe(GregtechItemList.GT_Dehydrator_ZPM.get(1L, new Object[0]),
+ GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE
+ | GT_ModHandler.RecipeBits.REVERSIBLE | GT_ModHandler.RecipeBits.BUFFERED,
+ new Object[] { "ECE", "WMW", "GPG", Character.valueOf('M'), ItemList.Hull_ZPM, Character.valueOf('P'),
+ CI.robotArm_ZPM, Character.valueOf('E'), coilT4, Character.valueOf('C'),
+ OrePrefixes.circuit.get(Materials.Ultimate), Character.valueOf('W'),
+ OrePrefixes.cableGt04.get(Materials.Osmium), Character.valueOf('G'),
+ ALLOY.ZERON_100.getGear(1) });
+
+ }
+}
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechEnergyBuffer.java b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechEnergyBuffer.java
new file mode 100644
index 0000000000..e82fade029
--- /dev/null
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechEnergyBuffer.java
@@ -0,0 +1,94 @@
+package gtPlusPlus.xmod.gregtech.registration.gregtech;
+
+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.CORE;
+import gtPlusPlus.core.lib.LoadedMods;
+import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList;
+import gtPlusPlus.xmod.gregtech.api.enums.GregtechOreDictNames;
+import gtPlusPlus.xmod.gregtech.common.tileentities.generators.GT_MetaTileEntity_RfConvertor;
+import gtPlusPlus.xmod.gregtech.common.tileentities.generators.creative.GregtechMetaCreativeEnergyBuffer;
+import gtPlusPlus.xmod.gregtech.common.tileentities.storage.GregtechMetaEnergyBuffer;
+
+public class GregtechEnergyBuffer
+{
+
+ //Misc Items
+ //public static Item itemBufferCore;
+
+ public static void run()
+ {
+ if (gtPlusPlus.core.lib.LoadedMods.Gregtech){
+ Logger.INFO("Gregtech5u Content | Registering Energy Buffer Blocks.");
+ run1();
+ }
+ }
+
+ private static void run1()
+ {
+
+ //itemBufferCore = new Item().setUnlocalizedName("itemBufferCore").setCreativeTab(AddToCreativeTab.tabMisc).setTextureName(CORE.MODID + ":itemBufferCore");
+
+ //Registry
+ //GameRegistry.registerItem(itemBufferCore, "itemBufferCore");
+ //LanguageRegistry.addName(itemBufferCore, "Buffer Core");
+ //OreDictionary.registerOre("itemBufferCore", itemBufferCore);
+
+
+ //Energy Buffers
+ GregtechItemList.Energy_Buffer_1by1_ULV.set(new GregtechMetaEnergyBuffer(770, "energybuffer.tier.00", "Ultra Low Voltage Energy Buffer", 0, "", 1).getStackForm(1L));
+ GregtechItemList.Energy_Buffer_1by1_LV.set(new GregtechMetaEnergyBuffer(771, "energybuffer.tier.01", "Low Voltage Energy Buffer", 1, "", 1).getStackForm(1L));
+ GregtechItemList.Energy_Buffer_1by1_MV.set(new GregtechMetaEnergyBuffer(772, "energybuffer.tier.02", "Medium Voltage Energy Buffer", 2, "", 1).getStackForm(1L));
+ GregtechItemList.Energy_Buffer_1by1_HV.set(new GregtechMetaEnergyBuffer(773, "energybuffer.tier.03", "High Voltage Energy Buffer", 3, "", 1).getStackForm(1L));
+ GregtechItemList.Energy_Buffer_1by1_EV.set(new GregtechMetaEnergyBuffer(774, "energybuffer.tier.04", "Extreme Voltage Energy Buffer", 4, "", 1).getStackForm(1L));
+ GregtechItemList.Energy_Buffer_1by1_IV.set(new GregtechMetaEnergyBuffer(775, "energybuffer.tier.05", "Insane Voltage Energy Buffer", 5, "", 1).getStackForm(1L));
+ GregtechItemList.Energy_Buffer_1by1_LuV.set(new GregtechMetaEnergyBuffer(776, "energybuffer.tier.06", "Ludicrous Voltage Energy Buffer", 6, "", 1).getStackForm(1L));
+ GregtechItemList.Energy_Buffer_1by1_ZPM.set(new GregtechMetaEnergyBuffer(777, "energybuffer.tier.07", "ZPM Voltage Energy Buffer", 7, "", 1).getStackForm(1L));
+ GregtechItemList.Energy_Buffer_1by1_UV.set(new GregtechMetaEnergyBuffer(778, "energybuffer.tier.08", "Ultimate Voltage Energy Buffer", 8, "", 1).getStackForm(1L));
+ GregtechItemList.Energy_Buffer_1by1_MAX.set(new GregtechMetaEnergyBuffer(779, "energybuffer.tier.09", "MAX Voltage Energy Buffer", 9, "", 1).getStackForm(1L));
+ // Creative Buffer Has Special ID
+ GregtechItemList.Energy_Buffer_CREATIVE
+ .set(new GregtechMetaCreativeEnergyBuffer(750,
+ "energybuffer.tier.xx",
+ "512V Creative Energy Buffer", 3, "", 0)
+ .getStackForm(1L));
+
+ if (LoadedMods.CoFHCore && CORE.ConfigSwitches.enableMachine_RF_Convetor) {
+ // RF Convertor Buffer Has Special ID
+ GregtechItemList.Energy_Buffer_RF_Convertor
+ .set(new GT_MetaTileEntity_RfConvertor(31022,
+ "energybuffer.rf.tier.01",
+ "RF Energy Convertor", 3, "", 0)
+ .getStackForm(1L));
+ }
+
+ GT_ModHandler.addCraftingRecipe(GregtechItemList.Energy_Buffer_1by1_ULV.get(1L, new Object[0]), GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE | GT_ModHandler.RecipeBits.BUFFERED, new Object[] { "WTW", "WMW", Character.valueOf('M'), ItemList.Hull_ULV, Character.valueOf('W'), OrePrefixes.wireGt08.get(Materials.Lead), Character.valueOf('T'), GregtechOreDictNames.buffer_core });
+ GT_ModHandler.addCraftingRecipe(GregtechItemList.Energy_Buffer_1by1_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[] { "WTW", "WMW", Character.valueOf('M'), ItemList.Hull_LV, Character.valueOf('W'), OrePrefixes.wireGt08.get(Materials.Tin), Character.valueOf('T'), GregtechOreDictNames.buffer_core });
+ GT_ModHandler.addCraftingRecipe(GregtechItemList.Energy_Buffer_1by1_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[] { "WTW", "WMW", Character.valueOf('M'), ItemList.Hull_MV, Character.valueOf('W'), OrePrefixes.wireGt08.get(Materials.AnyCopper), Character.valueOf('T'), GregtechOreDictNames.buffer_core });
+ GT_ModHandler.addCraftingRecipe(GregtechItemList.Energy_Buffer_1by1_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[] { "WTW", "WMW", Character.valueOf('M'), ItemList.Hull_HV, Character.valueOf('W'), OrePrefixes.wireGt08.get(Materials.Gold), Character.valueOf('T'), GregtechOreDictNames.buffer_core });
+ GT_ModHandler.addCraftingRecipe(GregtechItemList.Energy_Buffer_1by1_EV.get(1L, new Object[0]), GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE | GT_ModHandler.RecipeBits.BUFFERED, new Object[] { "WTW", "WMW", Character.valueOf('M'), ItemList.Hull_EV, Character.valueOf('W'), OrePrefixes.wireGt08.get(Materials.Aluminium), Character.valueOf('T'), GregtechOreDictNames.buffer_core });
+ GT_ModHandler.addCraftingRecipe(GregtechItemList.Energy_Buffer_1by1_IV.get(1L, new Object[0]), GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE | GT_ModHandler.RecipeBits.BUFFERED, new Object[] { "WTW", "WMW", Character.valueOf('M'), ItemList.Hull_IV, Character.valueOf('W'), OrePrefixes.wireGt08.get(Materials.Tungsten), Character.valueOf('T'), GregtechOreDictNames.buffer_core });
+ GT_ModHandler.addCraftingRecipe(GregtechItemList.Energy_Buffer_1by1_LuV.get(1L, new Object[0]), GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE | GT_ModHandler.RecipeBits.BUFFERED, new Object[] { "WTW", "WMW", Character.valueOf('M'), ItemList.Hull_LuV, Character.valueOf('W'), OrePrefixes.wireGt08.get(Materials.Osmium), Character.valueOf('T'), GregtechOreDictNames.buffer_core });
+ GT_ModHandler.addCraftingRecipe(GregtechItemList.Energy_Buffer_1by1_ZPM.get(1L, new Object[0]), GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE | GT_ModHandler.RecipeBits.BUFFERED, new Object[] { "WTW", "WMW", Character.valueOf('M'), ItemList.Hull_ZPM, Character.valueOf('W'), OrePrefixes.wireGt08.get(Materials.Osmium), Character.valueOf('T'), GregtechOreDictNames.buffer_core });
+ GT_ModHandler.addCraftingRecipe(GregtechItemList.Energy_Buffer_1by1_UV.get(1L, new Object[0]), GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE | GT_ModHandler.RecipeBits.BUFFERED, new Object[] { "WTW", "WMW", Character.valueOf('M'), ItemList.Hull_UV, Character.valueOf('W'), OrePrefixes.wireGt08.get(Materials.Osmium), Character.valueOf('T'), GregtechOreDictNames.buffer_core });
+ GT_ModHandler.addCraftingRecipe(GregtechItemList.Energy_Buffer_1by1_MAX.get(1L, new Object[0]), GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE | GT_ModHandler.RecipeBits.BUFFERED, new Object[] { "WTW", "WMW", Character.valueOf('M'), ItemList.Hull_MAX, Character.valueOf('W'), OrePrefixes.wireGt08.get(Materials.Superconductor), Character.valueOf('T'), GregtechOreDictNames.buffer_core });
+ /*GT_ModHandler.addCraftingRecipe(
+ GregtechItemList.Energy_Buffer_1by1_MAX.get(1L, new Object[0]),
+ GT_ModHandler.RecipeBits.DISMANTLEABLE
+ | GT_ModHandler.RecipeBits.NOT_REMOVABLE
+ | GT_ModHandler.RecipeBits.REVERSIBLE
+ | GT_ModHandler.RecipeBits.BUFFERED, new Object[] {
+ "WTW", "WMW", Character.valueOf('M'),
+ ItemList.Hull_MAX, Character.valueOf('W'),
+ OrePrefixes.wireGt08.get(Materials.Superconductor),
+ Character.valueOf('T'), GregtechOreDictNames.buffer_core });*/
+
+
+
+
+ }
+}
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechFactoryGradeReplacementMultis.java b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechFactoryGradeReplacementMultis.java
new file mode 100644
index 0000000000..8340b7088c
--- /dev/null
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechFactoryGradeReplacementMultis.java
@@ -0,0 +1,35 @@
+package gtPlusPlus.xmod.gregtech.registration.gregtech;
+
+import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList;
+import gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.processing.GregtechMetaTileEntity_IndustrialVacuumFreezer;
+//import gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.processing.advanced.GregtechMetaTileEntity_Adv_AssemblyLine;
+import gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.processing.advanced.GregtechMetaTileEntity_Adv_DistillationTower;
+import gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.processing.advanced.GregtechMetaTileEntity_Adv_EBF;
+import gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.processing.advanced.GregtechMetaTileEntity_Adv_Fusion_MK4;
+import gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.processing.advanced.GregtechMetaTileEntity_Adv_Implosion;
+
+public class GregtechFactoryGradeReplacementMultis {
+
+ public static void run() {
+ run1();
+ }
+
+ private static void run1() {
+ Logger.INFO("Gregtech 5 Content | Registering Advanced GT Multiblock replacements.");
+ GregtechItemList.Machine_Adv_BlastFurnace.set(new GregtechMetaTileEntity_Adv_EBF(963, "multimachine.adv.blastfurnace", "Volcanus").getStackForm(1L));
+ GregtechItemList.Machine_Adv_ImplosionCompressor.set(new GregtechMetaTileEntity_Adv_Implosion(964, "multimachine.adv.implosioncompressor", "Density^2").getStackForm(1L));
+ GregtechItemList.Industrial_Cryogenic_Freezer.set(new GregtechMetaTileEntity_IndustrialVacuumFreezer(910, "multimachine.adv.industrialfreezer", "Cryogenic Freezer").getStackForm(1L));
+ GregtechItemList.FusionComputer_UV2.set(new GregtechMetaTileEntity_Adv_Fusion_MK4(965, "fusioncomputer.tier.09", "FusionTech MK IV").getStackForm(1L));
+
+
+ //31021
+ GregtechItemList.Machine_Adv_DistillationTower.set(new GregtechMetaTileEntity_Adv_DistillationTower(31021, "multimachine.adv.distillationtower", "Dangote Distillus").getStackForm(1L));
+ /*if (CORE.MAIN_GREGTECH_5U_EXPERIMENTAL_FORK) {
+ GregtechItemList.Machine_Adv_AssemblyLine.set(new GregtechMetaTileEntity_Adv_AssemblyLine(31024, "multimachine.adv.assemblyline", "Compound Fabricator").getStackForm(1L));
+ }*/
+
+ }
+
+}
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechFluidReactor.java b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechFluidReactor.java
new file mode 100644
index 0000000000..86146640fd
--- /dev/null
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechFluidReactor.java
@@ -0,0 +1,25 @@
+package gtPlusPlus.xmod.gregtech.registration.gregtech;
+
+import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList;
+import gtPlusPlus.xmod.gregtech.common.tileentities.machines.basic.GregtechMetaTileEntity_ChemicalReactor;
+
+public class GregtechFluidReactor {
+
+ public static void run() {
+
+ /*
+ * GregtechItemList.FluidReactor_LV .set(new
+ * GregtechMetaTileEntity_ChemicalReactor(31021, "chemicalplant.01.tier.01",
+ * "Chemical Plant I", 1) .getStackForm(1L)); GregtechItemList.FluidReactor_HV
+ * .set(new GregtechMetaTileEntity_ChemicalReactor(31022,
+ * "chemicalplant.01.tier.02", "Chemical Plant II", 3) .getStackForm(1L));
+ * GregtechItemList.FluidReactor_IV .set(new
+ * GregtechMetaTileEntity_ChemicalReactor(31023, "chemicalplant.01.tier.03",
+ * "Chemical Plant III", 5) .getStackForm(1L));
+ * GregtechItemList.FluidReactor_ZPM .set(new
+ * GregtechMetaTileEntity_ChemicalReactor(31024, "chemicalplant.01.tier.04",
+ * "Chemical Plant IV", 7) .getStackForm(1L));
+ */
+
+ }
+}
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechGeneratorsULV b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechGeneratorsULV
new file mode 100644
index 0000000000..d063d85b1f
--- /dev/null
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechGeneratorsULV
@@ -0,0 +1,15 @@
+
+
+public class GregtechGeneratorsULV {
+ public static void run(){
+
+ GregtechItemList.Generator_Diesel_ULV.set(new GT_MetaTileEntity_ULV_CombustionGenerator(960, "basicgenerator.diesel.tier.00", "Simple Combustion Generator", 0).getStackForm(1L));
+ GregtechItemList.Generator_Gas_Turbine_ULV.set(new GT_MetaTileEntity_ULV_GasTurbine(961, "basicgenerator.gas.tier.00", "Simple Gas Turbine", 0).getStackForm(1L));
+ GregtechItemList.Generator_Steam_Turbine_ULV.set(new GT_MetaTileEntity_ULV_SteamTurbine(962, "basicgenerator.steam.tier.00", "Simple Steam Turbine", 0).getStackForm(1L));
+
+ GT_ModHandler.addCraftingRecipe(GregtechItemList.Generator_Diesel_ULV.get(1L, new Object[0]), bitsd, new Object[]{"PCP", "EME", "GWG", 'M', ItemList.Hull_ULV, 'P', GregtechItemList.Electric_Piston_ULV, 'E', GregtechItemList.Electric_Motor_ULV, 'C', OrePrefixes.circuit.get(Materials.Primitive), 'W', OrePrefixes.cableGt01.get(Materials.RedAlloy), 'G', OrePrefixes.gearGt.get(Materials.Bronze)});
+ GT_ModHandler.addCraftingRecipe(GregtechItemList.Generator_Gas_Turbine_ULV.get(1L, new Object[0]), bitsd, new Object[]{"CRC", "RMR", aTextMotorWire, 'M', ItemList.Hull_ULV, 'E', GregtechItemList.Electric_Motor_ULV, 'R', OrePrefixes.rotor.get(Materials.Tin), 'C', OrePrefixes.circuit.get(Materials.Primitive), 'W', OrePrefixes.cableGt01.get(Materials.RedAlloy)});
+ GT_ModHandler.addCraftingRecipe(GregtechItemList.Generator_Steam_Turbine_ULV.get(1L, new Object[0]), bitsd, new Object[]{"PCP", "RMR", aTextMotorWire, 'M', ItemList.Hull_ULV, 'E', GregtechItemList.Electric_Motor_ULV, 'R', OrePrefixes.rotor.get(Materials.Tin), 'C', OrePrefixes.circuit.get(Materials.Primitive), 'W', OrePrefixes.cableGt01.get(Materials.RedAlloy), 'P', OrePrefixes.pipeMedium.get(Materials.Copper)});
+
+ }
+} \ No newline at end of file
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechGeneratorsULV.java b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechGeneratorsULV.java
new file mode 100644
index 0000000000..1663c9ada4
--- /dev/null
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechGeneratorsULV.java
@@ -0,0 +1,26 @@
+package gtPlusPlus.xmod.gregtech.registration.gregtech;
+
+import gregtech.api.enums.ItemList;
+import gregtech.api.enums.Materials;
+import gregtech.api.enums.OrePrefixes;
+import gregtech.api.util.GT_ModHandler;
+import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList;
+import gtPlusPlus.xmod.gregtech.common.tileentities.generators.ULV.GT_MetaTileEntity_ULV_CombustionGenerator;
+import gtPlusPlus.xmod.gregtech.common.tileentities.generators.ULV.GT_MetaTileEntity_ULV_GasTurbine;
+import gtPlusPlus.xmod.gregtech.common.tileentities.generators.ULV.GT_MetaTileEntity_ULV_SteamTurbine;
+
+import static gtPlusPlus.core.recipe.common.CI.bitsd;
+
+public class GregtechGeneratorsULV {
+ public static void run(){
+
+ GregtechItemList.Generator_Diesel_ULV.set(new GT_MetaTileEntity_ULV_CombustionGenerator(960, "basicgenerator.diesel.tier.00", "Simple Combustion Generator", 0).getStackForm(1L));
+ GregtechItemList.Generator_Gas_Turbine_ULV.set(new GT_MetaTileEntity_ULV_GasTurbine(961, "basicgenerator.gas.tier.00", "Simple Gas Turbine", 0).getStackForm(1L));
+ GregtechItemList.Generator_Steam_Turbine_ULV.set(new GT_MetaTileEntity_ULV_SteamTurbine(962, "basicgenerator.steam.tier.00", "Simple Steam Turbine", 0).getStackForm(1L));
+
+ GT_ModHandler.addCraftingRecipe(GregtechItemList.Generator_Diesel_ULV.get(1L, new Object[0]), bitsd, new Object[]{"PCP", "EME", "GWG", 'M', ItemList.Hull_ULV, 'P', GregtechItemList.Electric_Piston_ULV, 'E', GregtechItemList.Electric_Motor_ULV, 'C', OrePrefixes.circuit.get(Materials.Primitive), 'W', OrePrefixes.cableGt01.get(Materials.RedAlloy), 'G', OrePrefixes.gearGt.get(Materials.Bronze)});
+ GT_ModHandler.addCraftingRecipe(GregtechItemList.Generator_Gas_Turbine_ULV.get(1L, new Object[0]), bitsd, new Object[]{"CRC", "RMR", "EWE", 'M', ItemList.Hull_ULV, 'E', GregtechItemList.Electric_Motor_ULV, 'R', OrePrefixes.rotor.get(Materials.Tin), 'C', OrePrefixes.circuit.get(Materials.Primitive), 'W', OrePrefixes.cableGt01.get(Materials.RedAlloy)});
+ GT_ModHandler.addCraftingRecipe(GregtechItemList.Generator_Steam_Turbine_ULV.get(1L, new Object[0]), bitsd, new Object[]{"PCP", "RMR", "EWE", 'M', ItemList.Hull_ULV, 'E', GregtechItemList.Electric_Motor_ULV, 'R', OrePrefixes.rotor.get(Materials.Tin), 'C', OrePrefixes.circuit.get(Materials.Primitive), 'W', OrePrefixes.cableGt01.get(Materials.RedAlloy), 'P', OrePrefixes.pipeMedium.get(Materials.Copper)});
+
+ }
+} \ No newline at end of file
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechGeothermalThermalGenerator.java b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechGeothermalThermalGenerator.java
new file mode 100644
index 0000000000..2e7e96dd2f
--- /dev/null
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechGeothermalThermalGenerator.java
@@ -0,0 +1,68 @@
+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.CORE;
+import gtPlusPlus.core.lib.LoadedMods;
+import gtPlusPlus.core.material.ALLOY;
+import gtPlusPlus.core.recipe.common.CI;
+import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList;
+import gtPlusPlus.xmod.gregtech.common.tileentities.generators.GregtechMetaTileEntityGeothermalGenerator;
+
+public class GregtechGeothermalThermalGenerator {
+
+ public static void run() {
+ if (LoadedMods.Gregtech) {
+ Logger.INFO("Gregtech5u Content | Registering Industrial Geothermal Engines.");
+ if (CORE.ConfigSwitches.enableMachine_GeothermalEngines) {
+ run1();
+ }
+ }
+
+ }
+
+ private static void run1() {
+ GregtechItemList.Geothermal_Engine_EV.set(new GregtechMetaTileEntityGeothermalGenerator(830,
+ "advancedgenerator.geothermalFuel.tier.01", "Basic Geothermal Engine", 4).getStackForm(1L));
+ GregtechItemList.Geothermal_Engine_IV.set(new GregtechMetaTileEntityGeothermalGenerator(831,
+ "advancedgenerator.geothermalFuel.tier.02", "Turbo Geothermal Engine", 5).getStackForm(1L));
+ GregtechItemList.Geothermal_Engine_LuV.set(new GregtechMetaTileEntityGeothermalGenerator(832,
+ "advancedgenerator.geothermalFuel.tier.03", "Vulcan Geothermal Engine", 6).getStackForm(1L));
+
+ GT_ModHandler.addCraftingRecipe(GregtechItemList.Geothermal_Engine_EV.get(1L, new Object[0]),
+ GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE
+ | GT_ModHandler.RecipeBits.REVERSIBLE | GT_ModHandler.RecipeBits.BUFFERED,
+ new Object[] { "CEC", "GMG", "PWP", Character.valueOf('M'), ItemList.Hull_EV, Character.valueOf('P'),
+ ItemList.Electric_Piston_EV, Character.valueOf('E'), ItemList.Electric_Motor_EV,
+ Character.valueOf('C'), OrePrefixes.circuit.get(Materials.Ultimate), Character.valueOf('W'),
+ OrePrefixes.cableGt04.get(Materials.Aluminium), Character.valueOf('G'),
+ ALLOY.TANTALLOY_61.getGear(1) });
+
+ GT_ModHandler.addCraftingRecipe(GregtechItemList.Geothermal_Engine_IV.get(1L, new Object[0]),
+ GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE
+ | GT_ModHandler.RecipeBits.REVERSIBLE | GT_ModHandler.RecipeBits.BUFFERED,
+ new Object[] { "CEC", "GMG", "PWP", Character.valueOf('M'), ItemList.Hull_IV, Character.valueOf('P'),
+ ItemList.Electric_Piston_IV, Character.valueOf('E'), ItemList.Electric_Motor_IV,
+ Character.valueOf('C'), OrePrefixes.circuit.get(Materials.Superconductor),
+ Character.valueOf('W'), OrePrefixes.cableGt04.get(Materials.Platinum), Character.valueOf('G'),
+ ALLOY.STELLITE.getGear(1) });
+
+ final ItemStack INGREDIENT_1 = CI.electricPiston_LuV;
+ final ItemStack INGREDIENT_2 = CI.electricMotor_LuV;
+ GT_ModHandler.addCraftingRecipe(GregtechItemList.Geothermal_Engine_LuV.get(1L, new Object[0]),
+ GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE
+ | GT_ModHandler.RecipeBits.REVERSIBLE | GT_ModHandler.RecipeBits.BUFFERED,
+ new Object[] { "CEC", "GMG", "PWP", Character.valueOf('M'), ItemList.Hull_LuV, Character.valueOf('P'),
+ INGREDIENT_1, Character.valueOf('E'), INGREDIENT_2, Character.valueOf('C'),
+ OrePrefixes.circuit.get(Materials.Infinite), Character.valueOf('W'),
+ OrePrefixes.cableGt04.get(Materials.Tungsten), Character.valueOf('G'),
+ ALLOY.ZERON_100.getGear(1) });
+ }
+
+}
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechHiAmpTransformer.java b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechHiAmpTransformer.java
new file mode 100644
index 0000000000..a69c91e93b
--- /dev/null
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechHiAmpTransformer.java
@@ -0,0 +1,158 @@
+package gtPlusPlus.xmod.gregtech.registration.gregtech;
+
+import static gtPlusPlus.core.lib.CORE.GTNH;
+
+import gregtech.api.enums.ItemList;
+import gregtech.api.enums.Materials;
+import gregtech.api.enums.OrePrefixes;
+import gregtech.api.util.GT_ModHandler;
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
+import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList;
+import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.GregtechMetaTransformerHiAmp;
+import gtPlusPlus.xmod.gregtech.common.StaticFields59;
+import net.minecraft.item.ItemStack;
+
+public class GregtechHiAmpTransformer {
+
+
+ public static void run(){
+
+ long bitsd = GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE
+ | GT_ModHandler.RecipeBits.REVERSIBLE | GT_ModHandler.RecipeBits.BUFFERED;
+ int mID = 877;
+
+ String mHammerName = "Hammer";
+
+ if (CORE.MAIN_GREGTECH_5U_EXPERIMENTAL_FORK || CORE.GTNH) {
+ mHammerName = "Mallet";
+ }
+
+ GregtechItemList.Transformer_HA_LV_ULV.set(new GregtechMetaTransformerHiAmp(mID++, "transformer.ha.tier.00",
+ "ULV Hi-Amp Transformer", 0, "LV -> ULV (Use Soft "+mHammerName+" to invert)").getStackForm(1L));
+ GregtechItemList.Transformer_HA_MV_LV.set(new GregtechMetaTransformerHiAmp(mID++, "transformer.ha.tier.01",
+ "LV Hi-Amp Transformer", 1, "MV -> LV (Use Soft "+mHammerName+" to invert)").getStackForm(1L));
+ GregtechItemList.Transformer_HA_HV_MV.set(new GregtechMetaTransformerHiAmp(mID++, "transformer.ha.tier.02",
+ "MV Hi-Amp Transformer", 2, "HV -> MV (Use Soft "+mHammerName+" to invert)").getStackForm(1L));
+ GregtechItemList.Transformer_HA_EV_HV.set(new GregtechMetaTransformerHiAmp(mID++, "transformer.ha.tier.03",
+ "HV Hi-Amp Transformer", 3, "EV -> HV (Use Soft "+mHammerName+" to invert)").getStackForm(1L));
+ GregtechItemList.Transformer_HA_IV_EV.set(new GregtechMetaTransformerHiAmp(mID++, "transformer.ha.tier.04",
+ "EV Hi-Amp Transformer", 4, "IV -> EV (Use Soft "+mHammerName+" to invert)").getStackForm(1L));
+ GregtechItemList.Transformer_HA_LuV_IV.set(new GregtechMetaTransformerHiAmp(mID++, "transformer.ha.tier.05",
+ "IV Hi-Amp Transformer", 5, "LuV -> IV (Use Soft "+mHammerName+" to invert)").getStackForm(1L));
+ GregtechItemList.Transformer_HA_ZPM_LuV.set(new GregtechMetaTransformerHiAmp(mID++, "transformer.ha.tier.06",
+ "LuV Hi-Amp Transformer", 6, "ZPM -> LuV (Use Soft "+mHammerName+" to invert)").getStackForm(1L));
+ GregtechItemList.Transformer_HA_UV_ZPM.set(new GregtechMetaTransformerHiAmp(mID++, "transformer.ha.tier.07",
+ "ZPM Hi-Amp Transformer", 7, "UV -> ZPM (Use Soft "+mHammerName+" to invert)").getStackForm(1L));
+ if (!GTNH) {
+ GregtechItemList.Transformer_HA_MAX_UV.set(new GregtechMetaTransformerHiAmp(mID++, "transformer.ha.tier.08",
+ "UV Hi-Amp Transformer", 8, "Any Voltage -> UV (Use Soft "+mHammerName+" to invert)").getStackForm(1L));
+ } else {
+ GregtechItemList.Transformer_HA_MAX_UV.set(new GregtechMetaTransformerHiAmp(mID++, "transformer.ha.tier.08",
+ "UV Hi-Amp Transformer", 8, "UHV -> UV (Use Soft "+mHammerName+" to invert)").getStackForm(1L));
+ }
+ ItemStack mItem_1;
+ ItemStack mItem_2;
+ ItemStack mItem_3;
+
+ if (CORE.MAIN_GREGTECH_5U_EXPERIMENTAL_FORK) {
+ mItem_1 = ItemUtils.simpleMetaStack(ItemUtils.getSimpleStack(StaticFields59.getBlockCasings5()).getItem(), 3, 1);
+ mItem_2 = ItemUtils.simpleMetaStack(ItemUtils.getSimpleStack(StaticFields59.getBlockCasings5()).getItem(), 4, 1);
+ mItem_3 = ItemUtils.simpleMetaStack(ItemUtils.getSimpleStack(StaticFields59.getBlockCasings5()).getItem(), 5, 1);
+ }
+ else {
+ mItem_1 = ItemList.Circuit_Elite.get(1);
+ mItem_2 = ItemList.Circuit_Master.get(1);
+ mItem_3 = ItemList.Circuit_Ultimate.get(1);
+ }
+
+ if(!GTNH){
+ GT_ModHandler.addCraftingRecipe(GregtechItemList.Transformer_HA_LV_ULV.get(1L, new Object[0]), bitsd,
+ new Object[] { " BB", "CM ", " BB", Character.valueOf('M'), ItemList.Hull_ULV, Character.valueOf('C'),
+ OrePrefixes.wireGt16.get(Materials.Tin), Character.valueOf('B'),
+ OrePrefixes.wireGt16.get(Materials.Lead) });
+ GT_ModHandler.addCraftingRecipe(GregtechItemList.Transformer_HA_MV_LV.get(1L, new Object[0]), bitsd,
+ new Object[] { " BB", "CM ", " BB", Character.valueOf('M'), ItemList.Hull_LV, Character.valueOf('C'),
+ OrePrefixes.wireGt16.get(Materials.Copper), Character.valueOf('B'),
+ OrePrefixes.wireGt16.get(Materials.Tin) });
+ GT_ModHandler.addCraftingRecipe(GregtechItemList.Transformer_HA_HV_MV.get(1L, new Object[0]), bitsd,
+ new Object[] { " BB", "CM ", " BB", Character.valueOf('M'), ItemList.Hull_MV, Character.valueOf('C'),
+ OrePrefixes.wireGt16.get(Materials.Gold), Character.valueOf('B'),
+ OrePrefixes.wireGt16.get(Materials.AnnealedCopper) });
+ GT_ModHandler.addCraftingRecipe(GregtechItemList.Transformer_HA_EV_HV.get(1L, new Object[0]), bitsd,
+ new Object[] { "KBB", "CM ", "KBB", Character.valueOf('M'), ItemList.Hull_HV, Character.valueOf('C'),
+ OrePrefixes.wireGt16.get(Materials.Aluminium), Character.valueOf('B'),
+ OrePrefixes.wireGt16.get(Materials.Gold), Character.valueOf('K'),
+ ItemList.Casing_Coil_Cupronickel });
+ GT_ModHandler.addCraftingRecipe(GregtechItemList.Transformer_HA_IV_EV.get(1L, new Object[0]), bitsd,
+ new Object[] { "KBB", "CM ", "KBB", Character.valueOf('M'), ItemList.Hull_EV, Character.valueOf('C'),
+ OrePrefixes.wireGt16.get(Materials.Tungsten), Character.valueOf('B'),
+ OrePrefixes.wireGt16.get(Materials.Aluminium), Character.valueOf('K'),
+ ItemList.Casing_Coil_Kanthal });
+ GT_ModHandler.addCraftingRecipe(GregtechItemList.Transformer_HA_LuV_IV.get(1L, new Object[0]), bitsd,
+ new Object[] { "KBB", "CM ", "KBB", Character.valueOf('M'), ItemList.Hull_IV, Character.valueOf('C'),
+ OrePrefixes.wireGt16.get(Materials.VanadiumGallium), Character.valueOf('B'),
+ OrePrefixes.wireGt16.get(Materials.Tungsten), Character.valueOf('K'),
+ ItemList.Casing_Coil_Nichrome });
+ GT_ModHandler.addCraftingRecipe(GregtechItemList.Transformer_HA_ZPM_LuV.get(1L, new Object[0]), bitsd,
+ new Object[] { "KBB", "CM ", "KBB", Character.valueOf('M'), ItemList.Hull_LuV, Character.valueOf('C'),
+ OrePrefixes.wireGt16.get(Materials.Naquadah), Character.valueOf('B'),
+ OrePrefixes.wireGt16.get(Materials.VanadiumGallium), Character.valueOf('K'),
+ mItem_1 });
+ GT_ModHandler.addCraftingRecipe(GregtechItemList.Transformer_HA_UV_ZPM.get(1L, new Object[0]), bitsd,
+ new Object[] { "KBB", "CM ", "KBB", Character.valueOf('M'), ItemList.Hull_ZPM, Character.valueOf('C'),
+ OrePrefixes.wireGt04.get(Materials.NaquadahAlloy), Character.valueOf('B'),
+ OrePrefixes.wireGt16.get(Materials.Naquadah), Character.valueOf('K'),
+ mItem_2 });
+ GT_ModHandler.addCraftingRecipe(GregtechItemList.Transformer_HA_MAX_UV.get(1L, new Object[0]), bitsd,
+ new Object[] { "KBB", "CM ", "KBB", Character.valueOf('M'), ItemList.Hull_UV, Character.valueOf('C'),
+ OrePrefixes.wireGt01.get(Materials.Superconductor), Character.valueOf('B'),
+ OrePrefixes.wireGt04.get(Materials.NaquadahAlloy), Character.valueOf('K'),
+ mItem_3 });
+ }else{
+ GT_ModHandler.addCraftingRecipe(GregtechItemList.Transformer_HA_LV_ULV.get(1L, new Object[0]), bitsd,
+ new Object[] { " BB", "CM ", " BB", Character.valueOf('M'), ItemList.Transformer_LV_ULV, Character.valueOf('C'),
+ OrePrefixes.wireGt16.get(Materials.Tin), Character.valueOf('B'),
+ OrePrefixes.wireGt16.get(Materials.Lead) });
+ GT_ModHandler.addCraftingRecipe(GregtechItemList.Transformer_HA_MV_LV.get(1L, new Object[0]), bitsd,
+ new Object[] { " BB", "CM ", " BB", Character.valueOf('M'), ItemList.Transformer_MV_LV, Character.valueOf('C'),
+ OrePrefixes.wireGt16.get(Materials.AnyCopper), Character.valueOf('B'),
+ OrePrefixes.wireGt16.get(Materials.Tin) });
+ GT_ModHandler.addCraftingRecipe(GregtechItemList.Transformer_HA_HV_MV.get(1L, new Object[0]), bitsd,
+ new Object[] { " BB", "CM ", " BB", Character.valueOf('M'), ItemList.Transformer_HV_MV, Character.valueOf('C'),
+ OrePrefixes.wireGt16.get(Materials.Gold), Character.valueOf('B'),
+ OrePrefixes.wireGt16.get(Materials.AnyCopper) });
+ GT_ModHandler.addCraftingRecipe(GregtechItemList.Transformer_HA_EV_HV.get(1L, new Object[0]), bitsd,
+ new Object[] { "KBB", "CM ", "KBB", Character.valueOf('M'), ItemList.Transformer_EV_HV, Character.valueOf('C'),
+ OrePrefixes.wireGt16.get(Materials.Aluminium), Character.valueOf('B'),
+ OrePrefixes.wireGt16.get(Materials.Gold), Character.valueOf('K'),
+ ItemList.Casing_Coil_Cupronickel });
+ GT_ModHandler.addCraftingRecipe(GregtechItemList.Transformer_HA_IV_EV.get(1L, new Object[0]), bitsd,
+ new Object[] { "KBB", "CM ", "KBB", Character.valueOf('M'), ItemList.Transformer_IV_EV, Character.valueOf('C'),
+ OrePrefixes.wireGt16.get(Materials.Tungsten), Character.valueOf('B'),
+ OrePrefixes.wireGt16.get(Materials.Aluminium), Character.valueOf('K'),
+ ItemList.Casing_Coil_Kanthal });
+ GT_ModHandler.addCraftingRecipe(GregtechItemList.Transformer_HA_LuV_IV.get(1L, new Object[0]), bitsd,
+ new Object[] { "KBB", "CM ", "KBB", Character.valueOf('M'), ItemList.Transformer_LuV_IV, Character.valueOf('C'),
+ OrePrefixes.wireGt16.get(Materials.VanadiumGallium), Character.valueOf('B'),
+ OrePrefixes.wireGt16.get(Materials.Tungsten), Character.valueOf('K'),
+ ItemList.Casing_Coil_Nichrome });
+ GT_ModHandler.addCraftingRecipe(GregtechItemList.Transformer_HA_ZPM_LuV.get(1L, new Object[0]), bitsd,
+ new Object[] { "KBB", "CM ", "KBB", Character.valueOf('M'), ItemList.Transformer_ZPM_LuV, Character.valueOf('C'),
+ OrePrefixes.wireGt16.get(Materials.Naquadah), Character.valueOf('B'),
+ OrePrefixes.wireGt16.get(Materials.VanadiumGallium), Character.valueOf('K'),
+ mItem_1 });
+ GT_ModHandler.addCraftingRecipe(GregtechItemList.Transformer_HA_UV_ZPM.get(1L, new Object[0]), bitsd,
+ new Object[] { "KBB", "CM ", "KBB", Character.valueOf('M'), ItemList.Transformer_UV_ZPM, Character.valueOf('C'),
+ OrePrefixes.wireGt04.get(Materials.NaquadahAlloy), Character.valueOf('B'),
+ OrePrefixes.wireGt16.get(Materials.Naquadah), Character.valueOf('K'),
+ mItem_2 });
+ GT_ModHandler.addCraftingRecipe(GregtechItemList.Transformer_HA_MAX_UV.get(1L, new Object[0]), bitsd,
+ new Object[] { "KBB", "CM ", "KBB", Character.valueOf('M'), ItemList.Transformer_MAX_UV, Character.valueOf('C'),
+ OrePrefixes.wireGt01.get(Materials.Superconductor), Character.valueOf('B'),
+ OrePrefixes.wireGt04.get(Materials.NaquadahAlloy), Character.valueOf('K'),
+ mItem_3 });
+ }
+ }
+
+}
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialAlloySmelter.java b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialAlloySmelter.java
new file mode 100644
index 0000000000..6587e3a253
--- /dev/null
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialAlloySmelter.java
@@ -0,0 +1,22 @@
+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.processing.GregtechMetaTileEntity_IndustrialAlloySmelter;
+
+public class GregtechIndustrialAlloySmelter {
+
+ public static void run() {
+ if (gtPlusPlus.core.lib.LoadedMods.Gregtech) {
+ Logger.INFO("Gregtech5u Content | Registering Industrial Alloy Smelter Multiblock.");
+ run1();
+ }
+
+ }
+
+ private static void run1() {
+ GregtechItemList.Industrial_AlloySmelter.set(new GregtechMetaTileEntity_IndustrialAlloySmelter(31023,
+ "industrialalloysmelter.controller.tier.single", "Zyngen").getStackForm(1L));
+
+ }
+} \ No newline at end of file
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialArcFurnace.java b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialArcFurnace.java
new file mode 100644
index 0000000000..fb8f69e865
--- /dev/null
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialArcFurnace.java
@@ -0,0 +1,22 @@
+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.processing.GregtechMetaTileEntity_IndustrialArcFurnace;
+
+public class GregtechIndustrialArcFurnace {
+
+ public static void run() {
+ if (gtPlusPlus.core.lib.LoadedMods.Gregtech) {
+ Logger.INFO("Gregtech5u Content | Registering Industrial Arc Furnace Multiblock.");
+ run1();
+ }
+
+ }
+
+ private static void run1() {
+ // Industrial Arc Furnace Multiblock
+ GregtechItemList.Industrial_Arc_Furnace.set(new GregtechMetaTileEntity_IndustrialArcFurnace(862, "industrialarcfurnace.controller.tier.single", "High Current Industrial Arc Furnace").getStackForm(1L));
+
+ }
+} \ No newline at end of file
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialBlastSmelter.java b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialBlastSmelter.java
new file mode 100644
index 0000000000..15c2d9b238
--- /dev/null
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialBlastSmelter.java
@@ -0,0 +1,26 @@
+package gtPlusPlus.xmod.gregtech.registration.gregtech;
+
+import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList;
+import gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.production.GregtechMetaTileEntity_AlloyBlastSmelter;
+
+public class GregtechIndustrialBlastSmelter {
+
+ public static void run() {
+ if (gtPlusPlus.core.lib.LoadedMods.Gregtech) {
+ Logger.INFO("Gregtech5u Content | Registering Industrial Alloy Blast Smelter Multiblock.");
+ if (CORE.ConfigSwitches.enableMultiblock_AlloyBlastSmelter) {
+ run1();
+ }
+ }
+
+ }
+
+ private static void run1() {
+ // Industrial Alloy Blast Smelter Multiblock
+ GregtechItemList.Industrial_AlloyBlastSmelter.set(new GregtechMetaTileEntity_AlloyBlastSmelter(810,
+ "industrialsalloyamelter.controller.tier.single", "Alloy Blast Smelter").getStackForm(1L));
+
+ }
+} \ No newline at end of file
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialCentrifuge.java b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialCentrifuge.java
new file mode 100644
index 0000000000..dfbe7304ef
--- /dev/null
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialCentrifuge.java
@@ -0,0 +1,26 @@
+package gtPlusPlus.xmod.gregtech.registration.gregtech;
+
+import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList;
+import gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.processing.GregtechMetaTileEntity_IndustrialCentrifuge;
+
+public class GregtechIndustrialCentrifuge {
+
+ public static void run() {
+ if (gtPlusPlus.core.lib.LoadedMods.Gregtech) {
+ Logger.INFO("Gregtech5u Content | Registering Industrial Centrifuge Multiblock.");
+ if (CORE.ConfigSwitches.enableMultiblock_IndustrialCentrifuge) {
+ run1();
+ }
+ }
+
+ }
+
+ private static void run1() {
+ // Industrial Centrifuge Multiblock
+ GregtechItemList.Industrial_Centrifuge.set(new GregtechMetaTileEntity_IndustrialCentrifuge(790,
+ "industrialcentrifuge.controller.tier.single", "Industrial Centrifuge").getStackForm(1L));
+
+ }
+}
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialCokeOven.java b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialCokeOven.java
new file mode 100644
index 0000000000..7afc73709a
--- /dev/null
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialCokeOven.java
@@ -0,0 +1,26 @@
+package gtPlusPlus.xmod.gregtech.registration.gregtech;
+
+import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList;
+import gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.processing.GregtechMetaTileEntity_IndustrialCokeOven;
+
+public class GregtechIndustrialCokeOven {
+
+ public static void run() {
+ if (gtPlusPlus.core.lib.LoadedMods.Gregtech) {
+ Logger.INFO("Gregtech5u Content | Registering Industrial Coke Oven Multiblock.");
+ if (CORE.ConfigSwitches.enableMultiblock_IndustrialCokeOven) {
+ run1();
+ }
+ }
+
+ }
+
+ private static void run1() {
+ // Industrial Centrifuge Multiblock
+ GregtechItemList.Industrial_CokeOven.set(new GregtechMetaTileEntity_IndustrialCokeOven(791,
+ "industrialcokeoven.controller.tier.single", "Industrial Coke Oven").getStackForm(1L));
+
+ }
+} \ No newline at end of file
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialCuttingFactory.java b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialCuttingFactory.java
new file mode 100644
index 0000000000..f6133f6bf3
--- /dev/null
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialCuttingFactory.java
@@ -0,0 +1,25 @@
+package gtPlusPlus.xmod.gregtech.registration.gregtech;
+
+import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList;
+import gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.processing.GregtechMetaTileEntity_IndustrialCuttingMachine;
+
+public class GregtechIndustrialCuttingFactory {
+
+ public static void run() {
+ if (gtPlusPlus.core.lib.LoadedMods.Gregtech) {
+ Logger.INFO("Gregtech5u Content | Registering Industrial Cutting Factory Multiblock.");
+ if (CORE.ConfigSwitches.enableMultiblock_IndustrialCuttingMachine) {
+ run1();
+ }
+ }
+ }
+
+ private static void run1() {
+ // Industrial Wire Factory Multiblock
+ GregtechItemList.Industrial_CuttingFactoryController.set(new GregtechMetaTileEntity_IndustrialCuttingMachine(992,
+ "industrialcuttingmachine.controller.tier.01", "Cutting Factory Controller").getStackForm(1L));
+
+ }
+} \ No newline at end of file
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialElectrolyzer.java b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialElectrolyzer.java
new file mode 100644
index 0000000000..10d7510625
--- /dev/null
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialElectrolyzer.java
@@ -0,0 +1,26 @@
+package gtPlusPlus.xmod.gregtech.registration.gregtech;
+
+import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList;
+import gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.processing.GregtechMetaTileEntity_IndustrialElectrolyzer;
+
+public class GregtechIndustrialElectrolyzer {
+
+ public static void run() {
+ if (gtPlusPlus.core.lib.LoadedMods.Gregtech) {
+ Logger.INFO("Gregtech5u Content | Registering Industrial Electrolyzer Multiblock.");
+ if (CORE.ConfigSwitches.enableMultiblock_IndustrialElectrolyzer) {
+ run1();
+ }
+ }
+
+ }
+
+ private static void run1() {
+ // Industrial Electrolyzer Multiblock
+ GregtechItemList.Industrial_Electrolyzer.set(new GregtechMetaTileEntity_IndustrialElectrolyzer(796,
+ "industrialelectrolyzer.controller.tier.single", "Industrial Electrolyzer").getStackForm(1L));
+
+ }
+} \ No newline at end of file
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialElementDuplicator.java b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialElementDuplicator.java
new file mode 100644
index 0000000000..9e940dff26
--- /dev/null
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialElementDuplicator.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.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_ElementalDataOrbHolder;
+import gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.production.GregtechMTE_ElementalDuplicator;
+
+public class GregtechIndustrialElementDuplicator {
+
+ public static void run(){
+
+ Logger.INFO("Gregtech5u Content | Registering Elemental Duplicator Multiblock.");
+
+ GregtechItemList.Controller_ElementalDuplicator.set(new GregtechMTE_ElementalDuplicator(31050, "gtpp.multimachine.replicator", "Elemental Duplicator").getStackForm(1L));
+ GregtechItemList.Hatch_Input_Elemental_Duplicator.set(new GT_MetaTileEntity_Hatch_ElementalDataOrbHolder(31051, "hatch.input_bus.elementalorbholder", "Elemental Data Orb Storage", 7).getStackForm(1L));
+
+ }
+
+}
+
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialExtruder.java b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialExtruder.java
new file mode 100644
index 0000000000..51b2f4b0d5
--- /dev/null
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialExtruder.java
@@ -0,0 +1,26 @@
+package gtPlusPlus.xmod.gregtech.registration.gregtech;
+
+import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList;
+import gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.processing.GregtechMetaTileEntity_IndustrialExtruder;
+
+public class GregtechIndustrialExtruder {
+
+ public static void run() {
+ if (gtPlusPlus.core.lib.LoadedMods.Gregtech) {
+ Logger.INFO("Gregtech5u Content | Registering Industrial Extrusion Multiblock.");
+ if (CORE.ConfigSwitches.enableMultiblock_IndustrialExtrudingMachine) {
+ run1();
+ }
+ }
+
+ }
+
+ private static void run1() {
+ // Industrial Presser Multiblock
+ GregtechItemList.Industrial_Extruder.set(new GregtechMetaTileEntity_IndustrialExtruder(859,
+ "industrialextruder.controller.tier.single", "Industrial Extrusion Machine").getStackForm(1L));
+
+ }
+} \ No newline at end of file
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialFishPond.java b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialFishPond.java
new file mode 100644
index 0000000000..681256a385
--- /dev/null
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialFishPond.java
@@ -0,0 +1,24 @@
+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.GregtechMetaTileEntity_IndustrialFishingPond;
+
+public class GregtechIndustrialFishPond {
+
+ public static void run() {
+ if (gtPlusPlus.core.lib.LoadedMods.Gregtech) {
+ Logger.INFO("Gregtech5u Content | Registering Industrial Fishing Pond Multiblock.");
+ //if (CORE.ConfigSwitches.enableMultiblock_IndustrialWashPlant) {
+ run1();
+ //}
+ }
+
+ }
+
+ private static void run1() {
+ GregtechItemList.Industrial_FishingPond.set(new GregtechMetaTileEntity_IndustrialFishingPond(829,
+ "industrial.fishpond.controller.tier.single", "Zhuhai - Fishing Port").getStackForm(1L));
+
+ }
+} \ No newline at end of file
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialFuelRefinery.java b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialFuelRefinery.java
new file mode 100644
index 0000000000..0b6dcb1b94
--- /dev/null
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialFuelRefinery.java
@@ -0,0 +1,26 @@
+package gtPlusPlus.xmod.gregtech.registration.gregtech;
+
+import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList;
+import gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.production.GregtechMetaTileEntity_Refinery;
+
+public class GregtechIndustrialFuelRefinery {
+
+ public static void run() {
+ if (gtPlusPlus.core.lib.LoadedMods.Gregtech) {
+ Logger.INFO("Gregtech5u Content | Registering Industrial Fuel Processing and Refinery Multiblock.");
+ if (CORE.ConfigSwitches.enableMultiblock_NuclearFuelRefinery) {
+ run1();
+ }
+ }
+
+ }
+
+ private static void run1() {
+ // Industrial Maceration Stack Multiblock
+ GregtechItemList.Industrial_FuelRefinery.set(new GregtechMetaTileEntity_Refinery(835,
+ "industrialrefinery.controller.tier.single", "Reactor Fuel Processing Plant").getStackForm(1L));
+
+ }
+}
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialGeneratorArray.java b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialGeneratorArray.java
new file mode 100644
index 0000000000..9bdcf231d0
--- /dev/null
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialGeneratorArray.java
@@ -0,0 +1,26 @@
+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.GregtechMetaTileEntityGeneratorArray;
+
+public class GregtechIndustrialGeneratorArray {
+
+ public static void run() {
+ if (gtPlusPlus.core.lib.LoadedMods.Gregtech) {
+ Logger.INFO("Gregtech5u Content | Registering Industrial Generator Array Multiblock.");
+ //if (CORE.ConfigSwitches.enableMultiblock_IndustrialSifter) { // TODO
+ run1();
+ //}
+ }
+
+ }
+
+ private static void run1() {
+ // Industrial Maceration Stack Multiblock
+ GregtechItemList.Generator_Array_Controller.set(new GregtechMetaTileEntityGeneratorArray(
+ 990,
+ "generatorarray.controller.tier.01",
+ "Large Generator Array").getStackForm(1L));
+ }
+}
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialMacerator.java b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialMacerator.java
new file mode 100644
index 0000000000..c67296fc53
--- /dev/null
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialMacerator.java
@@ -0,0 +1,26 @@
+package gtPlusPlus.xmod.gregtech.registration.gregtech;
+
+import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList;
+import gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.processing.GregtechMetaTileEntity_IndustrialMacerator;
+
+public class GregtechIndustrialMacerator {
+
+ public static void run() {
+ if (gtPlusPlus.core.lib.LoadedMods.Gregtech) {
+ Logger.INFO("Gregtech5u Content | Registering Industrial Maceration Stack Multiblock.");
+ if (CORE.ConfigSwitches.enableMultiblock_IndustrialMacerationStack) {
+ run1();
+ }
+ }
+
+ }
+
+ private static void run1() {
+ // Industrial Maceration Stack Multiblock
+ GregtechItemList.Industrial_MacerationStack.set(new GregtechMetaTileEntity_IndustrialMacerator(797,
+ "industrialmacerator.controller.tier.single", "Maceration Stack Controller").getStackForm(1L));
+
+ }
+} \ No newline at end of file
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialMassFabricator.java b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialMassFabricator.java
new file mode 100644
index 0000000000..f07be17ffd
--- /dev/null
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialMassFabricator.java
@@ -0,0 +1,230 @@
+package gtPlusPlus.xmod.gregtech.registration.gregtech;
+
+import gregtech.api.enums.GT_Values;
+import gregtech.api.enums.Materials;
+import gregtech.api.util.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 gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.production.GregtechMetaTileEntity_MassFabricator;
+import net.minecraft.item.ItemStack;
+import net.minecraftforge.fluids.FluidStack;
+
+public class GregtechIndustrialMassFabricator {
+
+ public static void run() {
+ if (gtPlusPlus.core.lib.LoadedMods.Gregtech) {
+ Logger.INFO("Gregtech5u Content | Registering Industrial Matter Fabricator Multiblock.");
+ if (CORE.ConfigSwitches.enableMultiblock_MatterFabricator) {
+ generateRecipes();
+ run1();
+ }
+ }
+
+ }
+
+ private static void run1() {
+ // Industrial Matter Fabricator Multiblock
+ GregtechItemList.Industrial_MassFab.set(new GregtechMetaTileEntity_MassFabricator(799,
+ "industrialmassfab.controller.tier.single", "Matter Fabrication CPU").getStackForm(1L));
+ }
+
+ private static void generateRecipes() {
+
+ //Generate Scrap->UUA Recipes
+
+
+
+ //Basic UUA1
+ GT_Recipe UUA_From_Scrap = new GTPP_Recipe(
+ false,
+ new ItemStack[] {CI.getNumberedCircuit(9), ItemUtils.getSimpleStack(getScrapPile(), 9)},
+ new ItemStack[] {GT_Values.NI},
+ null, null,
+ new FluidStack[] {GT_Values.NF},
+ new FluidStack[] {Materials.UUAmplifier.getFluid(1)},
+ 9*20,
+ 32,
+ 0);
+ //Basic UUA2
+ GT_Recipe UUA_From_ScrapBoxes = new GTPP_Recipe(
+ false,
+ new ItemStack[] {CI.getNumberedCircuit(19), ItemUtils.getSimpleStack(getScrapBox(), 1)},
+ new ItemStack[] {GT_Values.NI},
+ null, null,
+ new FluidStack[] {GT_Values.NF},
+ new FluidStack[] {Materials.UUAmplifier.getFluid(1)},
+ 9*20,
+ 32,
+ 0);
+
+ GTPP_Recipe.GTPP_Recipe_Map.sMatterFab2Recipes.add(UUA_From_Scrap);
+ GTPP_Recipe.GTPP_Recipe_Map.sMatterFab2Recipes.add(UUA_From_ScrapBoxes);
+
+ if (!CORE.MAIN_GREGTECH_5U_EXPERIMENTAL_FORK) {
+ //Basic UUM
+ GT_Recipe generateUUM = new GTPP_Recipe(
+ false,
+ new ItemStack[] {CI.getNumberedCircuit(1)},
+ new ItemStack[] {GT_Values.NI},
+ null, null,
+ new FluidStack[] {GT_Values.NF},
+ new FluidStack[] {Materials.UUMatter.getFluid(1)},
+ 160*20,
+ 32,
+ 0);
+
+ //Basic UUM
+ GT_Recipe generateUUMFromUUA = new GTPP_Recipe(
+ false,
+ new ItemStack[] {CI.getNumberedCircuit(2)},
+ new ItemStack[] {GT_Values.NI},
+ null, null,
+ new FluidStack[] {Materials.UUAmplifier.getFluid(1)},
+ new FluidStack[] {Materials.UUMatter.getFluid(1)},
+ 40*20,
+ 32,
+ 0);
+
+ GTPP_Recipe.GTPP_Recipe_Map.sMatterFab2Recipes.add(generateUUM);
+ GTPP_Recipe.GTPP_Recipe_Map.sMatterFab2Recipes.add(generateUUMFromUUA);
+ }
+ else {
+
+ //Basic UUM
+ GT_Recipe generateUUM_LV = new GTPP_Recipe(
+ false,
+ new ItemStack[] {CI.getNumberedCircuit(15)},
+ new ItemStack[] {GT_Values.NI},
+ null, null,
+ new FluidStack[] {GT_Values.NF},
+ new FluidStack[] {Materials.UUMatter.getFluid(1)},
+ 160*20,
+ 256,
+ 0);
+ GT_Recipe generateUUM_MV = new GTPP_Recipe(
+ false,
+ new ItemStack[] {CI.getNumberedCircuit(14)},
+ new ItemStack[] {GT_Values.NI},
+ null, null,
+ new FluidStack[] {GT_Values.NF},
+ new FluidStack[] {Materials.UUMatter.getFluid(1)},
+ 160*20,
+ 512,
+ 0);
+ GT_Recipe generateUUM_HV = new GTPP_Recipe(
+ false,
+ new ItemStack[] {CI.getNumberedCircuit(13)},
+ new ItemStack[] {GT_Values.NI},
+ null, null,
+ new FluidStack[] {GT_Values.NF},
+ new FluidStack[] {Materials.UUMatter.getFluid(1)},
+ 160*20,
+ 1024,
+ 0);
+ GT_Recipe generateUUM_EV = new GTPP_Recipe(
+ false,
+ new ItemStack[] {CI.getNumberedCircuit(12)},
+ new ItemStack[] {GT_Values.NI},
+ null, null,
+ new FluidStack[] {GT_Values.NF},
+ new FluidStack[] {Materials.UUMatter.getFluid(1)},
+ 160*20,
+ 2048,
+ 0);
+ GT_Recipe generateUUM_IV = new GTPP_Recipe(
+ false,
+ new ItemStack[] {CI.getNumberedCircuit(11)},
+ new ItemStack[] {GT_Values.NI},
+ null, null,
+ new FluidStack[] {GT_Values.NF},
+ new FluidStack[] {Materials.UUMatter.getFluid(1)},
+ 160*20,
+ 4096,
+ 0);
+
+ //Basic UUM
+ GT_Recipe generateUUMFromUUA_LV = new GTPP_Recipe(
+ false,
+ new ItemStack[] {CI.getNumberedCircuit(5)},
+ new ItemStack[] {GT_Values.NI},
+ null, null,
+ new FluidStack[] {Materials.UUAmplifier.getFluid(1)},
+ new FluidStack[] {Materials.UUMatter.getFluid(1)},
+ 40*20,
+ 256,
+ 0);
+ GT_Recipe generateUUMFromUUA_MV = new GTPP_Recipe(
+ false,
+ new ItemStack[] {CI.getNumberedCircuit(4)},
+ new ItemStack[] {GT_Values.NI},
+ null, null,
+ new FluidStack[] {Materials.UUAmplifier.getFluid(1)},
+ new FluidStack[] {Materials.UUMatter.getFluid(1)},
+ 40*20,
+ 512,
+ 0);
+ GT_Recipe generateUUMFromUUA_HV = new GTPP_Recipe(
+ false,
+ new ItemStack[] {CI.getNumberedCircuit(3)},
+ new ItemStack[] {GT_Values.NI},
+ null, null,
+ new FluidStack[] {Materials.UUAmplifier.getFluid(1)},
+ new FluidStack[] {Materials.UUMatter.getFluid(1)},
+ 40*20,
+ 1024,
+ 0);
+ GT_Recipe generateUUMFromUUA_EV = new GTPP_Recipe(
+ false,
+ new ItemStack[] {CI.getNumberedCircuit(2)},
+ new ItemStack[] {GT_Values.NI},
+ null, null,
+ new FluidStack[] {Materials.UUAmplifier.getFluid(1)},
+ new FluidStack[] {Materials.UUMatter.getFluid(1)},
+ 40*20,
+ 2048,
+ 0);
+ GT_Recipe generateUUMFromUUA_IV = new GTPP_Recipe(
+ false,
+ new ItemStack[] {CI.getNumberedCircuit(1)},
+ new ItemStack[] {GT_Values.NI},
+ null, null,
+ new FluidStack[] {Materials.UUAmplifier.getFluid(1)},
+ new FluidStack[] {Materials.UUMatter.getFluid(1)},
+ 40*20,
+ 4096,
+ 0);
+
+ GTPP_Recipe.GTPP_Recipe_Map.sMatterFab2Recipes.add(generateUUM_LV);
+ GTPP_Recipe.GTPP_Recipe_Map.sMatterFab2Recipes.add(generateUUM_MV);
+ GTPP_Recipe.GTPP_Recipe_Map.sMatterFab2Recipes.add(generateUUM_HV);
+ GTPP_Recipe.GTPP_Recipe_Map.sMatterFab2Recipes.add(generateUUM_EV);
+ GTPP_Recipe.GTPP_Recipe_Map.sMatterFab2Recipes.add(generateUUM_IV);
+ GTPP_Recipe.GTPP_Recipe_Map.sMatterFab2Recipes.add(generateUUMFromUUA_LV);
+ GTPP_Recipe.GTPP_Recipe_Map.sMatterFab2Recipes.add(generateUUMFromUUA_MV);
+ GTPP_Recipe.GTPP_Recipe_Map.sMatterFab2Recipes.add(generateUUMFromUUA_HV);
+ GTPP_Recipe.GTPP_Recipe_Map.sMatterFab2Recipes.add(generateUUMFromUUA_EV);
+ GTPP_Recipe.GTPP_Recipe_Map.sMatterFab2Recipes.add(generateUUMFromUUA_IV);
+
+ }
+
+ Logger.INFO("Generated "+GTPP_Recipe.GTPP_Recipe_Map.sMatterFab2Recipes.mRecipeList.size()+" Matter Fabricator recipes.");
+
+
+
+
+ }
+
+
+
+ public static ItemStack getScrapPile() {
+ return ItemUtils.getSimpleStack(ItemUtils.getItemFromFQRN("IC2:itemScrap"));
+ }
+ public static ItemStack getScrapBox() {
+ return ItemUtils.getSimpleStack(ItemUtils.getItemFromFQRN("IC2:itemScrapbox"));
+ }
+
+} \ No newline at end of file
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialMixer.java b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialMixer.java
new file mode 100644
index 0000000000..9c8673682c
--- /dev/null
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialMixer.java
@@ -0,0 +1,27 @@
+package gtPlusPlus.xmod.gregtech.registration.gregtech;
+
+import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList;
+import gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.processing.GregtechMetaTileEntity_IndustrialMixer;
+
+public class GregtechIndustrialMixer {
+
+ public static void run() {
+ if (gtPlusPlus.core.lib.LoadedMods.Gregtech) {
+ Logger.INFO("Gregtech5u Content | Registering Industrial Mixer Multiblock.");
+ if (CORE.ConfigSwitches.enableMultiblock_IndustrialPlatePress) {
+ run1();
+ }
+ }
+
+ }
+
+ private static void run1() {
+ // Industrial Mixer Multiblock
+ GregtechItemList.Industrial_Mixer.set(new GregtechMetaTileEntity_IndustrialMixer(811,
+ "industrialmixer.controller.tier.single", "Industrial Mixing Machine").getStackForm(1L));
+
+ }
+
+}
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialMultiMachine.java b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialMultiMachine.java
new file mode 100644
index 0000000000..40d6c12f0b
--- /dev/null
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialMultiMachine.java
@@ -0,0 +1,25 @@
+package gtPlusPlus.xmod.gregtech.registration.gregtech;
+
+import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList;
+import gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.processing.GregtechMetaTileEntity_IndustrialMultiMachine;
+
+public class GregtechIndustrialMultiMachine {
+
+ public static void run() {
+ if (gtPlusPlus.core.lib.LoadedMods.Gregtech) {
+ Logger.INFO("Gregtech5u Content | Registering Industrial Multi-Machine Multiblock.");
+ if (CORE.ConfigSwitches.enableMultiblock_IndustrialMultiMachine) {
+ run1();
+ }
+ }
+
+ }
+
+ private static void run1() {
+ GregtechItemList.Industrial_MultiMachine.set(new GregtechMetaTileEntity_IndustrialMultiMachine(860,
+ "industrialmultimachine.controller.tier.single", "Large Processing Factory").getStackForm(1L));
+
+ }
+} \ No newline at end of file
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialMultiTank.java b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialMultiTank.java
new file mode 100644
index 0000000000..1d723784ac
--- /dev/null
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialMultiTank.java
@@ -0,0 +1,32 @@
+/*
+package gtPlusPlus.xmod.gregtech.registration.gregtech;
+
+import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList;
+import gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.storage.GregtechMetaTileEntity_MultiTank;
+
+public class GregtechIndustrialMultiTank {
+
+ public static void run() {
+ if (gtPlusPlus.core.lib.LoadedMods.Gregtech) {
+ Logger.INFO("Gregtech5u Content | Registering Industrial Multitank controller blocks.");
+ if (CORE.ConfigSwitches.enableMultiblock_MultiTank) {
+ run1();
+ }
+ }
+
+ }
+
+ private static void run1() {
+ GregtechItemList.Industrial_MultiTank
+ .set(new GregtechMetaTileEntity_MultiTank(827, "multitank.controller.tier.single", "Gregtech Multitank")
+ .getStackForm(1L));
+ // GregtechItemList.Industrial_MultiTankDense.set(new
+ // GregtechMetaTileEntityMultiTankDense(828,
+ // "multitankdense.controller.tier.single", "Gregtech Dense
+ // Multitank").getStackForm(1L));
+
+ }
+}
+*/
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialPlatePress.java b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialPlatePress.java
new file mode 100644
index 0000000000..ecf1e73675
--- /dev/null
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialPlatePress.java
@@ -0,0 +1,26 @@
+package gtPlusPlus.xmod.gregtech.registration.gregtech;
+
+import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList;
+import gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.processing.GregtechMetaTileEntity_IndustrialPlatePress;
+
+public class GregtechIndustrialPlatePress {
+
+ public static void run() {
+ if (gtPlusPlus.core.lib.LoadedMods.Gregtech) {
+ Logger.INFO("Gregtech5u Content | Registering Industrial Press Multiblock.");
+ if (CORE.ConfigSwitches.enableMultiblock_IndustrialPlatePress) {
+ run1();
+ }
+ }
+
+ }
+
+ private static void run1() {
+ // Industrial Presser Multiblock
+ GregtechItemList.Industrial_PlatePress.set(new GregtechMetaTileEntity_IndustrialPlatePress(792,
+ "industrialbender.controller.tier.single", "Industrial Material Press").getStackForm(1L));
+
+ }
+} \ No newline at end of file
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialSifter.java b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialSifter.java
new file mode 100644
index 0000000000..15bf42c9d4
--- /dev/null
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialSifter.java
@@ -0,0 +1,26 @@
+package gtPlusPlus.xmod.gregtech.registration.gregtech;
+
+import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList;
+import gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.processing.GregtechMetaTileEntity_IndustrialSifter;
+
+public class GregtechIndustrialSifter {
+
+ public static void run() {
+ if (gtPlusPlus.core.lib.LoadedMods.Gregtech) {
+ Logger.INFO("Gregtech5u Content | Registering Industrial Sifter Multiblock.");
+ if (CORE.ConfigSwitches.enableMultiblock_IndustrialSifter) { // TODO
+ run1();
+ }
+ }
+
+ }
+
+ private static void run1() {
+ // Industrial Maceration Stack Multiblock
+ GregtechItemList.Industrial_Sifter.set(new GregtechMetaTileEntity_IndustrialSifter(840,
+ "industrialsifter.controller.tier.single", "Large Sifter Control Block").getStackForm(1L));
+
+ }
+} \ No newline at end of file
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialThermalCentrifuge.java b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialThermalCentrifuge.java
new file mode 100644
index 0000000000..01c04b4668
--- /dev/null
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialThermalCentrifuge.java
@@ -0,0 +1,25 @@
+package gtPlusPlus.xmod.gregtech.registration.gregtech;
+
+import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList;
+import gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.processing.GregtechMetaTileEntity_IndustrialThermalCentrifuge;
+
+public class GregtechIndustrialThermalCentrifuge {
+
+ public static void run() {
+ if (gtPlusPlus.core.lib.LoadedMods.Gregtech) {
+ Logger.INFO("Gregtech5u Content | Registering Industrial Thermal Centrifuge Multiblock.");
+ if (CORE.ConfigSwitches.enableMultiblock_IndustrialThermalCentrifuge) {
+ run1();
+ }
+ }
+
+ }
+
+ private static void run1() {
+ GregtechItemList.Industrial_ThermalCentrifuge.set(new GregtechMetaTileEntity_IndustrialThermalCentrifuge(849,
+ "industrialthermalcentrifuge.controller.tier.single", "Large Thermal Refinery").getStackForm(1L));
+
+ }
+} \ No newline at end of file
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialTreeFarm.java b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialTreeFarm.java
new file mode 100644
index 0000000000..47dd3c265f
--- /dev/null
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialTreeFarm.java
@@ -0,0 +1,28 @@
+
+package gtPlusPlus.xmod.gregtech.registration.gregtech;
+
+import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList;
+import gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.production.GregtechMetaTileEntityTreeFarm;
+
+public class GregtechIndustrialTreeFarm {
+
+ public static void run() {
+ if (gtPlusPlus.core.lib.LoadedMods.Gregtech) {
+ Logger.INFO("Gregtech5u Content | Registering Tree Farm Multiblock.");
+ if (CORE.ConfigSwitches.enableMultiblock_TreeFarmer) {
+ run1();
+ }
+ }
+
+ }
+
+ private static void run1() {
+ // Industrial Maceration Stack Multiblock
+ GregtechItemList.Industrial_TreeFarm
+ .set(new GregtechMetaTileEntityTreeFarm(836, "treefarm.controller.tier.single", "Tree Growth Simulator")
+ .getStackForm(1L));
+
+ }
+}
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialWashPlant.java b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialWashPlant.java
new file mode 100644
index 0000000000..f66ebca60e
--- /dev/null
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialWashPlant.java
@@ -0,0 +1,25 @@
+package gtPlusPlus.xmod.gregtech.registration.gregtech;
+
+import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList;
+import gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.processing.GregtechMetaTileEntity_IndustrialWashPlant;
+
+public class GregtechIndustrialWashPlant {
+
+ public static void run() {
+ if (gtPlusPlus.core.lib.LoadedMods.Gregtech) {
+ Logger.INFO("Gregtech5u Content | Registering Industrial Wash Plant Multiblock.");
+ if (CORE.ConfigSwitches.enableMultiblock_IndustrialWashPlant) {
+ run1();
+ }
+ }
+
+ }
+
+ private static void run1() {
+ GregtechItemList.Industrial_WashPlant.set(new GregtechMetaTileEntity_IndustrialWashPlant(850,
+ "industrialwashplant.controller.tier.single", "Ore Washing Plant").getStackForm(1L));
+
+ }
+} \ No newline at end of file
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialWiremill.java b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialWiremill.java
new file mode 100644
index 0000000000..6d575991bd
--- /dev/null
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialWiremill.java
@@ -0,0 +1,25 @@
+package gtPlusPlus.xmod.gregtech.registration.gregtech;
+
+import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList;
+import gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.processing.GregtechMetaTileEntity_IndustrialWireMill;
+
+public class GregtechIndustrialWiremill {
+
+ public static void run() {
+ if (gtPlusPlus.core.lib.LoadedMods.Gregtech) {
+ Logger.INFO("Gregtech5u Content | Registering Industrial Wire Factory Multiblock.");
+ if (CORE.ConfigSwitches.enableMultiblock_IndustrialWireMill) {
+ run1();
+ }
+ }
+ }
+
+ private static void run1() {
+ // Industrial Wire Factory Multiblock
+ GregtechItemList.Industrial_WireFactory.set(new GregtechMetaTileEntity_IndustrialWireMill(798,
+ "industrialwiremill.controller.tier.single", "Wire Factory Controller").getStackForm(1L));
+
+ }
+} \ No newline at end of file
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIronBlastFurnace.java b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIronBlastFurnace.java
new file mode 100644
index 0000000000..1bcd0f3300
--- /dev/null
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIronBlastFurnace.java
@@ -0,0 +1,24 @@
+package gtPlusPlus.xmod.gregtech.registration.gregtech;
+
+import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList;
+import gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.processing.GregtechMetaTileEntity_IronBlastFurnace;
+
+public class GregtechIronBlastFurnace {
+
+ public static void run() {
+ if (gtPlusPlus.core.lib.LoadedMods.Gregtech) {
+ Logger.INFO("Gregtech5u Content | Registering Iron Blast Furnace.");
+ if (CORE.ConfigSwitches.enableMultiblock_IronBlastFurnace) {
+ run1();
+ }
+ }
+
+ }
+
+ private static void run1() {
+ GregtechItemList.Machine_Iron_BlastFurnace.set(new GregtechMetaTileEntity_IronBlastFurnace(768,
+ "ironmachine.blastfurnace", "Iron Plated Blast Furnace").getStackForm(1L));
+ }
+}
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIsaMill.java b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIsaMill.java
new file mode 100644
index 0000000000..19c361be93
--- /dev/null
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIsaMill.java
@@ -0,0 +1,23 @@
+package gtPlusPlus.xmod.gregtech.registration.gregtech;
+
+import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList;
+import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.nbthandlers.GT_MetaTileEntity_Hatch_MillingBalls;
+import gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.processing.GregtechMetaTileEntity_IsaMill;
+import gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.production.GregtechMTE_FrothFlotationCell;
+
+public class GregtechIsaMill {
+
+ public static void run(){
+
+ Logger.INFO("Gregtech5u Content | Registering Milling Content.");
+
+ GregtechItemList.Controller_IsaMill.set(new GregtechMetaTileEntity_IsaMill(31027, "gtpp.multimachine.isamill", "IsaMill Grinding Machine").getStackForm(1L));
+ GregtechItemList.Controller_Flotation_Cell.set(new GregtechMTE_FrothFlotationCell(31028, "gtpp.multimachine.flotationcell", "Flotation Cell Regulator").getStackForm(1L));
+
+ // Milling Ball Bus
+ GregtechItemList.Bus_Milling_Balls.set((new GT_MetaTileEntity_Hatch_MillingBalls(31029, "hatch.milling", "Ball Housing")).getStackForm(1L));
+
+ }
+
+}
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechLFTR.java b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechLFTR.java
new file mode 100644
index 0000000000..cef60ba712
--- /dev/null
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechLFTR.java
@@ -0,0 +1,36 @@
+package gtPlusPlus.xmod.gregtech.registration.gregtech;
+
+import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList;
+import gtPlusPlus.xmod.gregtech.common.tileentities.machines.basic.GregtechMetaTileEntity_ReactorColdTrap;
+import gtPlusPlus.xmod.gregtech.common.tileentities.machines.basic.GregtechMetaTileEntity_ReactorProcessingUnit;
+import gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.processing.GregtechMetaTileEntity_SpargeTower;
+import gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.production.GregtechMTE_NuclearReactor;
+
+public class GregtechLFTR {
+
+ public static void run() {
+ if (gtPlusPlus.core.lib.LoadedMods.Gregtech) {
+ Logger.INFO("Gregtech5u Content | Registering Liquid Fluorine Thorium Reactor [LFTR].");
+ if (CORE.ConfigSwitches.enableMultiblock_LiquidFluorideThoriumReactor) {
+ run1();
+ }
+ }
+
+ }
+
+ private static void run1() {
+ // LFTR
+ GregtechItemList.ThoriumReactor.set(new GregtechMTE_NuclearReactor(751, "lftr.controller.single", "Thorium Reactor [LFTR]").getStackForm(1L));
+ // Reactor Processing Units
+ GregtechItemList.ReactorProcessingUnit_IV.set(new GregtechMetaTileEntity_ReactorProcessingUnit(31031, "rpu.tier.01", "Reactor Processing Unit I", 5).getStackForm(1L));
+ GregtechItemList.ReactorProcessingUnit_ZPM.set(new GregtechMetaTileEntity_ReactorProcessingUnit(31032, "rpu.tier.02", "Reactor Processing Unit II", 7).getStackForm(1L));
+ // Cold Traps
+ GregtechItemList.ColdTrap_IV.set(new GregtechMetaTileEntity_ReactorColdTrap(31033, "coldtrap.tier.01", "Cold Trap I", 5).getStackForm(1L));
+ GregtechItemList.ColdTrap_ZPM.set(new GregtechMetaTileEntity_ReactorColdTrap(31034, "coldtrap.tier.02", "Cold Trap II", 7).getStackForm(1L));
+ // Sparge Tower
+ GregtechItemList.Controller_Sparge_Tower.set(new GregtechMetaTileEntity_SpargeTower(31035, "sparge.controller.single", "Sparge Tower Controller").getStackForm(1L));
+
+ }
+}
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechLargeTurbinesAndHeatExchanger.java b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechLargeTurbinesAndHeatExchanger.java
new file mode 100644
index 0000000000..9b9f5fd59b
--- /dev/null
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechLargeTurbinesAndHeatExchanger.java
@@ -0,0 +1,22 @@
+package gtPlusPlus.xmod.gregtech.registration.gregtech;
+
+import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList;
+
+public class GregtechLargeTurbinesAndHeatExchanger {
+
+ public static void run() {
+ if (gtPlusPlus.core.lib.LoadedMods.Gregtech) {
+ Logger.INFO("Gregtech5u Content | Registering Larger Turbines & Extra Large Heat Exchanger.");
+ run1();
+ }
+
+ }
+
+ private static void run1() {
+ /* GregtechItemList.Large_Steam_Turbine.set(new GT_MTE_LargeTurbine_Steam(865, "multimachine.largerturbine", "XL Turbo Steam Turbine").getStackForm(1L));
+ GregtechItemList.Large_HPSteam_Turbine.set(new GT_MTE_LargeTurbine_SHSteam(866, "multimachine.largerhpturbine", "XL Turbo HP Steam Turbine").getStackForm(1L));
+ GregtechItemList.Hatch_Turbine_Rotor.set(new GT_MetaTileEntity_Hatch_Turbine(30010, "hatch.turbine", "Rotor Assembly", 8).getStackForm(1L));
+ */
+ }
+} \ No newline at end of file
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechMiniRaFusion.java b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechMiniRaFusion.java
new file mode 100644
index 0000000000..aea40c564c
--- /dev/null
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechMiniRaFusion.java
@@ -0,0 +1,45 @@
+/*
+package gtPlusPlus.xmod.gregtech.registration.gregtech;
+
+import gregtech.api.util.GT_Recipe;
+import gregtech.api.util.GTPP_Recipe;
+import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList;
+import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Plasma;
+import gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.production.GregtechMTE_MiniFusionPlant;
+
+public class GregtechMiniRaFusion {
+
+ public static void run() {
+ // Register the Simple Fusion Entity.
+ GregtechItemList.Miniature_Fusion.set(new GregtechMTE_MiniFusionPlant(31015, "gtplusplus.fusion.single", "Helium Prime").getStackForm(1L));
+ GregtechItemList.Plasma_Tank.set(new GT_MetaTileEntity_Hatch_Plasma(31016, "gtplusplus.tank.plasma", "Plasma Tank").getStackForm(1L));
+
+ }
+
+ public static boolean generateSlowFusionrecipes() {
+ for (GT_Recipe x : GT_Recipe.GT_Recipe_Map.sFusionRecipes.mRecipeList){
+ if (x.mEnabled) {
+ GT_Recipe y = x.copy();
+ y.mDuration *= 16;
+ long z = y.mEUt * 4;
+ if (z > Integer.MAX_VALUE) {
+ y.mEnabled = false;
+ continue;
+ }
+ y.mEUt = (int) Math.min(Math.max(0, z), Integer.MAX_VALUE);
+ y.mCanBeBuffered = true;
+ GTPP_Recipe.GTPP_Recipe_Map.sSlowFusionRecipes.add(y);
+ }
+ }
+ int mRecipeCount = GTPP_Recipe.GTPP_Recipe_Map.sSlowFusionRecipes.mRecipeList.size();
+ if (mRecipeCount > 0) {
+ Logger.INFO("[Pocket Fusion] Generated "+mRecipeCount+" recipes for the Pocket Fusion Reactor.");
+ return true;
+ }
+ return false;
+ }
+
+
+}
+*/
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechNaqReactor.java b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechNaqReactor.java
new file mode 100644
index 0000000000..e2c63c77da
--- /dev/null
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechNaqReactor.java
@@ -0,0 +1,24 @@
+/*
+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.GregtechMTE_LargeNaqReactor;
+
+public class GregtechNaqReactor {
+
+ public static void run() {
+ if (gtPlusPlus.core.lib.LoadedMods.Gregtech) {
+ Logger.INFO("Gregtech5u Content | Registering Futuristic Naquadah Reactor {LNR].");
+ run1();
+ }
+
+ }
+
+ private static void run1() {
+ // LFTR
+ GregtechItemList.Controller_Naq_Reactor.set(new GregtechMTE_LargeNaqReactor(970, "lnr.controller.single", "Naquadah Reactor Mark XII").getStackForm(1L));
+
+ }
+}
+*/
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechNitroDieselFix.java b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechNitroDieselFix.java
new file mode 100644
index 0000000000..6095413150
--- /dev/null
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechNitroDieselFix.java
@@ -0,0 +1,182 @@
+package gtPlusPlus.xmod.gregtech.registration.gregtech;
+
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.List;
+
+import org.apache.commons.lang3.reflect.FieldUtils;
+
+import net.minecraft.item.ItemStack;
+
+import gregtech.GT_Mod;
+import gregtech.api.enums.*;
+import gregtech.api.objects.MaterialStack;
+import gregtech.api.util.GT_OreDictUnificator;
+import gregtech.api.util.GT_Recipe;
+import gregtech.api.util.GT_Recipe.GT_Recipe_Map;
+
+import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.core.util.Utils;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
+import gtPlusPlus.core.util.minecraft.MaterialUtils;
+import gtPlusPlus.core.util.reflect.ReflectionUtils;
+import net.minecraftforge.fluids.FluidStack;
+
+public class GregtechNitroDieselFix {
+
+ @SuppressWarnings("unchecked")
+ public static void run(){
+ if (CORE.ConfigSwitches.enableNitroFix){
+ Logger.INFO("Gregtech5u Content | Attempting to Fix Nitro-Diesel production.");
+ try {
+ int mSub = Utils.getGregtechSubVersion();
+ if (mSub != 0){
+ if (mSub >= 30){
+ Class mb = ReflectionUtils.getClass("gregtech.api.enums.MaterialBuilder");
+ Object df = mb.getConstructor(int.class, TextureSet.class, String.class).newInstance(975, TextureSet.SET_FLUID, "Nitro-Diesel [Old]");
+ if (mb.isInstance(df)){
+
+ Logger.INFO("[Nitro] Created new instance of Material builder, for Nitro fix.");
+
+ //Get Methods
+ Method addFluid = mb.getDeclaredMethod("addFluid");
+ Method addCell = mb.getDeclaredMethod("addCell");
+ Method setColour = mb.getDeclaredMethod("setColor", Dyes.class);
+ Method setFuelPower = mb.getDeclaredMethod("setFuelPower", int.class);
+ Method setMaterials = mb.getDeclaredMethod("setMaterialList", List.class);
+ Method setTemp = mb.getDeclaredMethod("setLiquidTemperature", int.class);
+ Method setRGB = mb.getDeclaredMethod("setRGB", int.class, int.class, int.class);
+ Method construct = mb.getDeclaredMethod("constructMaterial");
+ Logger.INFO("[Nitro] Got internal methods for setting fields.");
+
+ //Invoke the methods
+ addFluid.invoke(df);
+ addCell.invoke(df);
+ setColour.invoke(df, Dyes.dyeLime);
+ setFuelPower.invoke(df, 512000);
+ setMaterials.invoke(df, Arrays.asList(new MaterialStack(Materials.Glyceryl, 1), new MaterialStack(Materials.Fuel, 4)));
+ setTemp.invoke(df, 295);
+ setRGB.invoke(df, 200, 255, 0);
+ Materials mNitroFix = (Materials) construct.invoke(df);
+ Logger.INFO("[Nitro] Invoked 8 method calls successfully.");
+
+ GT_Mod.gregtechproxy.addFluid("NitroFuel_Old", "Nitro Diesel [Old]", mNitroFix, 1, 295, GT_OreDictUnificator.get(OrePrefixes.cell, mNitroFix, 1L), ItemUtils.getEmptyCell(), 1000);
+ Logger.INFO("[Nitro] Added a fluid.");
+
+
+ /**
+ * Reflectively get all the values to maintain 5.08.xx compat
+ */
+
+
+ GT_Recipe_Map recipeMapMultiblockChemReactor;
+ recipeMapMultiblockChemReactor = (GT_Recipe_Map) FieldUtils.getDeclaredField(GT_Recipe_Map.class, "sMultiblockChemicalRecipes", true).get(null);
+
+
+
+ /**
+ * Do Recipe Stuff
+ */
+
+ //Set up some Variables
+ final Collection<GT_Recipe> xSingle = GT_Recipe.GT_Recipe_Map.sChemicalRecipes.mRecipeList;
+ final Collection<GT_Recipe> xMulti = recipeMapMultiblockChemReactor.mRecipeList;
+ final FluidStack mNitroStack = Materials.NitroFuel.getFluid(1000);
+ GT_Recipe toRemoveSingle[] = new GT_Recipe[99];
+ GT_Recipe toRemoveMulti[] = new GT_Recipe[99];
+ int mIndexSingle = 0;
+ int mIndexMulti = 0;
+
+ //Iterate Single Block recipes for Nitro production.
+ for (GT_Recipe rnd : xSingle){
+ for (FluidStack mOutputFluid : rnd.mFluidOutputs){
+ if (mOutputFluid.isFluidEqual(mNitroStack)){
+ toRemoveSingle[mIndexSingle++] = rnd;
+ }
+ }
+ }
+ Logger.INFO("[Nitro] Found "+mIndexSingle+" single block Chemical Reactor recipes to remove.");
+
+ //Iterate Multi Block recipes for Nitro production.
+ for (GT_Recipe rnd : xMulti){
+ for (FluidStack mOutputFluid : rnd.mFluidOutputs){
+ if (mOutputFluid.isFluidEqual(mNitroStack)){
+ toRemoveMulti[mIndexMulti++] = rnd;
+ }
+ }
+ }
+ Logger.INFO("[Nitro] Found "+mIndexMulti+" multi block Chemical Reactor recipes to remove.");
+
+ //Remove Single Block recipes found.
+ int mRemovedSingle = 0;
+ int mRemovedMulti = 0;
+ for (GT_Recipe single : toRemoveSingle){
+ if (GT_Recipe.GT_Recipe_Map.sChemicalRecipes.mRecipeList.remove(single)){
+ mRemovedSingle++;
+ }
+ }
+ Logger.INFO("[Nitro] Removed "+mRemovedSingle+" single block Chemical Reactor recipes.");
+
+ //Remove Multi Block recipes found.
+ for (GT_Recipe multi : toRemoveMulti){
+ if (recipeMapMultiblockChemReactor.mRecipeList.remove(multi)){
+ mRemovedMulti++;
+ }
+ }
+ Logger.INFO("[Nitro] Removed "+mRemovedMulti+" multi block Chemical Reactor recipes.");
+
+ Materials mGlycerol = Materials.valueOf("Glycerol");
+ Materials mLightFuel = Materials.valueOf("LightFuel");
+
+ //Build a New Recipe set
+ Materials mFuels[] = {mLightFuel, Materials.Fuel};
+ for (Materials fuel : mFuels){
+ boolean didAdd[] = new boolean[3];
+ Logger.INFO("[Nitro] Getting ready to add back in the old nitro-diesel recipe to the mixer, using "+fuel.mDefaultLocalName+" as the fuel input.");
+ didAdd[0] = GT_Values.RA.addMixerRecipe(getCells(fuel, 4), getCells(mGlycerol, 1), GT_Values.NI, GT_Values.NI, GT_Values.NF, GT_Values.NF, getCells(mNitroFix, 5), 20, 30);
+ didAdd[1] = GT_Values.RA.addMixerRecipe(getCells(fuel, 4), GT_Values.NI, GT_Values.NI, GT_Values.NI, mGlycerol.getFluid(1000L),mNitroFix.getFluid(5000L), ItemList.Cell_Empty.get(4L), 20, 30);
+ didAdd[2] = GT_Values.RA.addMixerRecipe(getCells(mGlycerol, 1), GT_Values.NI,GT_Values.NI,GT_Values.NI, fuel.getFluid(4000L),mNitroFix.getFluid(5000L), ItemList.Cell_Empty.get(1L), 20, 30);
+ Logger.INFO("[Nitro] Did the recipes add? 1: "+didAdd[0]+" | 2: "+didAdd[1]+" | 3: "+didAdd[2]);
+ }
+
+ for (Materials fuel : mFuels){
+ boolean didAdd[] = new boolean[3];
+ Logger.INFO("[Nitro] Getting ready to add back in the old nitro-diesel recipe to the chemical reactors, using "+fuel.mDefaultLocalName+" as the fuel input.");
+ didAdd[0] = GT_Values.RA.addChemicalRecipe(getCells(fuel, 4), getCells(mGlycerol, 1), GT_Values.NF, GT_Values.NF, getCells(mNitroFix, 5), 20);
+ didAdd[1] = GT_Values.RA.addChemicalRecipe(getCells(fuel, 4), GT_Values.NI, mGlycerol.getFluid(1000L),mNitroFix.getFluid(5000L), ItemList.Cell_Empty.get(4L), 20);
+ didAdd[2] = GT_Values.RA.addChemicalRecipe(getCells(mGlycerol, 1), GT_Values.NI, fuel.getFluid(4000L),mNitroFix.getFluid(5000L), ItemList.Cell_Empty.get(1L), 20);
+ Logger.INFO("[Nitro] Did the recipes add? 1: "+didAdd[0]+" | 2: "+didAdd[1]+" | 3: "+didAdd[2]);
+ }
+
+ Logger.INFO("[Nitro] Getting ready to add back in the old glycerol recipe!");
+ GT_Values.RA.addChemicalRecipe(getCells(Materials.Nitrogen, 1), getDust(Materials.Carbon, 1), Materials.Water.getFluid(2000L), mGlycerol.getFluid(3000L), ItemList.Cell_Empty.get(1), 3000);
+ Logger.INFO("[Nitro] Added recipes.");
+
+ }
+ }
+ }
+ }
+ catch (IllegalArgumentException | IllegalAccessException | InstantiationException | InvocationTargetException | NoSuchMethodException | SecurityException e) {
+ Logger.INFO("[Nitro] ================ Error ================");
+ e.printStackTrace();
+ Logger.INFO("[Nitro] ================ Error ================");
+ }
+ }
+ }
+
+
+ public static ItemStack getCells(Materials mat, int amount){
+ String mName = MaterialUtils.getMaterialName(mat);
+ return ItemUtils.getItemStackOfAmountFromOreDict("cell"+mName, amount);
+ }
+
+ public static ItemStack getDust(Materials mat, int amount){
+ String mName = MaterialUtils.getMaterialName(mat);
+ return ItemUtils.getItemStackOfAmountFromOreDict("dust"+mName, amount);
+ }
+
+
+}
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechPollutionDevices.java b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechPollutionDevices.java
new file mode 100644
index 0000000000..c470243822
--- /dev/null
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechPollutionDevices.java
@@ -0,0 +1,57 @@
+package gtPlusPlus.xmod.gregtech.registration.gregtech;
+
+import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.core.util.minecraft.gregtech.PollutionUtils;
+import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList;
+import gtPlusPlus.xmod.gregtech.common.tileentities.machines.basic.GregtechMetaAtmosphericReconditioner;
+import gtPlusPlus.xmod.gregtech.common.tileentities.machines.basic.GregtechMetaPollutionCreator;
+import gtPlusPlus.xmod.gregtech.common.tileentities.machines.basic.GregtechMetaPollutionDetector;
+
+public class GregtechPollutionDevices {
+
+ public static void run() {
+ if (gtPlusPlus.core.lib.LoadedMods.Gregtech) {
+ if (PollutionUtils.isPollutionEnabled()) {
+ Logger.INFO("Gregtech5u Content | Registering Anti-Pollution Devices.");
+ run1();
+ }
+ }
+ }
+
+ private static void run1() {
+ if (CORE.ConfigSwitches.enableMachine_Pollution){
+ // 759
+ GregtechItemList.Pollution_Detector.set(
+ new GregtechMetaPollutionDetector(756, "pollutiondetector.01.tier.single", "Pollution Detection Device",
+ 0, "Tells you if you're living in Gwalior yet.", 0).getStackForm(1L));
+ GregtechItemList.Pollution_Creator.set(new GregtechMetaPollutionCreator(951, "pollutioncreator.01.tier.single",
+ "Smog Device", 4, "Polluting the skies.", 0).getStackForm(1L));
+
+ GregtechItemList.Pollution_Cleaner_ULV.set(new GregtechMetaAtmosphericReconditioner(757,
+ "pollutioncleaner.01.tier.single", "Pollution Scrubber", 0).getStackForm(1L));
+ GregtechItemList.Pollution_Cleaner_LV.set(new GregtechMetaAtmosphericReconditioner(758,
+ "pollutioncleaner.02.tier.single", "Upgraded Pollution Scrubber", 1).getStackForm(1L));
+ GregtechItemList.Pollution_Cleaner_MV.set(new GregtechMetaAtmosphericReconditioner(759,
+ "pollutioncleaner.03.tier.single", "Advanced Pollution Scrubber", 2).getStackForm(1L));
+ GregtechItemList.Pollution_Cleaner_HV.set(new GregtechMetaAtmosphericReconditioner(760,
+ "pollutioncleaner.04.tier.single", "Precision Pollution Scrubber", 3).getStackForm(1L));
+ GregtechItemList.Pollution_Cleaner_EV.set(new GregtechMetaAtmosphericReconditioner(761,
+ "pollutioncleaner.05.tier.single", "Air Recycler", 4).getStackForm(1L));
+ GregtechItemList.Pollution_Cleaner_IV.set(new GregtechMetaAtmosphericReconditioner(762,
+ "pollutioncleaner.06.tier.single", "Upgraded Air Recycler", 5).getStackForm(1L));
+ GregtechItemList.Pollution_Cleaner_LuV.set(new GregtechMetaAtmosphericReconditioner(763,
+ "pollutioncleaner.07.tier.single", "Advanced Air Recycler", 6).getStackForm(1L));
+ GregtechItemList.Pollution_Cleaner_ZPM.set(new GregtechMetaAtmosphericReconditioner(764,
+ "pollutioncleaner.08.tier.single", "Precision Air Recycler", 7).getStackForm(1L));
+ GregtechItemList.Pollution_Cleaner_UV.set(new GregtechMetaAtmosphericReconditioner(765,
+ "pollutioncleaner.09.tier.single", "Atmospheric Cleaner", 8).getStackForm(1L));
+ GregtechItemList.Pollution_Cleaner_MAX.set(new GregtechMetaAtmosphericReconditioner(766,
+ "pollutioncleaner.10.tier.single", "Biosphere Cleanser", 9).getStackForm(1L));
+ }
+
+
+
+ }
+
+}
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechPowerBreakers.java b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechPowerBreakers.java
new file mode 100644
index 0000000000..3e9582b80a
--- /dev/null
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechPowerBreakers.java
@@ -0,0 +1,42 @@
+package gtPlusPlus.xmod.gregtech.registration.gregtech;
+
+import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList;
+import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicBreaker;
+
+public class GregtechPowerBreakers {
+
+ public static void run() {
+ if (gtPlusPlus.core.lib.LoadedMods.Gregtech) {
+ Logger.INFO("Gregtech5u Content | Registering Power Breakers.");
+ run1();
+ }
+
+ }
+
+ private static void run1() {
+ //30200
+ int aStartID = 30400;
+ GregtechItemList.BreakerBox_ULV.set((new GT_MetaTileEntity_BasicBreaker(aStartID++, "breaker.tier.00",
+ "Ultra Low Voltage Breaker Box", 0, "", 16)).getStackForm(1L));
+ GregtechItemList.BreakerBox_LV.set((new GT_MetaTileEntity_BasicBreaker(aStartID++, "breaker.tier.01",
+ "Low Voltage Breaker Box", 1, "", 16)).getStackForm(1L));
+ GregtechItemList.BreakerBox_MV.set((new GT_MetaTileEntity_BasicBreaker(aStartID++, "breaker.tier.02",
+ "Medium Voltage Breaker Box", 2, "", 16)).getStackForm(1L));
+ GregtechItemList.BreakerBox_HV.set((new GT_MetaTileEntity_BasicBreaker(aStartID++, "breaker.tier.03",
+ "High Voltage Breaker Box", 3, "", 16)).getStackForm(1L));
+ GregtechItemList.BreakerBox_EV.set((new GT_MetaTileEntity_BasicBreaker(aStartID++, "breaker.tier.04",
+ "Extreme Voltage Breaker Box", 16, "", 16)).getStackForm(1L));
+ GregtechItemList.BreakerBox_IV.set((new GT_MetaTileEntity_BasicBreaker(aStartID++, "breaker.tier.05",
+ "Insane Voltage Breaker Box", 5, "", 16)).getStackForm(1L));
+ GregtechItemList.BreakerBox_LuV.set((new GT_MetaTileEntity_BasicBreaker(aStartID++, "breaker.tier.06",
+ "Ludicrous Voltage Breaker Box", 6, "", 16)).getStackForm(1L));
+ GregtechItemList.BreakerBox_ZPM.set((new GT_MetaTileEntity_BasicBreaker(aStartID++, "breaker.tier.07",
+ "ZPM Voltage Breaker Box", 7, "", 16)).getStackForm(1L));
+ GregtechItemList.BreakerBox_UV.set((new GT_MetaTileEntity_BasicBreaker(aStartID++, "breaker.tier.08",
+ "Ultimate Voltage Breaker Box", 8, "", 16)).getStackForm(1L));
+ GregtechItemList.BreakerBox_MAX.set((new GT_MetaTileEntity_BasicBreaker(aStartID++, "breaker.tier.09",
+ "MAX Voltage Breaker Box", 9, "", 16)).getStackForm(1L));
+
+ }
+} \ No newline at end of file
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechPowerSubStation.java b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechPowerSubStation.java
new file mode 100644
index 0000000000..9e94d633f6
--- /dev/null
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechPowerSubStation.java
@@ -0,0 +1,43 @@
+package gtPlusPlus.xmod.gregtech.registration.gregtech;
+
+import gregtech.api.enums.ItemList;
+import gregtech.api.util.GT_ModHandler;
+
+import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.core.recipe.common.CI;
+import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList;
+import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_InputBattery;
+import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_OutputBattery;
+import gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.storage.GregtechMetaTileEntity_PowerSubStationController;
+
+public class GregtechPowerSubStation {
+
+ public static void run() {
+ if (gtPlusPlus.core.lib.LoadedMods.Gregtech) {
+ Logger.INFO("Gregtech5u Content | Registering Power Substation Node.");
+ if (CORE.ConfigSwitches.enableMultiblock_PowerSubstation) {
+ run1();
+ }
+ }
+
+ }
+
+ private static void run1() {
+ // Steam Condensors
+ GregtechItemList.PowerSubStation.set(new GregtechMetaTileEntity_PowerSubStationController(812,
+ "substation.01.input.single", "Power Station Control Node").getStackForm(1L));
+ int tID = 886;
+ GregtechItemList.Hatch_Input_Battery_MV.set(new GT_MetaTileEntity_Hatch_InputBattery(tID++, "hatch.input_battery.tier.00", "Charging Bus (MV)", 2).getStackForm(1L));
+ GregtechItemList.Hatch_Input_Battery_EV.set(new GT_MetaTileEntity_Hatch_InputBattery(tID++, "hatch.input_battery.tier.01", "Charging Bus (EV)", 4).getStackForm(1L));
+
+ GregtechItemList.Hatch_Output_Battery_MV.set(new GT_MetaTileEntity_Hatch_OutputBattery(tID++, "hatch.output_battery.tier.00", "Discharging Bus (MV)", 2).getStackForm(1L));
+ GregtechItemList.Hatch_Output_Battery_EV.set(new GT_MetaTileEntity_Hatch_OutputBattery(tID++, "hatch.output_battery.tier.01", "Discharging Bus (EV)", 4).getStackForm(1L));
+
+ GT_ModHandler.addCraftingRecipe(GregtechItemList.Hatch_Input_Battery_MV.get(1L, new Object[0]), CI.bitsd, new Object[]{"C", "M", 'M', ItemList.Hull_MV, 'C', ItemList.Battery_Buffer_2by2_MV});
+ GT_ModHandler.addCraftingRecipe(GregtechItemList.Hatch_Input_Battery_EV.get(1L, new Object[0]), CI.bitsd, new Object[]{"C", "M", 'M', ItemList.Hull_EV, 'C', ItemList.Battery_Buffer_4by4_EV});
+ GT_ModHandler.addCraftingRecipe(GregtechItemList.Hatch_Output_Battery_MV.get(1L, new Object[0]), CI.bitsd, new Object[]{"M", "C", 'M', ItemList.Hull_MV, 'C', ItemList.Battery_Buffer_2by2_MV});
+ GT_ModHandler.addCraftingRecipe(GregtechItemList.Hatch_Output_Battery_EV.get(1L, new Object[0]), CI.bitsd, new Object[]{"M", "C", 'M', ItemList.Hull_EV, 'C', ItemList.Battery_Buffer_4by4_EV});
+
+ }
+}
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechRTG.java b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechRTG.java
new file mode 100644
index 0000000000..a7332657ce
--- /dev/null
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechRTG.java
@@ -0,0 +1,22 @@
+package gtPlusPlus.xmod.gregtech.registration.gregtech;
+
+import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList;
+import gtPlusPlus.xmod.gregtech.common.tileentities.generators.GregtechMetaTileEntity_RTG;
+
+public class GregtechRTG {
+
+ public static void run() {
+ if (gtPlusPlus.core.lib.LoadedMods.Gregtech) {
+ Logger.INFO("Gregtech5u Content | Registering RTG.");
+ run1();
+ }
+ }
+
+ private static void run1() {
+ GregtechItemList.RTG.set(
+ new GregtechMetaTileEntity_RTG(869, "basicgenerator.rtg.tier.01", "Radioisotope Thermoelectric Generator", 3)
+ .getStackForm(1L));
+ }
+
+}
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechRocketFuelGenerator.java b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechRocketFuelGenerator.java
new file mode 100644
index 0000000000..5a7d3a50d7
--- /dev/null
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechRocketFuelGenerator.java
@@ -0,0 +1,128 @@
+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.CORE;
+import gtPlusPlus.core.lib.LoadedMods;
+import gtPlusPlus.core.material.ALLOY;
+import gtPlusPlus.core.recipe.common.CI;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
+import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList;
+import gtPlusPlus.xmod.gregtech.common.tileentities.generators.GregtechMetaTileEntityRocketFuelGenerator;
+import gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.production.GregtechMetaTileEntity_LargeRocketEngine;
+
+public class GregtechRocketFuelGenerator {
+
+ public static void run() {
+ if (LoadedMods.Gregtech) {
+ Logger.INFO("Gregtech5u Content | Registering Industrial Rocket Engines.");
+ if (CORE.ConfigSwitches.enableMachine_RocketEngines) {
+ run1();
+ }
+ }
+
+ }
+
+ private static void run1() {
+ GregtechItemList.Controller_RocketEngine.set(
+ new GregtechMetaTileEntity_LargeRocketEngine(996, "gtpp.multimachine.rocketengine", "Rocketdyne F-1A Engine").getStackForm(1L));
+
+
+ ItemList aDieselEngine = ItemUtils.getValueOfItemList("Machine_Multi_DieselEngine", ItemList.Machine_Multi_LargeBoiler_TungstenSteel);
+
+ GT_ModHandler.addCraftingRecipe(
+ GregtechItemList.Controller_RocketEngine.get(1L),
+ CI.bitsd,
+ new Object[]{
+ "PCP", "EME", "GWG",
+ 'M', aDieselEngine,
+ 'P', ItemList.Electric_Piston_IV,
+ 'E', ItemList.Field_Generator_EV,
+ 'C', OrePrefixes.circuit.get(Materials.Master),
+ 'W', OrePrefixes.cableGt08.get(Materials.Platinum),
+ 'G', ALLOY.MARAGING350.getGear(1)});
+
+ GT_ModHandler.addCraftingRecipe(
+ GregtechItemList.Casing_RocketEngine.get(1L),
+ CI.bitsd,
+ new Object[]{
+ "PhP", "RFR", "PWP",
+ 'R', OrePrefixes.pipeLarge.get(Materials.TungstenSteel),
+ 'F', ItemList.Casing_RobustTungstenSteel,
+ 'P', ALLOY.NITINOL_60.getGear(1)});
+
+ GregtechItemList.Rocket_Engine_EV.set(new GregtechMetaTileEntityRocketFuelGenerator(793,
+ "advancedgenerator.rocketFuel.tier.01", "Basic Rocket Engine", 4).getStackForm(1L));
+ GregtechItemList.Rocket_Engine_IV.set(new GregtechMetaTileEntityRocketFuelGenerator(794,
+ "advancedgenerator.rocketFuel.tier.02", "Advanced Rocket Engine", 5).getStackForm(1L));
+ GregtechItemList.Rocket_Engine_LuV.set(new GregtechMetaTileEntityRocketFuelGenerator(795,
+ "advancedgenerator.rocketFuel.tier.03", "Turbo Rocket Engine", 6).getStackForm(1L));
+ if (!CORE.GTNH) {
+ GT_ModHandler.addCraftingRecipe(GregtechItemList.Rocket_Engine_EV.get(1L, new Object[0]),
+ GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE
+ | GT_ModHandler.RecipeBits.REVERSIBLE | GT_ModHandler.RecipeBits.BUFFERED,
+ new Object[]{"PCP", "EME", "GWG", Character.valueOf('M'), ItemList.Hull_EV, Character.valueOf('P'),
+ ItemList.Electric_Piston_EV, Character.valueOf('E'), ItemList.Electric_Motor_EV,
+ Character.valueOf('C'), OrePrefixes.circuit.get(Materials.Ultimate), Character.valueOf('W'),
+ OrePrefixes.cableGt02.get(Materials.Aluminium), Character.valueOf('G'),
+ ALLOY.TANTALLOY_61.getGear(1)});
+
+ GT_ModHandler.addCraftingRecipe(GregtechItemList.Rocket_Engine_IV.get(1L, new Object[0]),
+ GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE
+ | GT_ModHandler.RecipeBits.REVERSIBLE | GT_ModHandler.RecipeBits.BUFFERED,
+ new Object[]{"PCP", "EME", "GWG", Character.valueOf('M'), ItemList.Hull_IV, Character.valueOf('P'),
+ ItemList.Electric_Piston_IV, Character.valueOf('E'), ItemList.Electric_Motor_IV,
+ Character.valueOf('C'), OrePrefixes.circuit.get(Materials.Superconductor),
+ Character.valueOf('W'), OrePrefixes.cableGt02.get(Materials.Platinum), Character.valueOf('G'),
+ ALLOY.STELLITE.getGear(1)});
+ }
+ if (CORE.GTNH) {
+ GT_ModHandler.addCraftingRecipe(GregtechItemList.Rocket_Engine_EV.get(1L, new Object[0]),
+ GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE
+ | GT_ModHandler.RecipeBits.REVERSIBLE | GT_ModHandler.RecipeBits.BUFFERED,
+ new Object[]{"PCP", "EME", "GWG", Character.valueOf('M'), ItemList.Hull_EV, Character.valueOf('P'),
+ ItemList.Electric_Piston_EV, Character.valueOf('E'), ItemList.Electric_Motor_EV,
+ Character.valueOf('C'), OrePrefixes.circuit.get(Materials.Elite), Character.valueOf('W'),
+ OrePrefixes.cableGt02.get(Materials.Aluminium), Character.valueOf('G'),
+ ALLOY.TANTALLOY_61.getGear(1)});
+
+ GT_ModHandler.addCraftingRecipe(GregtechItemList.Rocket_Engine_IV.get(1L, new Object[0]),
+ GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE
+ | GT_ModHandler.RecipeBits.REVERSIBLE | GT_ModHandler.RecipeBits.BUFFERED,
+ new Object[]{"PCP", "EME", "GWG", Character.valueOf('M'), ItemList.Hull_IV, Character.valueOf('P'),
+ ItemList.Electric_Piston_IV, Character.valueOf('E'), ItemList.Electric_Motor_IV,
+ Character.valueOf('C'), OrePrefixes.circuit.get(Materials.Master),
+ Character.valueOf('W'), OrePrefixes.cableGt02.get(Materials.Platinum), Character.valueOf('G'),
+ ALLOY.STELLITE.getGear(1)});
+ }
+ final ItemStack INGREDIENT_1 = CI.electricPiston_LuV;
+ final ItemStack INGREDIENT_2 = CI.electricMotor_LuV;
+ if (!CORE.GTNH) {
+ GT_ModHandler.addCraftingRecipe(GregtechItemList.Rocket_Engine_LuV.get(1L, new Object[0]),
+ GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE
+ | GT_ModHandler.RecipeBits.REVERSIBLE | GT_ModHandler.RecipeBits.BUFFERED,
+ new Object[]{"PCP", "EME", "GWG", Character.valueOf('M'), ItemList.Hull_LuV, Character.valueOf('P'),
+ INGREDIENT_1, Character.valueOf('E'), INGREDIENT_2, Character.valueOf('C'),
+ OrePrefixes.circuit.get(Materials.Infinite), Character.valueOf('W'),
+ OrePrefixes.cableGt02.get(Materials.Tungsten), Character.valueOf('G'),
+ ALLOY.ZERON_100.getGear(1)});
+ }
+ if (CORE.GTNH) {
+ GT_ModHandler.addCraftingRecipe(GregtechItemList.Rocket_Engine_LuV.get(1L, new Object[0]),
+ GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE
+ | GT_ModHandler.RecipeBits.REVERSIBLE | GT_ModHandler.RecipeBits.BUFFERED,
+ new Object[]{"PCP", "EME", "GWG", Character.valueOf('M'), ItemList.Hull_LuV, Character.valueOf('P'),
+ INGREDIENT_1, Character.valueOf('E'), INGREDIENT_2, Character.valueOf('C'),
+ OrePrefixes.circuit.get(Materials.Ultimate), Character.valueOf('W'),
+ OrePrefixes.cableGt02.get(Materials.Tungsten), Character.valueOf('G'),
+ ALLOY.ZERON_100.getGear(1)});
+ }
+ }
+}
+
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechSafeBlock.java b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechSafeBlock.java
new file mode 100644
index 0000000000..124b5d114d
--- /dev/null
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechSafeBlock.java
@@ -0,0 +1,118 @@
+package gtPlusPlus.xmod.gregtech.registration.gregtech;
+
+import gregtech.api.enums.*;
+import gregtech.api.util.GT_ModHandler;
+
+import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList;
+import gtPlusPlus.xmod.gregtech.common.tileentities.storage.GregtechMetaSafeBlock;
+
+public class GregtechSafeBlock {
+ public static void run() {
+ if (gtPlusPlus.core.lib.LoadedMods.Gregtech) {
+ Logger.INFO("Gregtech5u Content | Registering Lockable Safe Blocks.");
+ if (CORE.ConfigSwitches.enableMachine_Safes) {
+ run1();
+ }
+ }
+
+ }
+
+ private static void run1() {
+
+ GregtechItemList.GT_Safe_ULV
+ .set(new GregtechMetaSafeBlock(780, "protection.playersafe.tier.00", "Ultra Low Voltage Player Safe", 0)
+ .getStackForm(1L));
+ GregtechItemList.GT_Safe_LV
+ .set(new GregtechMetaSafeBlock(781, "protection.playersafe.tier.01", "Low Voltage Player Safe", 1)
+ .getStackForm(1L));
+ GregtechItemList.GT_Safe_MV
+ .set(new GregtechMetaSafeBlock(782, "protection.playersafe.tier.02", "Medium Voltage Player Safe", 2)
+ .getStackForm(1L));
+ GregtechItemList.GT_Safe_HV
+ .set(new GregtechMetaSafeBlock(783, "protection.playersafe.tier.03", "High Voltage Player Safe", 3)
+ .getStackForm(1L));
+ GregtechItemList.GT_Safe_EV
+ .set(new GregtechMetaSafeBlock(784, "protection.playersafe.tier.04", "Extreme Voltage Player Safe", 4)
+ .getStackForm(1L));
+ GregtechItemList.GT_Safe_IV
+ .set(new GregtechMetaSafeBlock(785, "protection.playersafe.tier.05", "Insane Voltage Player Safe", 5)
+ .getStackForm(1L));
+ GregtechItemList.GT_Safe_LuV
+ .set(new GregtechMetaSafeBlock(786, "protection.playersafe.tier.06", "Ludicrous Voltage Player Safe", 6)
+ .getStackForm(1L));
+ GregtechItemList.GT_Safe_ZPM
+ .set(new GregtechMetaSafeBlock(787, "protection.playersafe.tier.07", "ZPM Voltage Player Safe", 7)
+ .getStackForm(1L));
+ GregtechItemList.GT_Safe_UV
+ .set(new GregtechMetaSafeBlock(788, "protection.playersafe.tier.08", "Ultimate Voltage Player Safe", 8)
+ .getStackForm(1L));
+ GregtechItemList.GT_Safe_MAX
+ .set(new GregtechMetaSafeBlock(789, "protection.playersafe.tier.09", "MAX Voltage Player Safe", 9)
+ .getStackForm(1L));
+
+ // To-Do Change Recipes
+ GT_ModHandler.addCraftingRecipe(GregtechItemList.GT_Safe_ULV.get(1L, new Object[0]),
+ GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE
+ | GT_ModHandler.RecipeBits.REVERSIBLE | GT_ModHandler.RecipeBits.BUFFERED,
+ new Object[] { "CMV", " X ", Character.valueOf('M'), ItemList.Hull_ULV, Character.valueOf('V'),
+ OrePrefixes.circuit.get(Materials.Basic), Character.valueOf('C'), OreDictNames.craftingChest,
+ Character.valueOf('X'), OrePrefixes.circuit.get(Materials.Basic) });
+ GT_ModHandler.addCraftingRecipe(GregtechItemList.GT_Safe_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[] { "CMV", " X ", Character.valueOf('M'), ItemList.Hull_LV, Character.valueOf('V'),
+ OrePrefixes.circuit.get(Materials.Basic), Character.valueOf('C'), OreDictNames.craftingChest,
+ Character.valueOf('X'), OrePrefixes.circuit.get(Materials.Good) });
+ GT_ModHandler.addCraftingRecipe(GregtechItemList.GT_Safe_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[] { "CMV", " X ", Character.valueOf('M'), ItemList.Hull_MV, Character.valueOf('V'),
+ OrePrefixes.circuit.get(Materials.Good), Character.valueOf('C'), OreDictNames.craftingChest,
+ Character.valueOf('X'), OrePrefixes.circuit.get(Materials.Good) });
+ GT_ModHandler.addCraftingRecipe(GregtechItemList.GT_Safe_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[] { "CMV", " X ", Character.valueOf('M'), ItemList.Hull_HV, Character.valueOf('V'),
+ OrePrefixes.circuit.get(Materials.Good), Character.valueOf('C'), OreDictNames.craftingChest,
+ Character.valueOf('X'), OrePrefixes.circuit.get(Materials.Advanced) });
+ GT_ModHandler.addCraftingRecipe(GregtechItemList.GT_Safe_EV.get(1L, new Object[0]),
+ GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE
+ | GT_ModHandler.RecipeBits.REVERSIBLE | GT_ModHandler.RecipeBits.BUFFERED,
+ new Object[] { "CMV", " X ", Character.valueOf('M'), ItemList.Hull_EV, Character.valueOf('V'),
+ OrePrefixes.circuit.get(Materials.Advanced), Character.valueOf('C'), OreDictNames.craftingChest,
+ Character.valueOf('X'), OrePrefixes.circuit.get(Materials.Elite) });
+ GT_ModHandler.addCraftingRecipe(GregtechItemList.GT_Safe_IV.get(1L, new Object[0]),
+ GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE
+ | GT_ModHandler.RecipeBits.REVERSIBLE | GT_ModHandler.RecipeBits.BUFFERED,
+ new Object[] { "CMV", " X ", Character.valueOf('M'), ItemList.Hull_IV, Character.valueOf('V'),
+ OrePrefixes.circuit.get(Materials.Advanced), Character.valueOf('C'), OreDictNames.craftingChest,
+ Character.valueOf('X'), OrePrefixes.circuit.get(Materials.Master) });
+ GT_ModHandler.addCraftingRecipe(GregtechItemList.GT_Safe_LuV.get(1L, new Object[0]),
+ GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE
+ | GT_ModHandler.RecipeBits.REVERSIBLE | GT_ModHandler.RecipeBits.BUFFERED,
+ new Object[] { "CMV", " X ", Character.valueOf('M'), ItemList.Hull_LuV, Character.valueOf('V'),
+ OrePrefixes.circuit.get(Materials.Elite), Character.valueOf('C'), OreDictNames.craftingChest,
+ Character.valueOf('X'), OrePrefixes.circuit.get(Materials.Master) });
+ GT_ModHandler.addCraftingRecipe(GregtechItemList.GT_Safe_ZPM.get(1L, new Object[0]),
+ GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE
+ | GT_ModHandler.RecipeBits.REVERSIBLE | GT_ModHandler.RecipeBits.BUFFERED,
+ new Object[] { "CMV", " X ", Character.valueOf('M'), ItemList.Hull_ZPM, Character.valueOf('V'),
+ OrePrefixes.circuit.get(Materials.Elite), Character.valueOf('C'), OreDictNames.craftingChest,
+ Character.valueOf('X'), OrePrefixes.circuit.get(Materials.Master) });
+ GT_ModHandler.addCraftingRecipe(GregtechItemList.GT_Safe_UV.get(1L, new Object[0]),
+ GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE
+ | GT_ModHandler.RecipeBits.REVERSIBLE | GT_ModHandler.RecipeBits.BUFFERED,
+ new Object[] { "CMV", " X ", Character.valueOf('M'), ItemList.Hull_UV, Character.valueOf('V'),
+ OrePrefixes.circuit.get(Materials.Master), Character.valueOf('C'), OreDictNames.craftingChest,
+ Character.valueOf('X'), OrePrefixes.circuit.get(Materials.Superconductor) });
+ GT_ModHandler.addCraftingRecipe(GregtechItemList.GT_Safe_MAX.get(1L, new Object[0]),
+ GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE
+ | GT_ModHandler.RecipeBits.REVERSIBLE | GT_ModHandler.RecipeBits.BUFFERED,
+ new Object[] { "CMV", " X ", Character.valueOf('M'), ItemList.Hull_MAX, Character.valueOf('V'),
+ OrePrefixes.circuit.get(Materials.Master), Character.valueOf('C'), OreDictNames.craftingChest,
+ Character.valueOf('X'), OrePrefixes.circuit.get(Materials.Infinite) });
+
+ }
+}
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechSemiFluidgenerators.java b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechSemiFluidgenerators.java
new file mode 100644
index 0000000000..6b38415db1
--- /dev/null
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechSemiFluidgenerators.java
@@ -0,0 +1,20 @@
+package gtPlusPlus.xmod.gregtech.registration.gregtech;
+
+import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList;
+import gtPlusPlus.xmod.gregtech.common.tileentities.generators.GT_MetaTileEntity_SemiFluidGenerator;
+import gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.production.GregtechMetaTileEntity_LargeSemifluidGenerator;
+
+public class GregtechSemiFluidgenerators {
+
+ public static void run(){
+ GregtechItemList.Generator_SemiFluid_LV.set(new GT_MetaTileEntity_SemiFluidGenerator(837, "basicgenerator.semifluid.tier.01",
+ "Basic Semi-Fluid Generator", 1).getStackForm(1L));
+ GregtechItemList.Generator_SemiFluid_MV.set(new GT_MetaTileEntity_SemiFluidGenerator(838, "basicgenerator.semifluid.tier.02",
+ "Advanced Semi-Fluid Generator", 2).getStackForm(1L));
+ GregtechItemList.Generator_SemiFluid_HV.set(new GT_MetaTileEntity_SemiFluidGenerator(839, "basicgenerator.semifluid.tier.03",
+ "Turbo Semi-Fluid Generator", 3).getStackForm(1L));
+ GregtechItemList.Controller_LargeSemifluidGenerator.set(new GregtechMetaTileEntity_LargeSemifluidGenerator(31026, "gtpp.multimachine.semifluidgenerator", "Large Semifluid Burner").getStackForm(1L));
+
+ }
+
+}
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechSimpleWasher.java b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechSimpleWasher.java
new file mode 100644
index 0000000000..d2087b22f4
--- /dev/null
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechSimpleWasher.java
@@ -0,0 +1,109 @@
+package gtPlusPlus.xmod.gregtech.registration.gregtech;
+
+import net.minecraft.item.ItemStack;
+
+import gregtech.api.enums.Materials;
+import gregtech.api.enums.OrePrefixes;
+import gregtech.api.util.GT_OreDictUnificator;
+import gregtech.api.util.GTPP_Recipe;
+
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.core.util.minecraft.FluidUtils;
+import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList;
+import gtPlusPlus.xmod.gregtech.common.tileentities.machines.basic.GregtechMetaTileEntity_BasicWasher;
+import net.minecraftforge.fluids.FluidStack;
+
+public class GregtechSimpleWasher {
+
+ public static void run() {
+ if (CORE.ConfigSwitches.enableMachine_SimpleWasher){
+ generateDirtyDustRecipes();
+ generateDirtyCrushedRecipes();
+ // Register the Simple Washer Entity.
+ GregtechItemList.SimpleDustWasher_ULV
+ .set(new GregtechMetaTileEntity_BasicWasher(767, "simplewasher.01.tier.01", "Simple Washer I", 0)
+ .getStackForm(1L));
+
+ //People want them in higher tiers apparently
+ GregtechItemList.SimpleDustWasher_MV
+ .set(new GregtechMetaTileEntity_BasicWasher(31017, "simplewasher.01.tier.02", "Simple Washer II", 2)
+ .getStackForm(1L));
+ GregtechItemList.SimpleDustWasher_EV
+ .set(new GregtechMetaTileEntity_BasicWasher(31018, "simplewasher.01.tier.03", "Simple Washer III", 4)
+ .getStackForm(1L));
+ GregtechItemList.SimpleDustWasher_LuV
+ .set(new GregtechMetaTileEntity_BasicWasher(31019, "simplewasher.01.tier.04", "Simple Washer IV", 6)
+ .getStackForm(1L));
+ GregtechItemList.SimpleDustWasher_UV
+ .set(new GregtechMetaTileEntity_BasicWasher(31020, "simplewasher.01.tier.05", "Simple Washer V", 8)
+ .getStackForm(1L));
+ }
+ }
+
+ private static boolean generateDirtyDustRecipes(){
+ boolean disablePlat = CORE.GTNH;
+ int mRecipeCount = 0;
+ // Generate Recipe Map for the Dust Washer.
+ ItemStack dustClean;
+ ItemStack dustDirty;
+ for (Materials v : Materials.values()) {
+ if (disablePlat) {
+ if (v == Materials.Platinum || v == Materials.Osmium || v == Materials.Iridium || v == Materials.Palladium) {
+ continue;
+ }
+ }
+
+ dustClean = GT_OreDictUnificator.get(OrePrefixes.dust, v, 1L);
+ dustDirty = GT_OreDictUnificator.get(OrePrefixes.dustImpure, v, 1L);
+ if (dustClean != null && dustDirty != null) {
+ GTPP_Recipe aRecipe = new GTPP_Recipe(
+ false,
+ new ItemStack[] { dustDirty },
+ new ItemStack[] { dustClean },
+ null,
+ new int[] {},
+ new FluidStack[] { FluidUtils.getFluidStack("water", 100) },
+ new FluidStack[] {},
+ 5,
+ 8,
+ 0);
+ GTPP_Recipe.GTPP_Recipe_Map.sSimpleWasherRecipes.addRecipe(aRecipe);
+ }
+ }
+
+ if (GTPP_Recipe.GTPP_Recipe_Map.sSimpleWasherRecipes.mRecipeList.size() > mRecipeCount){
+ return true;
+ }
+ return false;
+ }
+
+ private static boolean generateDirtyCrushedRecipes(){
+ int mRecipeCount = GTPP_Recipe.GTPP_Recipe_Map.sSimpleWasherRecipes.mRecipeList.size();
+ // Generate Recipe Map for the Dust Washer.
+ ItemStack crushedClean;
+ ItemStack crushedDirty;
+ for (Materials v : Materials.values()) {
+ crushedClean = GT_OreDictUnificator.get(OrePrefixes.crushedPurified, v, 1L);
+ crushedDirty = GT_OreDictUnificator.get(OrePrefixes.crushed, v, 1L);
+ if (crushedClean != null && crushedDirty != null) {
+ GTPP_Recipe aRecipe = new GTPP_Recipe(
+ false,
+ new ItemStack[] { crushedDirty },
+ new ItemStack[] { crushedClean },
+ null,
+ new int[] {},
+ new FluidStack[] { FluidUtils.getFluidStack("water", 100) },
+ new FluidStack[] {},
+ 5,
+ 8,
+ 0);
+ GTPP_Recipe.GTPP_Recipe_Map.sSimpleWasherRecipes.addRecipe(aRecipe);
+ }
+ }
+
+ if (GTPP_Recipe.GTPP_Recipe_Map.sSimpleWasherRecipes.mRecipeList.size() > mRecipeCount){
+ return true;
+ }
+ return false;
+ }
+}
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechSolarGenerators.java b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechSolarGenerators.java
new file mode 100644
index 0000000000..45f78d660b
--- /dev/null
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechSolarGenerators.java
@@ -0,0 +1,49 @@
+package gtPlusPlus.xmod.gregtech.registration.gregtech;
+
+import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.core.lib.CORE.ConfigSwitches;
+import gtPlusPlus.core.lib.LoadedMods;
+import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList;
+import gtPlusPlus.xmod.gregtech.common.tileentities.generators.GregtechMetaTileEntitySolarGenerator;
+
+public class GregtechSolarGenerators {
+ public static void run() {
+ if (LoadedMods.Gregtech && ConfigSwitches.enableMachine_SolarGenerators) {
+ Logger.INFO("Gregtech5u Content | Registering Solar Generator Blocks.");
+ if (CORE.ConfigSwitches.enableMachine_SolarGenerators) {
+ run1();
+ }
+ }
+
+ }
+
+ private static void run1() {
+
+ GregtechItemList.GT_Solar_ULV.set(new GregtechMetaTileEntitySolarGenerator(800, "sunabsorber.tier.00",
+ "Ultra Low Voltage Solar Generator", 0).getStackForm(1L));
+ GregtechItemList.GT_Solar_LV.set(
+ new GregtechMetaTileEntitySolarGenerator(801, "sunabsorber.tier.01", "Low Voltage Solar Generator", 1)
+ .getStackForm(1L));
+ GregtechItemList.GT_Solar_MV.set(new GregtechMetaTileEntitySolarGenerator(802, "sunabsorber.tier.02",
+ "Medium Voltage Solar Generator", 2).getStackForm(1L));
+ GregtechItemList.GT_Solar_HV.set(
+ new GregtechMetaTileEntitySolarGenerator(803, "sunabsorber.tier.03", "High Voltage Solar Generator", 3)
+ .getStackForm(1L));
+ GregtechItemList.GT_Solar_EV.set(new GregtechMetaTileEntitySolarGenerator(804, "sunabsorber.tier.04",
+ "Extreme Voltage Solar Generator", 4).getStackForm(1L));
+ GregtechItemList.GT_Solar_IV.set(new GregtechMetaTileEntitySolarGenerator(805, "sunabsorber.tier.05",
+ "Insane Voltage Solar Generator", 5).getStackForm(1L));
+ GregtechItemList.GT_Solar_LuV.set(new GregtechMetaTileEntitySolarGenerator(806, "sunabsorber.tier.06",
+ "Ludicrous Voltage Solar Generator", 6).getStackForm(1L));
+ GregtechItemList.GT_Solar_ZPM.set(
+ new GregtechMetaTileEntitySolarGenerator(807, "sunabsorber.tier.07", "ZPM Voltage Solar Generator", 7)
+ .getStackForm(1L));
+ GregtechItemList.GT_Solar_UV.set(new GregtechMetaTileEntitySolarGenerator(808, "sunabsorber.tier.08",
+ "Ultimate Voltage Solar Generator", 8).getStackForm(1L));
+ GregtechItemList.GT_Solar_MAX.set(
+ new GregtechMetaTileEntitySolarGenerator(809, "sunabsorber.tier.09", "MAX Voltage Solar Generator", 9)
+ .getStackForm(1L));
+
+ }
+}
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechSolarTower.java b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechSolarTower.java
new file mode 100644
index 0000000000..d7f8f7f4d5
--- /dev/null
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechSolarTower.java
@@ -0,0 +1,32 @@
+/*
+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.GregtechMetaTileEntity_SolarTower;
+import gtPlusPlus.xmod.gregtech.common.tileentities.misc.TileEntitySolarHeater;
+
+public class GregtechSolarTower {
+
+ public static void run() {
+ if (gtPlusPlus.core.lib.LoadedMods.Gregtech) {
+ Logger.INFO("Gregtech5u Content | Registering Solar Tower.");
+ run1();
+ }
+
+ }
+
+ private static void run1() {
+ // Solar Tower
+ GregtechItemList.Industrial_Solar_Tower.set(new GregtechMetaTileEntity_SolarTower(863, "solartower.controller.tier.single", "Solar Tower").getStackForm(1L));
+ GregtechItemList.Solar_Tower_Reflector.set(
+ new TileEntitySolarHeater(
+ 864,
+ "solarreflector.simple.single",
+ "Solar Reflector",
+ 8,
+ "Part of the Clean Green energy movement",
+ 0).getStackForm(1L));
+
+ }
+}*/
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechSteamCondenser.java b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechSteamCondenser.java
new file mode 100644
index 0000000000..60e6b31936
--- /dev/null
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechSteamCondenser.java
@@ -0,0 +1,26 @@
+package gtPlusPlus.xmod.gregtech.registration.gregtech;
+
+import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList;
+import gtPlusPlus.xmod.gregtech.common.tileentities.machines.basic.GregtechMetaCondensor;
+
+public class GregtechSteamCondenser {
+
+ public static void run() {
+ if (gtPlusPlus.core.lib.LoadedMods.Gregtech) {
+ Logger.INFO("Gregtech5u Content | Registering Steam Condensor.");
+ if (CORE.ConfigSwitches.enableMachine_SteamConverter) {
+ run1();
+ }
+ }
+
+ }
+
+ private static void run1() {
+ // Steam Condensors
+ GregtechItemList.Condensor_MAX.set(
+ new GregtechMetaCondensor(769, "steamcondensor.01.tier.single", "Steam Condensor").getStackForm(1L));
+
+ }
+}
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechSteamMultis.java b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechSteamMultis.java
new file mode 100644
index 0000000000..add0400d87
--- /dev/null
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechSteamMultis.java
@@ -0,0 +1,22 @@
+package gtPlusPlus.xmod.gregtech.registration.gregtech;
+
+import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList;
+import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Steam_BusInput;
+import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Steam_BusOutput;
+import gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.processing.steam.GregtechMetaTileEntity_SteamMacerator;
+
+public class GregtechSteamMultis {
+
+ public static void run(){
+
+ Logger.INFO("Gregtech5u Content | Registering Steam Multiblocks.");
+
+ GregtechItemList.Controller_SteamMaceratorMulti.set(new GregtechMetaTileEntity_SteamMacerator(31041, "gtpp.multimachine.steam.macerator", "Steam Grinder").getStackForm(1L));
+
+ GregtechItemList.Hatch_Input_Bus_Steam.set(new GT_MetaTileEntity_Hatch_Steam_BusInput(31046, "hatch.input_bus.tier.steam", "Input Bus (Steam)", 0).getStackForm(1L));
+ GregtechItemList.Hatch_Output_Bus_Steam.set(new GT_MetaTileEntity_Hatch_Steam_BusOutput(31047, "hatch.output_bus.tier.steam", "Output Bus (Steam)", 0).getStackForm(1L));
+
+ }
+
+}
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechSuperChests.java b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechSuperChests.java
new file mode 100644
index 0000000000..5027e2d6e8
--- /dev/null
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechSuperChests.java
@@ -0,0 +1,73 @@
+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.lib.CORE;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
+import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList;
+import gtPlusPlus.xmod.gregtech.common.tileentities.storage.GT_MetaTileEntity_ConnectableCrate;
+import gtPlusPlus.xmod.gregtech.common.tileentities.storage.GT_MetaTileEntity_TieredChest;
+
+public class GregtechSuperChests {
+
+ public static void run() {
+ int mId = 946;
+
+ String aSuffix = "";
+ if (CORE.GTNH) {
+ aSuffix = " [Disabled]";
+ }
+
+ GregtechItemList.Super_Chest_LV.set((new GT_MetaTileEntity_TieredChest(mId++, "super.chest.gtpp.tier.01", "Super Chest I"+aSuffix, 1)).getStackForm(1L));
+ GregtechItemList.Super_Chest_MV.set((new GT_MetaTileEntity_TieredChest(mId++, "super.chest.gtpp.tier.02", "Super Chest II"+aSuffix, 2)).getStackForm(1L));
+ GregtechItemList.Super_Chest_HV.set((new GT_MetaTileEntity_TieredChest(mId++, "super.chest.gtpp.tier.03", "Super Chest III"+aSuffix, 3)).getStackForm(1L));
+ GregtechItemList.Super_Chest_EV.set((new GT_MetaTileEntity_TieredChest(mId++, "super.chest.gtpp.tier.04", "Super Chest IV"+aSuffix, 4)).getStackForm(1L));
+ GregtechItemList.Super_Chest_IV.set((new GT_MetaTileEntity_TieredChest(mId++, "super.chest.gtpp.tier.05", "Super Chest V"+aSuffix, 5)).getStackForm(1L));
+
+ // Do not add Recipes for GTNH, hide them from NEI instead.
+ if (CORE.GTNH) {
+ ItemUtils.hideItemFromNEI(GregtechItemList.Super_Chest_LV.get(1L));
+ ItemUtils.hideItemFromNEI(GregtechItemList.Super_Chest_MV.get(1L));
+ ItemUtils.hideItemFromNEI(GregtechItemList.Super_Chest_HV.get(1L));
+ ItemUtils.hideItemFromNEI(GregtechItemList.Super_Chest_EV.get(1L));
+ ItemUtils.hideItemFromNEI(GregtechItemList.Super_Chest_IV.get(1L));
+ }
+ else {
+ GT_ModHandler.addCraftingRecipe(GregtechItemList.Super_Chest_LV.get(1L, new Object[0]), bitsd,
+ new Object[]{"DPD", "PMP", "DGD", Character.valueOf('M'), ItemList.Hull_LV, Character.valueOf('G'),
+ ItemList.Automation_ChestBuffer_LV, Character.valueOf('D'),
+ OrePrefixes.circuit.get(Materials.Basic), Character.valueOf('P'),
+ OrePrefixes.plate.get(Materials.Invar)});
+
+ GT_ModHandler.addCraftingRecipe(GregtechItemList.Super_Chest_MV.get(1L, new Object[0]), bitsd,
+ new Object[]{"DPD", "PMP", "DGD", Character.valueOf('M'), ItemList.Hull_MV, Character.valueOf('G'),
+ ItemList.Automation_ChestBuffer_MV, Character.valueOf('D'), OrePrefixes.circuit.get(Materials.Good),
+ Character.valueOf('P'), OrePrefixes.plate.get(Materials.Aluminium)});
+
+ GT_ModHandler.addCraftingRecipe(GregtechItemList.Super_Chest_HV.get(1L, new Object[0]), bitsd,
+ new Object[]{"DPD", "PMP", "DGD", Character.valueOf('M'), ItemList.Hull_HV, Character.valueOf('G'),
+ ItemList.Automation_ChestBuffer_HV, Character.valueOf('D'), OrePrefixes.circuit.get(Materials.Advanced),
+ Character.valueOf('P'), OrePrefixes.plate.get(Materials.StainlessSteel)});
+
+ GT_ModHandler.addCraftingRecipe(GregtechItemList.Super_Chest_EV.get(1L, new Object[0]), bitsd,
+ new Object[]{"DPD", "PMP", "DGD", Character.valueOf('M'), ItemList.Hull_EV, Character.valueOf('G'),
+ ItemList.Automation_ChestBuffer_EV, Character.valueOf('D'), OrePrefixes.circuit.get(Materials.Data),
+ Character.valueOf('P'), OrePrefixes.plate.get(Materials.Titanium)});
+
+ GT_ModHandler.addCraftingRecipe(GregtechItemList.Super_Chest_IV.get(1L, new Object[0]), bitsd,
+ new Object[]{"DPD", "PMP", "DGD", Character.valueOf('M'), ItemList.Hull_IV, Character.valueOf('G'),
+ ItemList.Automation_ChestBuffer_IV, Character.valueOf('D'),
+ OrePrefixes.circuit.get(Materials.Elite), Character.valueOf('P'),
+ OrePrefixes.plate.get(Materials.Tungsten)});
+ }
+
+ //Test Thing
+ GregtechItemList.CrateStorage.set((new GT_MetaTileEntity_ConnectableCrate(GT_MetaTileEntity_ConnectableCrate.mCrateID, "crate.tier.01", "Interconnecting Storage Crate", 0)).getStackForm(1L));
+
+ }
+
+}
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechSuperConductionPoint.java b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechSuperConductionPoint.java
new file mode 100644
index 0000000000..1376f4313d
--- /dev/null
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechSuperConductionPoint.java
@@ -0,0 +1,19 @@
+package gtPlusPlus.xmod.gregtech.registration.gregtech;
+
+public class GregtechSuperConductionPoint {
+
+ public static void run() {
+ if (gtPlusPlus.core.lib.LoadedMods.Gregtech) {
+ //Utils.LOG_INFO("Gregtech5u Content | Registering Super Conductor Input Node.");
+ run1();
+ }
+
+ }
+
+ private static void run1() {
+ // Steam Condensors
+ //GregtechItemList.SuperConductorInputNode.set(new GregtechMetaTileEntitySuperCondensor(811,
+ // "superconductor.01.input.single", "Power Phase Shifting Station", 8).getStackForm(1L));
+
+ }
+}
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechTeslaTower.java b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechTeslaTower.java
new file mode 100644
index 0000000000..1c5181130b
--- /dev/null
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechTeslaTower.java
@@ -0,0 +1,17 @@
+/*
+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.GregtechMTE_TeslaTower;
+
+public class GregtechTeslaTower {
+
+ public static void run() {
+ Logger.INFO("Gregtech5u Content | Registering Tesla Tower.");
+ GregtechItemList.TelsaTower.set(new GregtechMTE_TeslaTower(984, "multimachine.telsatower", "Tesla's Last Testament").getStackForm(1));
+
+ }
+
+}
+*/
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechThaumcraftDevices.java b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechThaumcraftDevices.java
new file mode 100644
index 0000000000..398d2caf01
--- /dev/null
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechThaumcraftDevices.java
@@ -0,0 +1,26 @@
+package gtPlusPlus.xmod.gregtech.registration.gregtech;
+
+import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.core.lib.LoadedMods;
+import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList;
+import gtPlusPlus.xmod.gregtech.common.tileentities.machines.basic.GregtechMetaPollutionCreator;
+
+public class GregtechThaumcraftDevices {
+
+ public static void run() {
+ if (LoadedMods.Gregtech && LoadedMods.Thaumcraft) {
+ Logger.INFO("Gregtech5u Content | Registering Thaumcraft content.");
+ run1();
+ }
+ }
+
+ private static void run1() {
+ //956-960
+ GregtechItemList.Thaumcraft_Researcher.set(new GregtechMetaPollutionCreator(956, "thaumcraft.gtpp.machine.01",
+ "Arcane Researcher", 5, "Thinking for you.", 0).getStackForm(1L));
+
+
+
+ }
+
+}
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechThreadedBuffers.java b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechThreadedBuffers.java
new file mode 100644
index 0000000000..23c9f7e666
--- /dev/null
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechThreadedBuffers.java
@@ -0,0 +1,136 @@
+package gtPlusPlus.xmod.gregtech.registration.gregtech;
+
+import gregtech.api.enums.ItemList;
+
+import gregtech.api.util.GT_Recipe;
+import gregtech.common.tileentities.automation.GT_MetaTileEntity_SuperBuffer;
+import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList;
+import gtPlusPlus.xmod.gregtech.common.tileentities.storage.creative.GT_MetaTileEntity_InfiniteItemHolder;
+import net.minecraft.item.ItemStack;
+
+public class GregtechThreadedBuffers {
+
+ public static void run() {
+ run2();
+ }
+
+ private static void run2() {
+
+ GregtechItemList.Infinite_Item_Chest.set((new GT_MetaTileEntity_InfiniteItemHolder(31010, "infinite.chest.tier.01", "Infinite Item Chest", 1)).getStackForm(1L));
+
+ /*
+ * This file used to contain registration and recipes for GT++ threaded super buffers. Those have now been
+ * deprecated and replaced by the original GT super buffers.
+ *
+ * To avoid breaking existing bases, we've assigned the threaded super buffer metadata IDs to a copy of the GT
+ * super buffers, with a deprecation notice attached. We've also provided disassembler recipes that are the
+ * reverse of the original crafting recipes, allowing players to reclaim their original materials as well as
+ * convert the deprecated threaded super buffer metadata ID item back to the original GT super buffer metadata
+ * ID item.
+ */
+
+ final String deprecationNotice = "**DEPRECATED - Drop in disassembler!** ";
+ GregtechItemList.Automation_Threaded_SuperBuffer_ULV.set((new GT_MetaTileEntity_SuperBuffer(31000, "automation.superbuffer.tier.00.deprecated", deprecationNotice + "Ultra Low Voltage Super Buffer", 0)).getStackForm(1L));
+ GregtechItemList.Automation_Threaded_SuperBuffer_LV.set((new GT_MetaTileEntity_SuperBuffer(31001, "automation.superbuffer.tier.01.deprecated", deprecationNotice + "Low Voltage Super Buffer", 1)).getStackForm(1L));
+ GregtechItemList.Automation_Threaded_SuperBuffer_MV.set((new GT_MetaTileEntity_SuperBuffer(31002, "automation.superbuffer.tier.02.deprecated", deprecationNotice + "Medium Voltage Super Buffer", 2)).getStackForm(1L));
+ GregtechItemList.Automation_Threaded_SuperBuffer_HV.set((new GT_MetaTileEntity_SuperBuffer(31003, "automation.superbuffer.tier.03.deprecated", deprecationNotice + "High Voltage Super Buffer", 3)).getStackForm(1L));
+ GregtechItemList.Automation_Threaded_SuperBuffer_EV.set((new GT_MetaTileEntity_SuperBuffer(31004, "automation.superbuffer.tier.04.deprecated", deprecationNotice + "Extreme Voltage Super Buffer", 4)).getStackForm(1L));
+ GregtechItemList.Automation_Threaded_SuperBuffer_IV.set((new GT_MetaTileEntity_SuperBuffer(31005, "automation.superbuffer.tier.05.deprecated", deprecationNotice + "Insane Voltage Super Buffer", 5)).getStackForm(1L));
+ GregtechItemList.Automation_Threaded_SuperBuffer_LuV.set((new GT_MetaTileEntity_SuperBuffer(31006, "automation.superbuffer.tier.06.deprecated", deprecationNotice + "Ludicrous Voltage Super Buffer", 6)).getStackForm(1L));
+ GregtechItemList.Automation_Threaded_SuperBuffer_ZPM.set((new GT_MetaTileEntity_SuperBuffer(31007, "automation.superbuffer.tier.07.deprecated", deprecationNotice + "ZPM Voltage Super Buffer", 7)).getStackForm(1L));
+ GregtechItemList.Automation_Threaded_SuperBuffer_UV.set((new GT_MetaTileEntity_SuperBuffer(31008, "automation.superbuffer.tier.08.deprecated", deprecationNotice + "Ultimate Voltage Super Buffer", 8)).getStackForm(1L));
+ GregtechItemList.Automation_Threaded_SuperBuffer_MAX.set((new GT_MetaTileEntity_SuperBuffer(31009, "automation.superbuffer.tier.09.deprecated", deprecationNotice + "Highly Ultimate Voltage Super Buffer", 9)).getStackForm(1L));
+
+ // These recipes are all 1 sec @ 32 EU/t
+ GT_Recipe.GT_Recipe_Map.sDisassemblerRecipes.addRecipe(
+ true,
+ new ItemStack[]{ GregtechItemList.Automation_Threaded_SuperBuffer_ULV.get(1L, new Object[0]) },
+ new ItemStack[]{
+ ItemList.Automation_SuperBuffer_ULV.get(1L, new Object[0]),
+ ItemList.Tool_DataOrb.get(1L, new Object[0]),
+ ItemList.Conveyor_Module_LV.get(1L, new Object[0]),
+ },
+ null, null, null, 20, 32, -100);
+ GT_Recipe.GT_Recipe_Map.sDisassemblerRecipes.addRecipe(
+ true,
+ new ItemStack[]{ GregtechItemList.Automation_Threaded_SuperBuffer_LV.get(1L, new Object[0]) },
+ new ItemStack[]{
+ ItemList.Automation_SuperBuffer_LV.get(1L, new Object[0]),
+ ItemList.Tool_DataOrb.get(1L, new Object[0]),
+ ItemList.Conveyor_Module_LV.get(1L, new Object[0]),
+ },
+ null, null, null, 20, 32, -100);
+ GT_Recipe.GT_Recipe_Map.sDisassemblerRecipes.addRecipe(
+ true,
+ new ItemStack[]{ GregtechItemList.Automation_Threaded_SuperBuffer_MV.get(1L, new Object[0]) },
+ new ItemStack[]{
+ ItemList.Automation_SuperBuffer_MV.get(1L, new Object[0]),
+ ItemList.Tool_DataOrb.get(1L, new Object[0]),
+ ItemList.Conveyor_Module_MV.get(1L, new Object[0]),
+ },
+ null, null, null, 20, 32, -100);
+ GT_Recipe.GT_Recipe_Map.sDisassemblerRecipes.addRecipe(
+ true,
+ new ItemStack[]{ GregtechItemList.Automation_Threaded_SuperBuffer_HV.get(1L, new Object[0]) },
+ new ItemStack[]{
+ ItemList.Automation_SuperBuffer_HV.get(1L, new Object[0]),
+ ItemList.Tool_DataOrb.get(1L, new Object[0]),
+ ItemList.Conveyor_Module_HV.get(1L, new Object[0]),
+ },
+ null, null, null, 20, 32, -100);
+ GT_Recipe.GT_Recipe_Map.sDisassemblerRecipes.addRecipe(
+ true,
+ new ItemStack[]{ GregtechItemList.Automation_Threaded_SuperBuffer_EV.get(1L, new Object[0]) },
+ new ItemStack[]{
+ ItemList.Automation_SuperBuffer_EV.get(1L, new Object[0]),
+ ItemList.Tool_DataOrb.get(1L, new Object[0]),
+ ItemList.Conveyor_Module_EV.get(1L, new Object[0]),
+ },
+ null, null, null, 20, 32, -100);
+ GT_Recipe.GT_Recipe_Map.sDisassemblerRecipes.addRecipe(
+ true,
+ new ItemStack[]{ GregtechItemList.Automation_Threaded_SuperBuffer_IV.get(1L, new Object[0]) },
+ new ItemStack[]{
+ ItemList.Automation_SuperBuffer_IV.get(1L, new Object[0]),
+ ItemList.Tool_DataOrb.get(1L, new Object[0]),
+ ItemList.Conveyor_Module_IV.get(1L, new Object[0]),
+ },
+ null, null, null, 20, 32, -100);
+ GT_Recipe.GT_Recipe_Map.sDisassemblerRecipes.addRecipe(
+ true,
+ new ItemStack[]{ GregtechItemList.Automation_Threaded_SuperBuffer_LuV.get(1L, new Object[0]) },
+ new ItemStack[]{
+ ItemList.Automation_SuperBuffer_LuV.get(1L, new Object[0]),
+ ItemList.Tool_DataOrb.get(1L, new Object[0]),
+ ItemList.Conveyor_Module_LuV.get(1L, new Object[0]),
+ },
+ null, null, null, 20, 32, -100);
+ GT_Recipe.GT_Recipe_Map.sDisassemblerRecipes.addRecipe(
+ true,
+ new ItemStack[]{ GregtechItemList.Automation_Threaded_SuperBuffer_ZPM.get(1L, new Object[0]) },
+ new ItemStack[]{
+ ItemList.Automation_SuperBuffer_ZPM.get(1L, new Object[0]),
+ ItemList.Tool_DataOrb.get(1L, new Object[0]),
+ ItemList.Conveyor_Module_ZPM.get(1L, new Object[0]),
+ },
+ null, null, null, 20, 32, -100);
+ GT_Recipe.GT_Recipe_Map.sDisassemblerRecipes.addRecipe(
+ true,
+ new ItemStack[]{ GregtechItemList.Automation_Threaded_SuperBuffer_UV.get(1L, new Object[0]) },
+ new ItemStack[]{
+ ItemList.Automation_SuperBuffer_UV.get(1L, new Object[0]),
+ ItemList.Tool_DataOrb.get(1L, new Object[0]),
+ ItemList.Conveyor_Module_UV.get(1L, new Object[0]),
+ },
+ null, null, null, 20, 32, -100);
+ GT_Recipe.GT_Recipe_Map.sDisassemblerRecipes.addRecipe(
+ true,
+ new ItemStack[]{ GregtechItemList.Automation_Threaded_SuperBuffer_MAX.get(1L, new Object[0]) },
+ new ItemStack[]{
+ ItemList.Automation_SuperBuffer_MAX.get(1L, new Object[0]),
+ ItemList.Tool_DataOrb.get(1L, new Object[0]),
+ GregtechItemList.Conveyor_Module_MAX.get(1L, new Object[0]),
+ },
+ null, null, null, 20, 32, -100);
+ }
+}
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechTieredChunkloaders.java b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechTieredChunkloaders.java
new file mode 100644
index 0000000000..bbfd568e54
--- /dev/null
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechTieredChunkloaders.java
@@ -0,0 +1,28 @@
+package gtPlusPlus.xmod.gregtech.registration.gregtech;
+
+import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.core.lib.LoadedMods;
+import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList;
+import gtPlusPlus.xmod.gregtech.common.tileentities.machines.basic.GregtechMetaTileEntityChunkLoader;
+
+public class GregtechTieredChunkloaders {
+ public static void run() {
+ if (LoadedMods.Gregtech) {
+ Logger.INFO("Gregtech5u Content | Registering Chunk Loaders.");
+ run1();
+ }
+ }
+
+ private static void run1() {
+ int ID = 943;
+ GregtechItemList.GT_Chunkloader_HV
+ .set(new GregtechMetaTileEntityChunkLoader(ID++, "chunkloader.tier.01", "Chunkloader MK I", 3)
+ .getStackForm(1L));
+ GregtechItemList.GT_Chunkloader_IV
+ .set(new GregtechMetaTileEntityChunkLoader(ID++, "chunkloader.tier.02", "Chunkloader MK II", 5)
+ .getStackForm(1L));
+ GregtechItemList.GT_Chunkloader_ZPM
+ .set(new GregtechMetaTileEntityChunkLoader(ID++, "chunkloader.tier.03", "Chunkloader MK III", 7)
+ .getStackForm(1L));
+ }
+}
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechTieredFluidTanks.java b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechTieredFluidTanks.java
new file mode 100644
index 0000000000..2a4a2b9f85
--- /dev/null
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechTieredFluidTanks.java
@@ -0,0 +1,58 @@
+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.storage.GT_MetaTileEntity_TieredTank;
+
+public class GregtechTieredFluidTanks {
+ public static void run() {
+ if (LoadedMods.Gregtech) {
+ Logger.INFO("Gregtech5u Content | Registering Portable Fluid Tanks.");
+ if (CORE.ConfigSwitches.enableMachine_FluidTanks) {
+ run1();
+ }
+ }
+
+ }
+
+ private static void run1() {
+ int ID = 817;
+ if (CORE.GTNH) {
+ Logger.INFO("Only loading ULV-IV tier tanks for New Horizons Modpack.");
+ }
+ GregtechItemList.GT_FluidTank_ULV
+ .set(new GT_MetaTileEntity_TieredTank(ID++, "fluidtank.tier.00", "Ultra Low Voltage Fluid Tank", 0)
+ .getStackForm(1L));
+ GregtechItemList.GT_FluidTank_LV
+ .set(new GT_MetaTileEntity_TieredTank(ID++, "fluidtank.tier.01", "Low Voltage Fluid Tank", 1)
+ .getStackForm(1L));
+ GregtechItemList.GT_FluidTank_MV
+ .set(new GT_MetaTileEntity_TieredTank(ID++, "fluidtank.tier.02", "Medium Voltage Fluid Tank", 2)
+ .getStackForm(1L));
+ GregtechItemList.GT_FluidTank_HV
+ .set(new GT_MetaTileEntity_TieredTank(ID++, "fluidtank.tier.03", "High Voltage Fluid Tank", 3)
+ .getStackForm(1L));
+ if (!CORE.GTNH) {
+ GregtechItemList.GT_FluidTank_EV
+ .set(new GT_MetaTileEntity_TieredTank(ID++, "fluidtank.tier.04", "Extreme Voltage Fluid Tank", 4)
+ .getStackForm(1L));
+ GregtechItemList.GT_FluidTank_IV
+ .set(new GT_MetaTileEntity_TieredTank(ID++, "fluidtank.tier.05", "Insane Voltage Fluid Tank", 5)
+ .getStackForm(1L));
+ GregtechItemList.GT_FluidTank_LuV
+ .set(new GT_MetaTileEntity_TieredTank(ID++, "fluidtank.tier.06", "Ludicrous Voltage Fluid Tank", 6)
+ .getStackForm(1L));
+ GregtechItemList.GT_FluidTank_ZPM
+ .set(new GT_MetaTileEntity_TieredTank(ID++, "fluidtank.tier.07", "ZPM Voltage Fluid Tank", 7)
+ .getStackForm(1L));
+ GregtechItemList.GT_FluidTank_UV
+ .set(new GT_MetaTileEntity_TieredTank(ID++, "fluidtank.tier.08", "Ultimate Voltage Fluid Tank", 8)
+ .getStackForm(1L));
+ GregtechItemList.GT_FluidTank_MAX
+ .set(new GT_MetaTileEntity_TieredTank(ID++, "fluidtank.tier.09", "MAX Voltage Fluid Tank", 9)
+ .getStackForm(1L));
+ }
+ }
+}
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechTreeFarmerTE.java b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechTreeFarmerTE.java
new file mode 100644
index 0000000000..07139da024
--- /dev/null
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechTreeFarmerTE.java
@@ -0,0 +1,22 @@
+package gtPlusPlus.xmod.gregtech.registration.gregtech;
+
+import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList;
+import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.GregtechMetaTreeFarmerStructural;
+
+public class GregtechTreeFarmerTE {
+ public static void run() {
+ if (gtPlusPlus.core.lib.LoadedMods.Gregtech) {
+ Logger.INFO("Gregtech5u Content | Registering Tree Farmer Structural Block.");
+ if (CORE.ConfigSwitches.enableMultiblock_TreeFarmer) {
+ run1();
+ }
+ }
+ }
+
+ private static void run1() {
+ GregtechItemList.TreeFarmer_Structural.set(
+ new GregtechMetaTreeFarmerStructural(752, "treefarmer.structural", "Farm Keeper", 0).getStackForm(1L));
+ }
+}
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechWirelessChargers.java b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechWirelessChargers.java
new file mode 100644
index 0000000000..ca90724400
--- /dev/null
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechWirelessChargers.java
@@ -0,0 +1,48 @@
+package gtPlusPlus.xmod.gregtech.registration.gregtech;
+
+import gregtech.api.util.GT_ModHandler;
+
+import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.core.util.Utils;
+import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList;
+import gtPlusPlus.xmod.gregtech.common.helpers.ChargingHelper;
+import gtPlusPlus.xmod.gregtech.common.tileentities.machines.basic.GregtechMetaWirelessCharger;
+
+public class GregtechWirelessChargers {
+
+
+ public static void run(){
+
+ if (gtPlusPlus.core.lib.LoadedMods.Gregtech) {
+ Logger.INFO("Gregtech5u Content | Registering Wireless Chargers.");
+
+
+ long bitsd = GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE
+ | GT_ModHandler.RecipeBits.REVERSIBLE | GT_ModHandler.RecipeBits.BUFFERED;
+ int mID = 890;
+
+ Utils.registerEvent(new ChargingHelper());
+
+ GregtechItemList.Charger_LV.set(new GregtechMetaWirelessCharger(mID++, "wificharger.01.tier.single",
+ "Wireless Charger MK I", 1, "Hopefully won't give you cancer.", 0).getStackForm(1L));
+ GregtechItemList.Charger_MV.set(new GregtechMetaWirelessCharger(mID++, "wificharger.02.tier.single",
+ "Wireless Charger MK II", 2, "Hopefully won't give you cancer.", 0).getStackForm(1L));
+ GregtechItemList.Charger_HV.set(new GregtechMetaWirelessCharger(mID++, "wificharger.03.tier.single",
+ "Wireless Charger MK III", 3, "Hopefully won't give you cancer.", 0).getStackForm(1L));
+ GregtechItemList.Charger_EV.set(new GregtechMetaWirelessCharger(mID++, "wificharger.04.tier.single",
+ "Wireless Charger MK IV", 4, "Hopefully won't give you cancer.", 0).getStackForm(1L));
+ GregtechItemList.Charger_IV.set(new GregtechMetaWirelessCharger(mID++, "wificharger.05.tier.single",
+ "Wireless Charger MK V", 5, "Hopefully won't give you cancer.", 0).getStackForm(1L));
+ GregtechItemList.Charger_LuV.set(new GregtechMetaWirelessCharger(mID++, "wificharger.06.tier.single",
+ "Wireless Charger MK VI", 6, "Hopefully won't give you cancer.", 0).getStackForm(1L));
+ GregtechItemList.Charger_ZPM.set(new GregtechMetaWirelessCharger(mID++, "wificharger.07.tier.single",
+ "Wireless Charger MK VII", 7, "Hopefully won't give you cancer.", 0).getStackForm(1L));
+ GregtechItemList.Charger_UV.set(new GregtechMetaWirelessCharger(mID++, "wificharger.08.tier.single",
+ "Wireless Charger MK VIII", 8, "Hopefully won't give you cancer.", 0).getStackForm(1L));
+ GregtechItemList.Charger_MAX.set(new GregtechMetaWirelessCharger(mID++, "wificharger.09.tier.single",
+ "Wireless Charger MK IX", 9, "Hopefully won't give you cancer.", 0).getStackForm(1L));
+
+ }
+ }
+
+}
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/NewHorizonsAccelerator.java b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/NewHorizonsAccelerator.java
new file mode 100644
index 0000000000..d5b95a61bf
--- /dev/null
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/NewHorizonsAccelerator.java
@@ -0,0 +1,99 @@
+package gtPlusPlus.xmod.gregtech.registration.gregtech;
+
+import gregtech.api.enums.ItemList;
+import gregtech.api.util.GT_ModHandler;
+
+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.machines.basic.GT_MetaTileEntity_WorldAccelerator;
+
+public class NewHorizonsAccelerator {
+
+ public static void run() {
+ if (LoadedMods.Gregtech && !CORE.GTNH) {
+ Logger.INFO("New Horizons Content | Registering World Accelerators.");
+ if (CORE.ConfigSwitches.enableMachine_WorldAccelerators) {
+ run1();
+ }
+ }
+
+ }
+
+ private static void run1() {
+ GregtechItemList.AcceleratorLV.set(new GT_MetaTileEntity_WorldAccelerator(841,
+ "basicmachine.accelerator.tier.01", "Basic World Accelerator", 1).getStackForm(1L));
+ GregtechItemList.AcceleratorMV.set(new GT_MetaTileEntity_WorldAccelerator(842,
+ "basicmachine.accelerator.tier.02", "Advanced World Accelerator", 2).getStackForm(1L));
+ GregtechItemList.AcceleratorHV.set(new GT_MetaTileEntity_WorldAccelerator(843,
+ "basicmachine.accelerator.tier.03", "Advanced World Accelerator II", 3).getStackForm(1L));
+ GregtechItemList.AcceleratorEV.set(new GT_MetaTileEntity_WorldAccelerator(844,
+ "basicmachine.accelerator.tier.04", "Advanced World Accelerator III", 4).getStackForm(1L));
+ GregtechItemList.AcceleratorIV.set(new GT_MetaTileEntity_WorldAccelerator(845,
+ "basicmachine.accelerator.tier.05", "Advanced World Accelerator IV", 5).getStackForm(1L));
+ GregtechItemList.AcceleratorLuV.set(new GT_MetaTileEntity_WorldAccelerator(846,
+ "basicmachine.accelerator.tier.06", "Elite World Accelerator", 6).getStackForm(1L));
+ GregtechItemList.AcceleratorZPM.set(new GT_MetaTileEntity_WorldAccelerator(847,
+ "basicmachine.accelerator.tier.07", "Elite World Accelerator II", 7).getStackForm(1L));
+ GregtechItemList.AcceleratorUV.set(new GT_MetaTileEntity_WorldAccelerator(848,
+ "basicmachine.accelerator.tier.08", "Ultimate Time Anomaly", 8).getStackForm(1L));
+
+ GT_ModHandler.addCraftingRecipe(GregtechItemList.AcceleratorLV.get(1L),
+ GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE
+ | GT_ModHandler.RecipeBits.REVERSIBLE | GT_ModHandler.RecipeBits.BUFFERED,
+ new Object[] { "RMR", "PBC", "IMI", 'R', ItemList.Robot_Arm_LV, 'M', ItemList.Electric_Motor_LV, 'P',
+ ItemList.Electric_Pump_LV, 'B', ItemList.Hull_LV, 'C', ItemList.Conveyor_Module_LV, 'I',
+ ItemList.Electric_Piston_LV });
+
+ GT_ModHandler.addCraftingRecipe(GregtechItemList.AcceleratorMV.get(1L),
+ GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE
+ | GT_ModHandler.RecipeBits.REVERSIBLE | GT_ModHandler.RecipeBits.BUFFERED,
+ new Object[] { "RMR", "PBC", "IMI", 'R', ItemList.Robot_Arm_MV, 'M', ItemList.Electric_Motor_MV, 'P',
+ ItemList.Electric_Pump_MV, 'B', ItemList.Hull_MV, 'C', ItemList.Conveyor_Module_MV, 'I',
+ ItemList.Electric_Piston_MV });
+
+ GT_ModHandler.addCraftingRecipe(GregtechItemList.AcceleratorHV.get(1L),
+ GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE
+ | GT_ModHandler.RecipeBits.REVERSIBLE | GT_ModHandler.RecipeBits.BUFFERED,
+ new Object[] { "RMR", "PBC", "IMI", 'R', ItemList.Robot_Arm_HV, 'M', ItemList.Electric_Motor_HV, 'P',
+ ItemList.Electric_Pump_HV, 'B', ItemList.Hull_HV, 'C', ItemList.Conveyor_Module_HV, 'I',
+ ItemList.Electric_Piston_HV });
+
+ GT_ModHandler.addCraftingRecipe(GregtechItemList.AcceleratorEV.get(1L),
+ GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE
+ | GT_ModHandler.RecipeBits.REVERSIBLE | GT_ModHandler.RecipeBits.BUFFERED,
+ new Object[] { "RMR", "PBC", "IMI", 'R', ItemList.Robot_Arm_EV, 'M', ItemList.Electric_Motor_EV, 'P',
+ ItemList.Electric_Pump_EV, 'B', ItemList.Hull_EV, 'C', ItemList.Conveyor_Module_EV, 'I',
+ ItemList.Electric_Piston_EV });
+
+ GT_ModHandler.addCraftingRecipe(GregtechItemList.AcceleratorIV.get(1L),
+ GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE
+ | GT_ModHandler.RecipeBits.REVERSIBLE | GT_ModHandler.RecipeBits.BUFFERED,
+ new Object[] { "RMR", "PBC", "IMI", 'R', ItemList.Robot_Arm_IV, 'M', ItemList.Electric_Motor_IV, 'P',
+ ItemList.Electric_Pump_IV, 'B', ItemList.Hull_IV, 'C', ItemList.Conveyor_Module_IV, 'I',
+ ItemList.Electric_Piston_IV });
+
+ GT_ModHandler.addCraftingRecipe(GregtechItemList.AcceleratorLuV.get(1L),
+ GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE
+ | GT_ModHandler.RecipeBits.REVERSIBLE | GT_ModHandler.RecipeBits.BUFFERED,
+ new Object[] { "RMR", "PBC", "IMI", 'R', ItemList.Robot_Arm_LuV, 'M', ItemList.Electric_Motor_LuV, 'P',
+ ItemList.Electric_Pump_LuV, 'B', ItemList.Hull_LuV, 'C', ItemList.Conveyor_Module_LuV, 'I',
+ ItemList.Electric_Piston_LuV });
+
+ GT_ModHandler.addCraftingRecipe(GregtechItemList.AcceleratorZPM.get(1L),
+ GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE
+ | GT_ModHandler.RecipeBits.REVERSIBLE | GT_ModHandler.RecipeBits.BUFFERED,
+ new Object[] { "RMR", "PBC", "IMI", 'R', ItemList.Robot_Arm_ZPM, 'M', ItemList.Electric_Motor_ZPM, 'P',
+ ItemList.Electric_Pump_ZPM, 'B', ItemList.Hull_ZPM, 'C', ItemList.Conveyor_Module_ZPM, 'I',
+ ItemList.Electric_Piston_ZPM });
+
+ GT_ModHandler.addCraftingRecipe(GregtechItemList.AcceleratorUV.get(1L),
+ GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE
+ | GT_ModHandler.RecipeBits.REVERSIBLE | GT_ModHandler.RecipeBits.BUFFERED,
+ new Object[] { "RMR", "PBC", "IMI", 'R', ItemList.Robot_Arm_UV, 'M', ItemList.Electric_Motor_UV, 'P',
+ ItemList.Electric_Pump_UV, 'B', ItemList.Hull_UV, 'C', ItemList.Conveyor_Module_UV, 'I',
+ ItemList.Electric_Piston_UV });
+ }
+
+}