/* * 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.blocks.aesthetics.slab; import cpw.mods.fml.common.registry.GameRegistry; import mods.railcraft.common.blocks.BlockFactory; import mods.railcraft.common.blocks.aesthetics.EnumBlockMaterial; import mods.railcraft.common.core.Railcraft; import mods.railcraft.common.modules.ModuleManager; import mods.railcraft.common.plugins.forestry.ForestryPlugin; import mods.railcraft.common.plugins.forge.CraftingPlugin; import mods.railcraft.common.plugins.forge.RailcraftRegistry; import net.minecraft.init.Blocks; import static mods.railcraft.common.blocks.aesthetics.slab.BlockRailcraftSlab.getItem; /** * @author CovertJaguar <http://www.railcraft.info/> */ public class BlockFactorySlab extends BlockFactory { public BlockFactorySlab() { super("slab"); } @Override protected void doBlockInit() { int renderId = Railcraft.getProxy().getRenderId(); BlockRailcraftSlab.block = new BlockRailcraftSlab(renderId); BlockRailcraftSlab.block.setBlockName("railcraft.slab"); RailcraftRegistry.register(BlockRailcraftSlab.block, ItemSlab.class); GameRegistry.registerTileEntity(TileSlab.class, "RCSlabTile"); for (EnumBlockMaterial mat : EnumBlockMaterial.VALUES) { RailcraftRegistry.register(getItem(mat)); switch (mat) { case SNOW: case ICE: break; default: ForestryPlugin.addBackpackItem("builder", getItem(mat)); } } } @Override protected void doRecipeInit(ModuleManager.Module module) { EnumBlockMaterial.initialize(); for (EnumBlockMaterial mat : EnumBlockMaterial.VALUES) { if (BlockRailcraftSlab.isEnabled(mat) && mat.getSourceItem() != null) { switch (mat) { case SNOW: CraftingPlugin.addShapedRecipe(BlockRailcraftSlab.getItem(mat, 3), "SSS", 'S', Blocks.snow_layer); break; default: CraftingPlugin.addShapedRecipe(BlockRailcraftSlab.getItem(mat, 6), "SSS", 'S', mat.getSourceItem()); CraftingPlugin.addShapedRecipe(mat.getSourceItem(), "S", "S", 'S', BlockRailcraftSlab.getItem(mat)); } } } } }