@@ -0,0 +1,1414 @@
+package net.roryclaasen.rorysmod.block;%0A%0Aimport java.util.List;%0A%0Aimport net.minecraft.block.material.Material;%0Aimport net.minecraft.client.renderer.texture.IIconRegister;%0Aimport net.minecraft.creativetab.CreativeTabs;%0Aimport net.minecraft.item.Item;%0Aimport net.minecraft.item.ItemStack;%0Aimport net.minecraft.util.IIcon;%0Aimport cpw.mods.fml.relauncher.Side;%0Aimport cpw.mods.fml.relauncher.SideOnly;%0A%0Apublic class BlockBlueprint extends BlockBase %7B%0A%0A%09public IIcon%5B%5D icons = new IIcon%5B5%5D;%0A%0A%09public BlockTestingWall(Material material, String unlocalizedName) %7B%0A%09%09super(material, unlocalizedName);%0A%09%09this.setStepSound(soundTypeMetal);%0A%09%09this.setResistance(15.0F);%0A%09%09this.setHardness(12.0F);%0A%09%09this.setHarvestLevel(%22pickaxe%22, 2);%0A%09%7D%0A%0A%09@Override%0A%09public void registerBlockIcons(IIconRegister reg) %7B%0A%09%09for (int i = 0; i %3C icons.length; i++) %7B%0A%09%09%09icons%5Bi%5D = reg.registerIcon(this.textureName + %22_%22 + i);%0A%09%09%7D%0A%09%7D%0A%0A%09@Override%0A    @SideOnly(Side.CLIENT)%0A%09public IIcon getIcon(int side, int meta) %7B%0A%09%09if (meta %3E icons.length) meta = 0;%0A%09%09return icons%5Bmeta%5D;%0A%09%7D%0A%0A%09@SuppressWarnings(%7B%22unchecked%22, %22rawtypes%22%7D)%0A%09@Override%0A    @SideOnly(Side.CLIENT)%0A%09public void getSubBlocks(Item item, CreativeTabs tab, List list) %7B%0A%09%09for (int i = 0; i %3C icons.length; i++) %7B%0A%09%09%09list.add(new ItemStack(item, 1, i));%0A%09%09%7D%0A%09%7D%0A%0A%09@Override%0A%09public int damageDropped(int meta) %7B%0A%09%09return meta;%0A%09%7D%0A%09%0A%09public int getMaxMeta()%7B%0A%09%09return icons.length;%0A%09%7D%0A%7D%0A

Create BlockBlueprint.java