package common.blocks; import java.util.List; import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.client.renderer.texture.TextureMap; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.util.IIcon; import net.minecraft.util.ResourceLocation; import common.itemBlocks.IB_LapotronicEnergyUnit; import cpw.mods.fml.common.registry.GameRegistry; import gregtech.api.enums.Textures; import gregtech.api.interfaces.IIconContainer; import gregtech.api.render.TextureFactory; import gregtech.api.util.GT_Utility; public class Block_LapotronicEnergyUnit extends BaseGTUpdateableBlock { private static final Block_LapotronicEnergyUnit INSTANCE = new Block_LapotronicEnergyUnit(); public enum IconBaseSide implements IIconContainer { INSTANCE; @Override public IIcon getIcon() { return Block_LapotronicEnergyUnit.INSTANCE.iconBaseSide; } @Override public IIcon getOverlayIcon() { return null; } @Override public ResourceLocation getTextureFile() { return TextureMap.locationBlocksTexture; } } static { // technically, this page is owned by me, glee8e, however, I'm kind enough to spare 1 for kekztech since // this is basically abandon ware by now. GT_Utility.addTexturePage((byte) 42); Textures.BlockIcons.setCasingTexture((byte) 42, (byte) 127, TextureFactory.of(IconBaseSide.INSTANCE)); } private IIcon iconBaseSide; private IIcon iconBaseTop; private IIcon iconLapoEmptySide; private IIcon iconLapoEmptyTop; private IIcon iconLapoEVSide; private IIcon iconLapoEVTop; private IIcon iconLapoIVSide; private IIcon iconLapoIVTop; private IIcon iconLapoLuVSide; private IIcon iconLapoLuVTop; private IIcon iconLapoZPMSide; private IIcon iconLapoZPMTop; private IIcon iconLapoUVSide; private IIcon iconLapoUVTop; private IIcon iconUltimateSide; private IIcon iconUltimateTop; private IIcon iconUltimateExtremeSide; private IIcon iconUltimateExtremeTop; private IIcon iconUltimateInsaneSide; private IIcon iconUltimateInsaneTop; private IIcon iconUltimateMegaSide; private IIcon iconUltimateMegaTop; private Block_LapotronicEnergyUnit() { super(Material.iron); } public static Block registerBlock() { final String blockName = "kekztech_lapotronicenergyunit_block"; INSTANCE.setBlockName(blockName); INSTANCE.setCreativeTab(CreativeTabs.tabMisc); INSTANCE.setHardness(5.0f); INSTANCE.setResistance(6.0f); GameRegistry.registerBlock(INSTANCE, IB_LapotronicEnergyUnit.class, blockName); return INSTANCE; } @Override public void registerBlockIcons(IIconRegister ir) { iconBaseSide = ir.registerIcon("kekztech:LSCBase_side"); iconBaseTop = ir.registerIcon("kekztech:LSCBase_top"); iconLapoEmptySide = ir.registerIcon("kekztech:LapotronicEnergyUnit6_side"); iconLapoEmptyTop = ir.registerIcon("kekztech:LapotronicEnergyUnit6_top"); iconLapoEVSide = ir.registerIcon("kekztech:LapotronicEnergyUnit7_side"); iconLapoEVTop = ir.registerIcon("kekztech:LapotronicEnergyUnit7_top"); iconLapoIVSide = ir.registerIcon("kekztech:LapotronicEnergyUnit1_side"); iconLapoIVTop = ir.registerIcon("kekztech:LapotronicEnergyUnit1_top"); iconLapoLuVSide = ir.registerIcon("kekztech:LapotronicEnergyUnit2_side"); iconLapoLuVTop = ir.registerIcon("kekztech:LapotronicEnergyUnit2_top"); iconLapoZPMSide = ir.registerIcon("kekztech:LapotronicEnergyUnit3_side"); iconLapoZPMTop = ir.registerIcon("kekztech:LapotronicEnergyUnit3_top"); iconLapoUVSide = ir.registerIcon("kekztech:LapotronicEnergyUnit4_side"); iconLapoUVTop = ir.registerIcon("kekztech:LapotronicEnergyUnit4_top"); iconUltimateSide = ir.registerIcon("kekztech:UltimateEnergyUnit_side"); iconUltimateTop = ir.registerIcon("kekztech:UltimateEnergyUnit_top"); iconUltimateExtremeSide = ir.registerIcon("kekztech:ReallyUltimateEnergyUnit_side"); iconUltimateExtremeTop = ir.registerIcon("kekztech:ReallyUltimateEnergyUnit_top"); iconUltimateInsaneSide = ir.registerIcon("kekztech:InsanelyUltimateEnergyUnit_side"); iconUltimateInsaneTop = ir.registerIcon("kekztech:InsanelyUltimateEnergyUnit_top"); iconUltimateMegaSide = ir.registerIcon("kekztech:MegaUltimateEnergyUnit_side"); iconUltimateMegaTop = ir.registerIcon("kekztech:MegaUltimateEnergyUnit_top"); } @Override @SuppressWarnings({ "unchecked" }) public void getSubBlocks(Item par1, CreativeTabs par2CreativeTabs, List par3List) { // Multi casing par3List.add(new ItemStack(par1, 1, 0)); // Empty capacitor par3List.add(new ItemStack(par1, 1, 6)); // Lapo capacitors EV - UV par3List.add(new ItemStack(par1, 1, 7)); par3List.add(new ItemStack(par1, 1, 1)); par3List.add(new ItemStack(par1, 1, 2)); par3List.add(new ItemStack(par1, 1, 3)); par3List.add(new ItemStack(par1, 1, 4)); // Ultimate battery par3List.add(new ItemStack(par1, 1, 5)); // UEV Cap par3List.add(new ItemStack(par1, 1, 8)); // UIV Cap par3List.add(new ItemStack(par1, 1, 9)); // UMV Cap par3List.add(new ItemStack(par1, 1, 10)); } @Override public IIcon getIcon(int side, int meta) { switch (meta) { case 0: return (side < 2) ? iconBaseTop : iconBaseSide; case 1: return (side < 2) ? iconLapoIVTop : iconLapoIVSide; case 2: return (side < 2) ? iconLapoLuVTop : iconLapoLuVSide; case 3: return (side < 2) ? iconLapoZPMTop : iconLapoZPMSide; case 4: return (side < 2) ? iconLapoUVTop : iconLapoUVSide; case 5: return (side < 2) ? iconUltimateTop : iconUltimateSide; case 6: return (side < 2) ? iconLapoEmptyTop : iconLapoEmptySide; case 7: return (side < 2) ? iconLapoEVTop : iconLapoEVSide; case 8: return (side < 2) ? iconUltimateExtremeTop : iconUltimateExtremeSide; case 9: return (side < 2) ? iconUltimateInsaneTop : iconUltimateInsaneSide; case 10: return (side < 2) ? iconUltimateMegaTop : iconUltimateMegaSide; default: return iconUltimateTop; } } }