diff options
author | Raven Szewczyk <git@eigenraven.me> | 2024-05-24 19:50:35 +0100 |
---|---|---|
committer | Raven Szewczyk <git@eigenraven.me> | 2024-05-24 19:50:35 +0100 |
commit | 6d1b2216464d4dad449ac6fcfec476832224a55e (patch) | |
tree | 526a0c15f7056313c80e6c0386e025e9b3f61781 /src/main/java/gtPlusPlus/xmod/ic2 | |
parent | b5d35f40afa606ed1b07061dad82e0521a59c186 (diff) | |
download | GT5-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')
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)); + } +} |