aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/common/blocks/Block_TFFTStorageField.java
blob: 069dd40dcaf5fc6ce2a1a7d8635321ff246a9f8e (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
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_TFFTStorageField;
import common.tileentities.GTMTE_TFFT;

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 kekztech.KekzCore;

public class Block_TFFTStorageField extends BaseGTUpdateableBlock {

    private static final Block_TFFTStorageField INSTANCE = new Block_TFFTStorageField();
    private static final int SUB_BLOCK_COUNT = GTMTE_TFFT.Field.VALUES.length + 1;
    private static final IIcon[] textures = new IIcon[SUB_BLOCK_COUNT];

    public enum TFFTCasingIcon implements IIconContainer {

        INSTANCE;

        @Override
        public IIcon getIcon() {
            return textures[0];
        }

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

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

    // I guess glodblock won't mind
    static {
        GT_Utility.addTexturePage((byte) 12);
        Textures.BlockIcons
            .setCasingTexture((byte) 12, (byte) 127, TextureFactory.of(Block_TFFTStorageField.TFFTCasingIcon.INSTANCE));
    }

    private Block_TFFTStorageField() {
        super(Material.iron);
    }

    public static Block registerBlock() {
        final String blockName = "kekztech_tfftstoragefield_block";
        INSTANCE.setBlockName(blockName);
        INSTANCE.setCreativeTab(CreativeTabs.tabMisc);
        INSTANCE.setHardness(5.0f);
        INSTANCE.setResistance(6.0f);
        GameRegistry.registerBlock(INSTANCE, IB_TFFTStorageField.class, blockName);

        return INSTANCE;
    }

    @Override
    public void registerBlockIcons(IIconRegister ir) {
        textures[0] = ir.registerIcon(KekzCore.MODID + ":" + "TFFTCasing");
        for (int i = 1; i < SUB_BLOCK_COUNT; i++) {
            textures[i] = ir.registerIcon(KekzCore.MODID + ":" + "TFFTStorageFieldBlock" + i);
        }
    }

    @Override
    public void getSubBlocks(Item par1, CreativeTabs par2CreativeTabs, List par3List) {
        for (int i = 0; i < SUB_BLOCK_COUNT; i++) {
            par3List.add(new ItemStack(par1, 1, i));
        }
    }

    @Override
    public IIcon getIcon(int side, int meta) {
        return textures[meta];
    }
}