aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gtPlusPlus/xmod/ic2
diff options
context:
space:
mode:
authorRaven Szewczyk <git@eigenraven.me>2024-05-24 19:50:35 +0100
committerRaven Szewczyk <git@eigenraven.me>2024-05-24 19:50:35 +0100
commit6d1b2216464d4dad449ac6fcfec476832224a55e (patch)
tree526a0c15f7056313c80e6c0386e025e9b3f61781 /src/main/java/gtPlusPlus/xmod/ic2
parentb5d35f40afa606ed1b07061dad82e0521a59c186 (diff)
downloadGT5-Unofficial-6d1b2216464d4dad449ac6fcfec476832224a55e.tar.gz
GT5-Unofficial-6d1b2216464d4dad449ac6fcfec476832224a55e.tar.bz2
GT5-Unofficial-6d1b2216464d4dad449ac6fcfec476832224a55e.zip
Merge addon sources
Diffstat (limited to 'src/main/java/gtPlusPlus/xmod/ic2')
-rw-r--r--src/main/java/gtPlusPlus/xmod/ic2/CustomInternalName.java23
-rw-r--r--src/main/java/gtPlusPlus/xmod/ic2/HANDLER_IC2.java15
-rw-r--r--src/main/java/gtPlusPlus/xmod/ic2/item/CustomKineticRotor.java244
-rw-r--r--src/main/java/gtPlusPlus/xmod/ic2/item/IC2_Items.java77
-rw-r--r--src/main/java/gtPlusPlus/xmod/ic2/recipe/RECIPE_IC2.java365
5 files changed, 724 insertions, 0 deletions
diff --git a/src/main/java/gtPlusPlus/xmod/ic2/CustomInternalName.java b/src/main/java/gtPlusPlus/xmod/ic2/CustomInternalName.java
new file mode 100644
index 0000000000..4d7c19792f
--- /dev/null
+++ b/src/main/java/gtPlusPlus/xmod/ic2/CustomInternalName.java
@@ -0,0 +1,23 @@
+package gtPlusPlus.xmod.ic2;
+
+import net.minecraftforge.common.util.EnumHelper;
+
+import ic2.core.init.InternalName;
+
+public class CustomInternalName {
+
+ public static InternalName aHazmatHelmetEx;
+ public static InternalName aHazmatChestEx;
+ public static InternalName aHazmatLegsEx;
+ public static InternalName aHazmatBootsEx;
+
+ public static void init() {
+ aHazmatHelmetEx = EnumHelper
+ .addEnum(InternalName.class, "itemArmorHazmatHelmetEx", new Class[] {}, new Object[] {});
+ aHazmatChestEx = EnumHelper
+ .addEnum(InternalName.class, "itemArmorHazmatChestplateEx", new Class[] {}, new Object[] {});
+ aHazmatLegsEx = EnumHelper
+ .addEnum(InternalName.class, "itemArmorHazmatLeggingsEx", new Class[] {}, new Object[] {});
+ aHazmatBootsEx = EnumHelper.addEnum(InternalName.class, "itemArmorRubBootsEx", new Class[] {}, new Object[] {});
+ }
+}
diff --git a/src/main/java/gtPlusPlus/xmod/ic2/HANDLER_IC2.java b/src/main/java/gtPlusPlus/xmod/ic2/HANDLER_IC2.java
new file mode 100644
index 0000000000..475d8d5feb
--- /dev/null
+++ b/src/main/java/gtPlusPlus/xmod/ic2/HANDLER_IC2.java
@@ -0,0 +1,15 @@
+package gtPlusPlus.xmod.ic2;
+
+import gtPlusPlus.xmod.ic2.item.IC2_Items;
+import gtPlusPlus.xmod.ic2.recipe.RECIPE_IC2;
+
+public class HANDLER_IC2 {
+
+ public static void preInit() {
+ IC2_Items.register();
+ }
+
+ public static void postInit() {
+ RECIPE_IC2.initRecipes();
+ }
+}
diff --git a/src/main/java/gtPlusPlus/xmod/ic2/item/CustomKineticRotor.java b/src/main/java/gtPlusPlus/xmod/ic2/item/CustomKineticRotor.java
new file mode 100644
index 0000000000..82daf41c90
--- /dev/null
+++ b/src/main/java/gtPlusPlus/xmod/ic2/item/CustomKineticRotor.java
@@ -0,0 +1,244 @@
+package gtPlusPlus.xmod.ic2.item;
+
+import static gregtech.api.enums.Mods.EnderIO;
+
+import java.util.List;
+
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.renderer.texture.IIconRegister;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.IIcon;
+import net.minecraft.util.ResourceLocation;
+import net.minecraft.util.StatCollector;
+
+import cpw.mods.fml.common.registry.GameRegistry;
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
+import ic2.api.item.IKineticRotor;
+import ic2.core.IC2;
+import ic2.core.block.kineticgenerator.gui.GuiWaterKineticGenerator;
+import ic2.core.block.kineticgenerator.gui.GuiWindKineticGenerator;
+
+public class CustomKineticRotor extends Item implements IKineticRotor {
+
+ private final int mTier;
+
+ @SideOnly(Side.CLIENT)
+ private IIcon[] mTextures;
+
+ private static final String[] mRegistrationNames = new String[] { "itemwoodrotor", "itemironrotor",
+ "itemsteelrotor", "itemwcarbonrotor" };
+
+ private static final String[] mUnlocalNames = new String[] { "itemEnergeticRotor", "itemTungstenSteelRotor",
+ "itemVibrantRotor", "itemIridiumRotor", "itemMagnaliumRotor", "itemUltimetRotor", };
+ private static final int[] mMaxDurability = new int[] { 512000, 809600, 1600000, 3200000 };
+ private static final int[] mRadius = new int[] { 9, 11, 13, 15 };
+ private static final float[] mEfficiency = new float[] { 0.9f, 1.0f, 1.2f, 1.5f };
+ private static final int[] mMinWindStrength = new int[] { 12, 14, 16, 18 };
+ private static final int[] mMaxWindStrength = new int[] { 80, 120, 160, 320 };
+
+ private static final ResourceLocation[] mResourceLocations = new ResourceLocation[] {
+ new ResourceLocation(IC2.textureDomain, "textures/items/rotors/rotorEnergeticModel.png"),
+ new ResourceLocation(IC2.textureDomain, "textures/items/rotors/rotorTungstenSteelModel.png"),
+ new ResourceLocation(IC2.textureDomain, "textures/items/rotors/rotorVibrantModel.png"),
+ new ResourceLocation(IC2.textureDomain, "textures/items/rotors/rotorIridiumModel.png"),
+ new ResourceLocation(IC2.textureDomain, "textures/items/rotors/rotorMagnaliumModel.png"),
+ new ResourceLocation(IC2.textureDomain, "textures/items/rotors/rotorUltimetModel.png"), };
+
+ private final int maxWindStrength;
+ private final int minWindStrength;
+ private final int radius;
+ private final float efficiency;
+ private final ResourceLocation renderTexture;
+
+ public CustomKineticRotor(int aTier) {
+ mTier = aTier;
+ this.setMaxStackSize(1);
+ // Handle Differences if EIO is not loaded
+ if (!EnderIO.isModLoaded() && (aTier == 0 || aTier == 2)) {
+ this.renderTexture = mResourceLocations[(aTier == 0 ? 4 : 5)];
+ this.setUnlocalizedName(mUnlocalNames[(aTier == 0 ? 4 : 5)]);
+ } else {
+ this.renderTexture = mResourceLocations[aTier];
+ this.setUnlocalizedName(mUnlocalNames[aTier]);
+ }
+ this.setMaxDamage(mMaxDurability[aTier]);
+ this.radius = mRadius[aTier];
+ this.efficiency = mEfficiency[aTier];
+ this.minWindStrength = mMinWindStrength[aTier];
+ this.maxWindStrength = mMaxWindStrength[aTier];
+ this.setNoRepair();
+ this.setCreativeTab(IC2.tabIC2);
+ GameRegistry.registerItem(this, mRegistrationNames[aTier]);
+ }
+
+ @Override
+ public void setDamage(final ItemStack stack, final int damage) {
+ if (mTier < 3) {
+ super.setDamage(stack, damage);
+ }
+ }
+
+ @Override
+ public void addInformation(final ItemStack itemStack, final EntityPlayer player, final List info, final boolean b) {
+
+ info.add(
+ StatCollector.translateToLocalFormatted(
+ "ic2.itemrotor.wind.info",
+ new Object[] { this.minWindStrength, this.maxWindStrength }));
+
+ GearboxType type = null;
+ if (Minecraft.getMinecraft().currentScreen != null
+ && Minecraft.getMinecraft().currentScreen instanceof GuiWaterKineticGenerator) {
+ type = GearboxType.WATER;
+ } else if (Minecraft.getMinecraft().currentScreen != null
+ && Minecraft.getMinecraft().currentScreen instanceof GuiWindKineticGenerator) {
+ type = GearboxType.WIND;
+ }
+
+ if (type != null) {
+ info.add(StatCollector.translateToLocal("ic2.itemrotor.fitsin." + this.isAcceptedType(itemStack, type)));
+ }
+ }
+
+ @Override
+ public int getDiameter(final ItemStack stack) {
+ return this.radius;
+ }
+
+ @Override
+ public ResourceLocation getRotorRenderTexture(final ItemStack stack) {
+ return this.renderTexture;
+ }
+
+ @Override
+ public float getEfficiency(final ItemStack stack) {
+ return this.efficiency;
+ }
+
+ @Override
+ public int getMinWindStrength(final ItemStack stack) {
+ return this.minWindStrength;
+ }
+
+ @Override
+ public int getMaxWindStrength(final ItemStack stack) {
+ return this.maxWindStrength;
+ }
+
+ @Override
+ public boolean isAcceptedType(final ItemStack stack, final IKineticRotor.GearboxType type) {
+ return (type == IKineticRotor.GearboxType.WIND) || (type == IKineticRotor.GearboxType.WATER);
+ }
+
+ @Override
+ public String getUnlocalizedName() {
+ return "ic2." + super.getUnlocalizedName().substring(5);
+ }
+
+ @Override
+ public String getUnlocalizedName(ItemStack itemStack) {
+ return this.getUnlocalizedName();
+ }
+
+ @Override
+ public String getItemStackDisplayName(ItemStack itemStack) {
+ return StatCollector.translateToLocal(this.getUnlocalizedName(itemStack));
+ }
+
+ @Override
+ public boolean showDurabilityBar(ItemStack stack) {
+ return mTier < 3;
+ }
+
+ @Override
+ @SideOnly(Side.CLIENT)
+ public IIcon getIconFromDamage(int meta) {
+ if (!EnderIO.isModLoaded() && (mTier == 0 || mTier == 2)) {
+ if (mTier == 0) {
+ return mTextures[4];
+ } else {
+ return mTextures[5];
+ }
+ } else {
+ return mTextures[mTier];
+ }
+ }
+
+ @Override
+ @SideOnly(Side.CLIENT)
+ public IIcon getIconIndex(ItemStack aIndex) {
+ if (!EnderIO.isModLoaded() && (mTier == 0 || mTier == 2)) {
+ if (mTier == 0) {
+ return mTextures[4];
+ } else {
+ return mTextures[5];
+ }
+ } else {
+ return mTextures[mTier];
+ }
+ }
+
+ @Override
+ @SideOnly(Side.CLIENT)
+ public IIcon getIconFromDamageForRenderPass(int aDmg, int aPass) {
+ if (!EnderIO.isModLoaded() && (mTier == 0 || mTier == 2)) {
+ if (mTier == 0) {
+ return mTextures[4];
+ } else {
+ return mTextures[5];
+ }
+ } else {
+ return mTextures[mTier];
+ }
+ }
+
+ @Override
+ protected String getIconString() {
+ return super.getIconString();
+ }
+
+ @Override
+ public double getDurabilityForDisplay(ItemStack stack) {
+ return super.getDurabilityForDisplay(stack);
+ }
+
+ @Override
+ @SideOnly(Side.CLIENT)
+ public IIcon getIcon(ItemStack stack, int renderPass, EntityPlayer player, ItemStack usingItem, int useRemaining) {
+ if (!EnderIO.isModLoaded() && (mTier == 0 || mTier == 2)) {
+ if (mTier == 0) {
+ return mTextures[4];
+ } else {
+ return mTextures[5];
+ }
+ } else {
+ return mTextures[mTier];
+ }
+ }
+
+ @Override
+ @SideOnly(Side.CLIENT)
+ public IIcon getIcon(ItemStack stack, int pass) {
+ if (!EnderIO.isModLoaded() && (mTier == 0 || mTier == 2)) {
+ if (mTier == 0) {
+ return mTextures[4];
+ } else {
+ return mTextures[5];
+ }
+ } else {
+ return mTextures[mTier];
+ }
+ }
+
+ @Override
+ public void registerIcons(IIconRegister iconRegister) {
+ int aIndex = 0;
+ mTextures = new IIcon[6];
+ for (String y : mUnlocalNames) {
+ mTextures[aIndex++] = iconRegister.registerIcon(IC2.textureDomain + ":" + "rotors/" + y);
+ }
+ }
+}
diff --git a/src/main/java/gtPlusPlus/xmod/ic2/item/IC2_Items.java b/src/main/java/gtPlusPlus/xmod/ic2/item/IC2_Items.java
new file mode 100644
index 0000000000..3dacc657de
--- /dev/null
+++ b/src/main/java/gtPlusPlus/xmod/ic2/item/IC2_Items.java
@@ -0,0 +1,77 @@
+package gtPlusPlus.xmod.ic2.item;
+
+import static gregtech.api.enums.Mods.EnderIO;
+
+import net.minecraft.item.ItemStack;
+
+import gtPlusPlus.core.creative.AddToCreativeTab;
+import gtPlusPlus.core.item.base.CoreItem;
+import gtPlusPlus.core.item.wearable.hazmat.ItemArmorHazmatEx;
+
+public class IC2_Items {
+
+ public static ItemStack rotor_Material_1; // Energetic Alloy
+ public static ItemStack rotor_Material_2; // TungstenSteel
+ public static ItemStack rotor_Material_3; // Vibrant Alloy
+ public static ItemStack rotor_Material_4; // Iridium
+
+ public static ItemStack rotor_Blade_Material_1;
+ public static ItemStack rotor_Blade_Material_2;
+ public static ItemStack rotor_Blade_Material_3;
+ public static ItemStack rotor_Blade_Material_4;
+
+ public static ItemStack shaft_Material_1; // Energetic Alloy
+ public static ItemStack shaft_Material_2; // TungstenSteel
+ public static ItemStack shaft_Material_3; // Vibrant Alloy
+ public static ItemStack shaft_Material_4; // Iridium
+
+ private static final String[] mData1 = new String[] { "itemEnergeticRotorBlade", "itemMagnaliumRotorBlade" };
+ private static final String[] mData2 = new String[] { "itemEnergeticShaft", "itemMagnaliumShaft" };
+ private static final String[] mData3 = new String[] { "itemVibrantRotorBlade", "itemUltimetRotorBlade" };
+ private static final String[] mData4 = new String[] { "itemVibrantShaft", "itemUltimetShaft" };
+
+ public static void register() {
+
+ int aIndexEIO = (EnderIO.isModLoaded() ? 0 : 1);
+
+ // Rotor Blades
+ rotor_Blade_Material_1 = new ItemStack(
+ new CoreItem(mData1[aIndexEIO], AddToCreativeTab.tabMachines, 16, "A part for an advanced Kinetic Rotor"));
+ rotor_Blade_Material_2 = new ItemStack(
+ new CoreItem(
+ "itemTungstenSteelRotorBlade",
+ AddToCreativeTab.tabMachines,
+ 16,
+ "A part for an advanced Kinetic Rotor"));
+ rotor_Blade_Material_3 = new ItemStack(
+ new CoreItem(mData3[aIndexEIO], AddToCreativeTab.tabMachines, 16, "A part for an advanced Kinetic Rotor"));
+ rotor_Blade_Material_4 = new ItemStack(
+ new CoreItem(
+ "itemIridiumRotorBlade",
+ AddToCreativeTab.tabMachines,
+ 16,
+ "A part for an advanced Kinetic Rotor"));
+
+ // Rotor Shafts
+ shaft_Material_1 = new ItemStack(
+ new CoreItem(mData2[aIndexEIO], AddToCreativeTab.tabMachines, 16, "A part for an advanced Kinetic Rotor"));
+ shaft_Material_2 = new ItemStack(
+ new CoreItem(
+ "itemTungstenSteelShaft",
+ AddToCreativeTab.tabMachines,
+ 16,
+ "A part for an advanced Kinetic Rotor"));
+ shaft_Material_3 = new ItemStack(
+ new CoreItem(mData4[aIndexEIO], AddToCreativeTab.tabMachines, 16, "A part for an advanced Kinetic Rotor"));
+ shaft_Material_4 = new ItemStack(
+ new CoreItem("itemIridiumShaft", AddToCreativeTab.tabMachines, 16, "A part for an advanced Kinetic Rotor"));
+
+ // Rotors
+ rotor_Material_1 = new ItemStack(new CustomKineticRotor(0));
+ rotor_Material_2 = new ItemStack(new CustomKineticRotor(1));
+ rotor_Material_3 = new ItemStack(new CustomKineticRotor(2));
+ rotor_Material_4 = new ItemStack(new CustomKineticRotor(3));
+
+ ItemArmorHazmatEx.init();
+ }
+}
diff --git a/src/main/java/gtPlusPlus/xmod/ic2/recipe/RECIPE_IC2.java b/src/main/java/gtPlusPlus/xmod/ic2/recipe/RECIPE_IC2.java
new file mode 100644
index 0000000000..47ec1afe0f
--- /dev/null
+++ b/src/main/java/gtPlusPlus/xmod/ic2/recipe/RECIPE_IC2.java
@@ -0,0 +1,365 @@
+package gtPlusPlus.xmod.ic2.recipe;
+
+import static gregtech.api.enums.Mods.EnderIO;
+import static gtPlusPlus.core.recipe.RECIPES_Tools.craftingToolHardHammer;
+import static gtPlusPlus.core.recipe.RECIPES_Tools.craftingToolWrench;
+
+import net.minecraft.init.Blocks;
+import net.minecraft.item.ItemStack;
+
+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 gregtech.api.util.GT_OreDictUnificator;
+import gregtech.api.util.GT_Utility;
+import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.core.material.ALLOY;
+import gtPlusPlus.core.material.Material;
+import gtPlusPlus.core.recipe.common.CI;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
+import gtPlusPlus.core.util.minecraft.MaterialUtils;
+import gtPlusPlus.core.util.minecraft.RecipeUtils;
+import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList;
+import gtPlusPlus.xmod.ic2.item.IC2_Items;
+import ic2.core.Ic2Items;
+
+public class RECIPE_IC2 {
+
+ public static String plate_T1 = "plateEnergeticAlloy";
+ public static String plate_T2 = "plateTungstenSteel";
+ public static String plate_T3 = "plateVibrantAlloy";
+ public static String plate_T4 = "plateAlloyIridium";
+
+ public static ItemStack block_T1 = GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.EnergeticAlloy, 1L);
+ public static ItemStack block_T2 = GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.TungstenSteel, 1L);
+ public static ItemStack block_T3 = GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.VibrantAlloy, 1L);
+ public static ItemStack block_T4 = GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Iridium, 1L);
+
+ public static ItemStack shaft_block_T1 = GT_OreDictUnificator.get(OrePrefixes.block, Materials.EnergeticAlloy, 1L);
+ public static ItemStack shaft_block_T2 = GT_OreDictUnificator.get(OrePrefixes.block, Materials.TungstenSteel, 1L);
+ public static ItemStack shaft_block_T3 = GT_OreDictUnificator.get(OrePrefixes.block, Materials.VibrantAlloy, 1L);
+ public static ItemStack shaft_block_T4 = GT_OreDictUnificator.get(OrePrefixes.block, Materials.Iridium, 1L);
+
+ public static String ingot_T1 = "ingotEnergeticAlloy";
+ public static String ingot_T2 = "ingotTungstenSteel";
+ public static String ingot_T3 = "ingotVibrantAlloy";
+ public static String ingot_T4 = "ingotIridium";
+
+ public static String ring_T1 = "ringStainlessSteel";
+ public static String ring_T2 = "ringTungstenSteel";
+ public static String ring_T3 = "ringChrome";
+ public static String ring_T4 = "ringOsmiridium";
+
+ private static ItemStack rotor_blade_T1 = ItemUtils.getSimpleStack(IC2_Items.rotor_Blade_Material_1.getItem());
+ private static ItemStack rotor_blade_T2 = ItemUtils.getSimpleStack(IC2_Items.rotor_Blade_Material_2.getItem());
+ private static ItemStack rotor_blade_T3 = ItemUtils.getSimpleStack(IC2_Items.rotor_Blade_Material_3.getItem());
+ private static ItemStack rotor_blade_T4 = ItemUtils.getSimpleStack(IC2_Items.rotor_Blade_Material_4.getItem());
+
+ private static ItemStack shaft_T1 = ItemUtils.getSimpleStack(IC2_Items.shaft_Material_1.getItem());
+ private static ItemStack shaft_T2 = ItemUtils.getSimpleStack(IC2_Items.shaft_Material_2.getItem());
+ private static ItemStack shaft_T3 = ItemUtils.getSimpleStack(IC2_Items.shaft_Material_3.getItem());
+ private static ItemStack shaft_T4 = ItemUtils.getSimpleStack(IC2_Items.shaft_Material_4.getItem());
+
+ private static ItemStack rotor_T1 = ItemUtils.getSimpleStack(IC2_Items.rotor_Material_1.getItem());
+ private static ItemStack rotor_T2 = ItemUtils.getSimpleStack(IC2_Items.rotor_Material_2.getItem());
+ private static ItemStack rotor_T3 = ItemUtils.getSimpleStack(IC2_Items.rotor_Material_3.getItem());
+ private static ItemStack rotor_T4 = ItemUtils.getSimpleStack(IC2_Items.rotor_Material_4.getItem());
+
+ private static boolean checkForEnderIO() {
+ if (!EnderIO.isModLoaded()) {
+ plate_T1 = "plateMagnalium";
+ plate_T2 = "plateTungstenSteel";
+ plate_T3 = "plateUltimet";
+ plate_T4 = "plateAlloyIridium";
+
+ block_T1 = GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Magnalium, 1L);
+ block_T2 = GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.TungstenSteel, 1L);
+ block_T3 = GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Ultimet, 1L);
+ block_T4 = GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Iridium, 1L);
+
+ ingot_T1 = "ingotMagnalium";
+ ingot_T2 = "ingotTungstenSteel";
+ ingot_T3 = "ingotUltimet";
+ ingot_T4 = "ingotIridium";
+ return true;
+ }
+ return false;
+ }
+
+ public static void initRecipes() {
+
+ checkForEnderIO();
+ addAdvancedHazmat();
+
+ RecipeUtils.addShapedRecipe(
+ plate_T1,
+ plate_T1,
+ plate_T1,
+ plate_T1,
+ ring_T1,
+ plate_T1,
+ plate_T1,
+ plate_T1,
+ plate_T1,
+ rotor_blade_T1);
+
+ RecipeUtils.addShapedRecipe(
+ plate_T2,
+ plate_T2,
+ plate_T2,
+ plate_T2,
+ ring_T2,
+ plate_T2,
+ plate_T2,
+ plate_T2,
+ plate_T2,
+ rotor_blade_T2);
+
+ RecipeUtils.addShapedRecipe(
+ plate_T3,
+ plate_T3,
+ plate_T3,
+ plate_T3,
+ ring_T3,
+ plate_T3,
+ plate_T3,
+ plate_T3,
+ plate_T3,
+ rotor_blade_T3);
+
+ RecipeUtils.addShapedRecipe(
+ plate_T4,
+ plate_T4,
+ plate_T4,
+ plate_T4,
+ ring_T4,
+ plate_T4,
+ plate_T4,
+ plate_T4,
+ plate_T4,
+ rotor_blade_T4);
+
+ // Shaft Extruder Recipe
+ GT_ModHandler.addCraftingRecipe(
+ GregtechItemList.Shape_Extruder_WindmillShaft.get(1L, new Object[0]),
+ GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE
+ | GT_ModHandler.RecipeBits.REVERSIBLE,
+ new Object[] { "hXS", "XPX", "fXd", Character.valueOf('P'), ItemList.Shape_Extruder_Rod,
+ Character.valueOf('X'), OrePrefixes.plate.get(Materials.DarkSteel), Character.valueOf('S'),
+ OrePrefixes.screw.get(Materials.DarkSteel) });
+ GT_ModHandler.addCraftingRecipe(
+ GregtechItemList.Shape_Extruder_WindmillShaft.get(1L, new Object[0]),
+ GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE
+ | GT_ModHandler.RecipeBits.REVERSIBLE,
+ new Object[] { "hXS", "XPX", "fXd", Character.valueOf('P'), ItemList.Shape_Extruder_Rod,
+ Character.valueOf('X'), OrePrefixes.plate.get(Materials.TungstenSteel), Character.valueOf('S'),
+ OrePrefixes.screw.get(Materials.TungstenSteel) });
+ GT_ModHandler.addCraftingRecipe(
+ GregtechItemList.Shape_Extruder_WindmillShaft.get(1L, new Object[0]),
+ GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE
+ | GT_ModHandler.RecipeBits.REVERSIBLE,
+ new Object[] { "hXS", "XPX", "fXd", Character.valueOf('P'), ItemList.Shape_Extruder_Rod,
+ Character.valueOf('X'), OrePrefixes.plate.get(Materials.Molybdenum), Character.valueOf('S'),
+ OrePrefixes.screw.get(Materials.Molybdenum) });
+ Logger.INFO("Added recipe item for GT5 Extruder: Shaft Shape");
+
+ // Custm Recipes for Iron and Steel
+ ItemStack mShaftIron = ItemList.IC2_ShaftIron.get(1);
+ ItemStack mShaftSteel = ItemList.IC2_ShaftSteel.get(1);
+ GT_Values.RA.addExtruderRecipe(
+ GT_Utility.copyAmount(9L, GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Iron, 1L)),
+ GregtechItemList.Shape_Extruder_WindmillShaft.get(0L, new Object[0]),
+ mShaftIron,
+ 32 * 20,
+ 120);
+ GT_Values.RA.addExtruderRecipe(
+ GT_Utility.copyAmount(1L, GT_OreDictUnificator.get(OrePrefixes.block, Materials.Iron, 1L)),
+ GregtechItemList.Shape_Extruder_WindmillShaft.get(0L, new Object[0]),
+ mShaftIron,
+ 32 * 20,
+ 120);
+ GT_Values.RA.addExtruderRecipe(
+ GT_Utility.copyAmount(9L, GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.WroughtIron, 1L)),
+ GregtechItemList.Shape_Extruder_WindmillShaft.get(0L, new Object[0]),
+ mShaftIron,
+ 32 * 20,
+ 120);
+ GT_Values.RA.addExtruderRecipe(
+ GT_Utility.copyAmount(1L, GT_OreDictUnificator.get(OrePrefixes.block, Materials.WroughtIron, 1L)),
+ GregtechItemList.Shape_Extruder_WindmillShaft.get(0L, new Object[0]),
+ mShaftIron,
+ 32 * 20,
+ 120);
+ GT_Values.RA.addExtruderRecipe(
+ GT_Utility.copyAmount(9L, GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Steel, 1L)),
+ GregtechItemList.Shape_Extruder_WindmillShaft.get(0L, new Object[0]),
+ mShaftSteel,
+ 64 * 20,
+ 120);
+ GT_Values.RA.addExtruderRecipe(
+ GT_Utility.copyAmount(1L, GT_OreDictUnificator.get(OrePrefixes.block, Materials.Steel, 1L)),
+ GregtechItemList.Shape_Extruder_WindmillShaft.get(0L, new Object[0]),
+ mShaftSteel,
+ 64 * 20,
+ 120);
+
+ // Shaft Recipes
+ GT_Values.RA.addExtruderRecipe(
+ GT_Utility.copyAmount(9L, block_T1),
+ GregtechItemList.Shape_Extruder_WindmillShaft.get(0L, new Object[0]),
+ shaft_T1,
+ 2560,
+ 250);
+ GT_Values.RA.addExtruderRecipe(
+ GT_Utility.copyAmount(1L, shaft_block_T1),
+ GregtechItemList.Shape_Extruder_WindmillShaft.get(0L, new Object[0]),
+ shaft_T1,
+ 2560,
+ 250);
+ Logger.INFO("Added recipe for GT5 Extruder: Windmill Shaft [Energetic]");
+ GT_Values.RA.addExtruderRecipe(
+ GT_Utility.copyAmount(9L, block_T2),
+ GregtechItemList.Shape_Extruder_WindmillShaft.get(0L, new Object[0]),
+ shaft_T2,
+ 5120,
+ 500);
+ GT_Values.RA.addExtruderRecipe(
+ GT_Utility.copyAmount(1L, shaft_block_T2),
+ GregtechItemList.Shape_Extruder_WindmillShaft.get(0L, new Object[0]),
+ shaft_T2,
+ 5120,
+ 500);
+
+ Logger.INFO("Added recipe for GT5 Extruder: Windmill Shaft [TungstenSteel]");
+ GT_Values.RA.addExtruderRecipe(
+ GT_Utility.copyAmount(9L, block_T3),
+ GregtechItemList.Shape_Extruder_WindmillShaft.get(0L, new Object[0]),
+ shaft_T3,
+ 10240,
+ 2000);
+ GT_Values.RA.addExtruderRecipe(
+ GT_Utility.copyAmount(1L, shaft_block_T3),
+ GregtechItemList.Shape_Extruder_WindmillShaft.get(0L, new Object[0]),
+ shaft_T3,
+ 10240,
+ 2000);
+ Logger.INFO("Added recipe for GT5 Extruder: Windmill Shaft [Vibrant]");
+ GT_Values.RA.addExtruderRecipe(
+ GT_Utility.copyAmount(9L, block_T4),
+ GregtechItemList.Shape_Extruder_WindmillShaft.get(0L, new Object[0]),
+ shaft_T4,
+ 20480,
+ 4000);
+ GT_Values.RA.addExtruderRecipe(
+ GT_Utility.copyAmount(1L, shaft_block_T4),
+ GregtechItemList.Shape_Extruder_WindmillShaft.get(0L, new Object[0]),
+ shaft_T4,
+ 20480,
+ 4000);
+ Logger.INFO("Added recipe for GT5 Extruder: Windmill Shaft [Iridium]");
+
+ RecipeUtils.addShapedRecipe(
+ shaft_T1,
+ rotor_blade_T1,
+ craftingToolHardHammer,
+ rotor_blade_T1,
+ ring_T1,
+ rotor_blade_T1,
+ craftingToolWrench,
+ rotor_blade_T1,
+ shaft_T1,
+ rotor_T1);
+
+ RecipeUtils.addShapedRecipe(
+ shaft_T2,
+ rotor_blade_T2,
+ craftingToolHardHammer,
+ rotor_blade_T2,
+ ring_T2,
+ rotor_blade_T2,
+ craftingToolWrench,
+ rotor_blade_T2,
+ shaft_T2,
+ rotor_T2);
+
+ RecipeUtils.addShapedRecipe(
+ shaft_T3,
+ rotor_blade_T3,
+ craftingToolHardHammer,
+ rotor_blade_T3,
+ ring_T3,
+ rotor_blade_T3,
+ craftingToolWrench,
+ rotor_blade_T3,
+ shaft_T3,
+ rotor_T3);
+
+ RecipeUtils.addShapedRecipe(
+ shaft_T4,
+ rotor_blade_T4,
+ craftingToolHardHammer,
+ rotor_blade_T4,
+ ring_T4,
+ rotor_blade_T4,
+ craftingToolWrench,
+ rotor_blade_T4,
+ shaft_T4,
+ rotor_T4);
+ }
+
+ private static void addAdvancedHazmat() {
+
+ ItemStack[] aBasicHazmatPieces = new ItemStack[] { Ic2Items.hazmatHelmet.copy(),
+ Ic2Items.hazmatChestplate.copy(), Ic2Items.hazmatLeggings.copy(), Ic2Items.hazmatBoots.copy() };
+
+ Material aRubber = MaterialUtils.generateMaterialFromGtENUM(Materials.Rubber);
+ ItemStack aYellowWool = ItemUtils.getSimpleStack(Blocks.wool, 4, 1);
+ ItemStack aBlackWool = ItemUtils.getSimpleStack(Blocks.wool, 15, 1);
+ ItemStack aCoilIC2 = Ic2Items.coil;
+ ItemStack aPlateCobalt = CI.getTieredComponentOfMaterial(Materials.Cobalt, OrePrefixes.plate, 1);
+ ItemStack aGearSmallSteel = CI.getTieredComponentOfMaterial(Materials.Steel, OrePrefixes.gearGtSmall, 1);
+ ItemStack aGearSmallAluminium = CI
+ .getTieredComponentOfMaterial(Materials.Aluminium, OrePrefixes.gearGtSmall, 1);
+ ItemStack aGearPotin = ALLOY.TUMBAGA.getGear(1);
+ ItemStack aGearSiliconCarbide = ALLOY.SILICON_CARBIDE.getGear(1);
+
+ CORE.RA.addSixSlotAssemblingRecipe(
+ new ItemStack[] { CI.getNumberedAdvancedCircuit(2), aBasicHazmatPieces[0],
+ ItemUtils.getSimpleStack(aYellowWool, 16), ItemUtils.getSimpleStack(aPlateCobalt, 4),
+ ItemUtils.getSimpleStack(aCoilIC2, 8), ItemUtils.getSimpleStack(aGearSmallAluminium, 4), },
+ aRubber.getFluidStack(144 * 4),
+ GregtechItemList.Armour_Hazmat_Advanced_Helmet.get(1),
+ 30 * 20,
+ MaterialUtils.getVoltageForTier(2));
+
+ CORE.RA.addSixSlotAssemblingRecipe(
+ new ItemStack[] { CI.getNumberedAdvancedCircuit(2), aBasicHazmatPieces[1],
+ ItemUtils.getSimpleStack(aYellowWool, 64), ItemUtils.getSimpleStack(aCoilIC2, 32),
+ ItemUtils.getSimpleStack(aPlateCobalt, 16), ItemUtils.getSimpleStack(aGearSiliconCarbide, 8), },
+ aRubber.getFluidStack(144 * 10),
+ GregtechItemList.Armour_Hazmat_Advanced_Chest.get(1),
+ 90 * 20,
+ MaterialUtils.getVoltageForTier(2));
+
+ CORE.RA.addSixSlotAssemblingRecipe(
+ new ItemStack[] { CI.getNumberedAdvancedCircuit(2), aBasicHazmatPieces[2],
+ ItemUtils.getSimpleStack(aYellowWool, 32), ItemUtils.getSimpleStack(aCoilIC2, 16),
+ ItemUtils.getSimpleStack(aPlateCobalt, 8), ItemUtils.getSimpleStack(aGearSiliconCarbide, 4), },
+ aRubber.getFluidStack(144 * 8),
+ GregtechItemList.Armour_Hazmat_Advanced_Legs.get(1),
+ 75 * 20,
+ MaterialUtils.getVoltageForTier(2));
+
+ CORE.RA.addSixSlotAssemblingRecipe(
+ new ItemStack[] { CI.getNumberedAdvancedCircuit(2), aBasicHazmatPieces[3],
+ ItemUtils.getSimpleStack(aBlackWool, 16), ItemUtils.getSimpleStack(aCoilIC2, 6),
+ ItemUtils.getSimpleStack(aGearSmallSteel, 8), ItemUtils.getSimpleStack(aGearPotin, 4), },
+ aRubber.getFluidStack(144 * 6),
+ GregtechItemList.Armour_Hazmat_Advanced_Boots.get(1),
+ 45 * 20,
+ MaterialUtils.getVoltageForTier(2));
+ }
+}