package shedar.mods.ic2.nuclearcontrol.blocks.subblocks; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.IIcon; import shedar.mods.ic2.nuclearcontrol.containers.ContainerEmpty; import shedar.mods.ic2.nuclearcontrol.gui.GuiIndustrialAlarm; import shedar.mods.ic2.nuclearcontrol.tileentities.TileEntityHowlerAlarm; import shedar.mods.ic2.nuclearcontrol.tileentities.TileEntityIndustrialAlarm; import shedar.mods.ic2.nuclearcontrol.utils.BlockDamages; public class IndustrialAlarm extends Subblock { private static final int DAMAGE = BlockDamages.DAMAGE_INDUSTRIAL_ALARM; private static final float[] BOUNDS = { 0.125F, 0, 0.125F, 0.875F, 0.4375F, 0.875F }; public static final byte I_BACK = 0; public static final byte I_SIDES_HOR_DARK = 1; public static final byte I_SIDES_HOR_MID = 2; public static final byte I_SIDES_HOR_BRIGHT = 3; public static final byte I_SIDES_VERT_DARK = 4; public static final byte I_SIDES_VERT_MID = 5; public static final byte I_SIDES_VERT_BRIGHT = 6; public static final byte I_FACE_DARK = 7; public static final byte I_FACE_MID = 8; public static final byte I_FACE_BRIGHT = 9; private IIcon[] icons = new IIcon[10]; private static final byte[][] mapping = { { I_BACK, I_FACE_DARK, I_SIDES_HOR_DARK, I_SIDES_HOR_DARK, I_SIDES_HOR_DARK, I_SIDES_HOR_DARK }, { I_FACE_DARK, I_BACK, I_SIDES_HOR_DARK, I_SIDES_HOR_DARK, I_SIDES_HOR_DARK, I_SIDES_HOR_DARK }, { I_SIDES_HOR_DARK, I_SIDES_HOR_DARK, I_BACK, I_FACE_DARK, I_SIDES_VERT_DARK, I_SIDES_VERT_DARK }, { I_SIDES_HOR_DARK, I_SIDES_HOR_DARK, I_FACE_DARK, I_BACK, I_SIDES_VERT_DARK, I_SIDES_VERT_DARK }, { I_SIDES_VERT_DARK, I_SIDES_VERT_DARK, I_SIDES_VERT_DARK, I_SIDES_VERT_DARK, I_BACK, I_FACE_DARK }, { I_SIDES_VERT_DARK, I_SIDES_VERT_DARK, I_SIDES_VERT_DARK, I_SIDES_VERT_DARK, I_FACE_DARK, I_BACK } }; public IndustrialAlarm() { super(DAMAGE, "tile.blockIndustrialAlarm"); } @Override public TileEntity getTileEntity() { return new TileEntityIndustrialAlarm(); } @Override public boolean isSolidBlockRequired() { return true; } @Override public boolean hasGui() { return true; } @Override public float[] getBlockBounds(TileEntity tileEntity) { return BOUNDS; } @Override public Container getServerGuiElement(TileEntity tileEntity, EntityPlayer player) { return new ContainerEmpty(tileEntity); } @Override public Object getClientGuiElement(TileEntity tileEntity, EntityPlayer player) { return new GuiIndustrialAlarm((TileEntityHowlerAlarm) tileEntity); } @Override public IIcon getIcon(int index) { return icons[index]; } @Override protected byte[][] getMapping() { return mapping; } @Override public void registerIcons(IIconRegister iconRegister) { icons[I_BACK] = iconRegister .registerIcon("nuclearcontrol:industrialAlarm/back"); icons[I_SIDES_HOR_DARK] = iconRegister .registerIcon("nuclearcontrol:industrialAlarm/sidesHor0"); icons[I_SIDES_HOR_MID] = iconRegister .registerIcon("nuclearcontrol:industrialAlarm/sidesHor1"); icons[I_SIDES_HOR_BRIGHT] = iconRegister .registerIcon("nuclearcontrol:industrialAlarm/sidesHor2"); icons[I_SIDES_VERT_DARK] = iconRegister .registerIcon("nuclearcontrol:industrialAlarm/sidesVert0"); icons[I_SIDES_VERT_MID] = iconRegister .registerIcon("nuclearcontrol:industrialAlarm/sidesVert1"); icons[I_SIDES_VERT_BRIGHT] = iconRegister .registerIcon("nuclearcontrol:industrialAlarm/sidesVert2"); icons[I_FACE_DARK] = iconRegister .registerIcon("nuclearcontrol:industrialAlarm/face0"); icons[I_FACE_MID] = iconRegister .registerIcon("nuclearcontrol:industrialAlarm/face1"); icons[I_FACE_BRIGHT] = iconRegister .registerIcon("nuclearcontrol:industrialAlarm/face2"); } }