/* * Copyright (c) CovertJaguar, 2014 http://railcraft.info * * This code is the property of CovertJaguar * and may only be used with explicit written * permission unless otherwise specified on the * license page at http://railcraft.info/wiki/info:license. */ package mods.railcraft.common.modules; import mods.railcraft.api.crafting.RailcraftCraftingManager; import mods.railcraft.common.blocks.RailcraftBlocks; import mods.railcraft.common.blocks.machine.alpha.EnumMachineAlpha; import mods.railcraft.common.blocks.machine.beta.EnumMachineBeta; import mods.railcraft.common.blocks.machine.epsilon.EnumMachineEpsilon; import mods.railcraft.common.core.RailcraftConfig; import mods.railcraft.common.items.ItemGear.EnumGear; import mods.railcraft.common.items.ItemIngot; import mods.railcraft.common.items.ItemPlate.EnumPlate; import mods.railcraft.common.items.RailcraftItem; import mods.railcraft.common.plugins.forge.CraftingPlugin; import mods.railcraft.common.plugins.ic2.IC2Plugin; import net.minecraft.block.Block; import net.minecraft.init.Blocks; import net.minecraft.init.Items; import net.minecraft.item.ItemStack; /** * @author CovertJaguar <http://www.railcraft.info> */ public class ModuleSteam extends RailcraftModule { @Override public void initFirst() { // LiquidItems.getSteamBottle(1); EnumMachineBeta beta = EnumMachineBeta.ENGINE_STEAM_HOBBY; if (RailcraftConfig.isSubBlockEnabled(beta.getTag())) { RailcraftBlocks.registerBlockMachineBeta(); Block block = RailcraftBlocks.getBlockMachineBeta(); if (block != null) { ItemStack stack = beta.getItem(); CraftingPlugin.addShapedRecipe(beta.getItem(), "NNN", " C ", "GPG", 'P', new ItemStack(Blocks.piston), 'N', "nuggetGold", 'C', "blockGlassColorless", 'G', RailcraftItem.gear.getRecipeObject(EnumGear.GOLD_PLATE)); } } beta = EnumMachineBeta.ENGINE_STEAM_LOW; if (RailcraftConfig.isSubBlockEnabled(beta.getTag())) { RailcraftBlocks.registerBlockMachineBeta(); Block block = RailcraftBlocks.getBlockMachineBeta(); if (block != null) { ItemStack stack = beta.getItem(); CraftingPlugin.addShapedRecipe(beta.getItem(), "III", " C ", "GPG", 'P', new ItemStack(Blocks.piston), 'I', RailcraftItem.plate.getRecipeObject(EnumPlate.IRON), 'C', "blockGlassColorless", 'G', "gearIron"); RailcraftCraftingManager.blastFurnace.addRecipe(stack, true, false, 15360, RailcraftItem.ingot.getStack(12, ItemIngot.EnumIngot.STEEL)); } } beta = EnumMachineBeta.ENGINE_STEAM_HIGH; if (RailcraftConfig.isSubBlockEnabled(beta.getTag())) { RailcraftBlocks.registerBlockMachineBeta(); Block block = RailcraftBlocks.getBlockMachineBeta(); if (block != null) { ItemStack stack = beta.getItem(); CraftingPlugin.addShapedRecipe(beta.getItem(), "III", " C ", "GPG", 'P', new ItemStack(Blocks.piston), 'I', RailcraftItem.plate.getRecipeObject(EnumPlate.STEEL), 'C', "blockGlassColorless", 'G', RailcraftItem.gear.getRecipeObject(EnumGear.STEEL)); } } beta = EnumMachineBeta.BOILER_FIREBOX_SOLID; if (RailcraftConfig.isSubBlockEnabled(beta.getTag())) { RailcraftBlocks.registerBlockMachineBeta(); Block block = RailcraftBlocks.getBlockMachineBeta(); if (block != null) { ItemStack stack = beta.getItem(); CraftingPlugin.addShapedRecipe(beta.getItem(), "BBB", "BCB", "BFB", 'B', "ingotBrick", 'C', new ItemStack(Items.fire_charge), 'F', new ItemStack(Blocks.furnace)); } } beta = EnumMachineBeta.BOILER_FIREBOX_FLUID; if (RailcraftConfig.isSubBlockEnabled(beta.getTag())) { RailcraftBlocks.registerBlockMachineBeta(); Block block = RailcraftBlocks.getBlockMachineBeta(); if (block != null) { ItemStack stack = beta.getItem(); CraftingPlugin.addShapedRecipe(beta.getItem(), "PBP", "GCG", "PFP", 'B', new ItemStack(Items.bucket), 'G', new ItemStack(Blocks.iron_bars), 'C', new ItemStack(Items.fire_charge), 'P', RailcraftItem.plate.getRecipeObject(EnumPlate.STEEL), 'F', new ItemStack(Blocks.furnace)); } } beta = EnumMachineBeta.BOILER_TANK_LOW_PRESSURE; if (RailcraftConfig.isSubBlockEnabled(beta.getTag())) { RailcraftBlocks.registerBlockMachineBeta(); Block block = RailcraftBlocks.getBlockMachineBeta(); if (block != null) { ItemStack stack = beta.getItem(); CraftingPlugin.addShapedRecipe(beta.getItem(), "P", "P", 'P', RailcraftItem.plate.getRecipeObject(EnumPlate.IRON)); RailcraftCraftingManager.blastFurnace.addRecipe(stack, true, false, 2560, RailcraftItem.ingot.getStack(2, ItemIngot.EnumIngot.STEEL)); } } beta = EnumMachineBeta.BOILER_TANK_HIGH_PRESSURE; if (RailcraftConfig.isSubBlockEnabled(beta.getTag())) { RailcraftBlocks.registerBlockMachineBeta(); Block block = RailcraftBlocks.getBlockMachineBeta(); if (block != null) { ItemStack stack = beta.getItem(); CraftingPlugin.addShapedRecipe(beta.getItem(), "P", "P", 'P', RailcraftItem.plate.getRecipeObject(EnumPlate.STEEL)); } } EnumMachineAlpha.TURBINE.register(); EnumMachineAlpha.STEAM_TRAP_MANUAL.register(); EnumMachineAlpha.STEAM_TRAP_AUTO.register(); EnumMachineEpsilon.ADMIN_STEAM_PRODUCER.register(); } @Override public void initSecond() { EnumMachineAlpha alpha = EnumMachineAlpha.STEAM_TRAP_MANUAL; if (alpha.isAvaliable()) { ItemStack stack = alpha.getItem(); CraftingPlugin.addShapedRecipe(stack, " G ", " T ", " D ", 'G', new ItemStack(Blocks.iron_bars), 'T', getTankItem(), 'D', new ItemStack(Blocks.dispenser)); } alpha = EnumMachineAlpha.STEAM_TRAP_AUTO; if (alpha.isAvaliable()) { ItemStack stack = alpha.getItem(); CraftingPlugin.addShapedRecipe(stack, " G ", "RTR", " D ", 'G', new ItemStack(Blocks.iron_bars), 'T', getTankItem(), 'R', "dustRedstone", 'D', new ItemStack(Blocks.dispenser)); if (EnumMachineAlpha.STEAM_TRAP_MANUAL.isAvaliable()) { CraftingPlugin.addShapedRecipe(stack, "RTR", 'T', EnumMachineAlpha.STEAM_TRAP_MANUAL.getItem(), 'R', "dustRedstone"); CraftingPlugin.addShapelessRecipe(EnumMachineAlpha.STEAM_TRAP_MANUAL.getItem(), stack); } } } private ItemStack getTankItem() { ItemStack tank; if (EnumMachineBeta.BOILER_TANK_HIGH_PRESSURE.isAvaliable()) tank = EnumMachineBeta.BOILER_TANK_HIGH_PRESSURE.getItem(); else if (EnumMachineBeta.TANK_STEEL_WALL.isAvaliable()) tank = EnumMachineBeta.TANK_STEEL_WALL.getItem(); else tank = RailcraftItem.plate.getStack(1, EnumPlate.STEEL); if (tank == null) tank = RailcraftItem.ingot.getStack(1, ItemIngot.EnumIngot.STEEL); if (tank == null) tank = new ItemStack(Blocks.iron_block); return tank; } @Override public void postInit() { IC2Plugin.nerfSyntheticCoal(); } }