aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/common/blocks/Block_LapotronicEnergyUnit.java
blob: 8f1d282b33ae527bbe60b4317bd3d5c6fe0fa75a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
package common.blocks;

import java.util.List;

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;
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;

public class Block_LapotronicEnergyUnit extends BaseGTUpdateableBlock {

	private static final Block_LapotronicEnergyUnit INSTANCE = new Block_LapotronicEnergyUnit();
    public enum IconBaseSide implements IIconContainer {
        INSTANCE;
        IconBaseSide() {
            // 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(this));
        }

        @Override
        public IIcon getIcon() {
            return Block_LapotronicEnergyUnit.INSTANCE.iconBaseSide;
        }

        @Override
        public IIcon getOverlayIcon() {
            return null;
        }

        @Override
        public ResourceLocation getTextureFile() {
            return TextureMap.locationBlocksTexture;
        }
    }

	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 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");
	}

	@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));
	}

	@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;
		default: return iconUltimateTop;
		}
	}

}