    001package net.minecraft.client.texturepacks;
    002
    003import cpw.mods.fml.relauncher.Side;
    004import cpw.mods.fml.relauncher.SideOnly;
    005import java.io.IOException;
    006import java.io.InputStream;
    007import net.minecraft.client.renderer.RenderEngine;
    008
    009@SideOnly(Side.CLIENT)
    010public interface ITexturePack
    011{
    012    /**
    013     * Delete the OpenGL texture id of the pack's thumbnail image, and close the zip file in case of TexturePackCustom.
    014     */
    015    void deleteTexturePack(RenderEngine renderengine);
    016
    017    /**
    018     * Bind the texture id of the pack's thumbnail image, loading it if necessary.
    019     */
    020    void bindThumbnailTexture(RenderEngine renderengine);
    021
    022    InputStream func_98137_a(String s, boolean flag) throws IOException;
    023
    024    /**
    025     * Gives a texture resource as InputStream.
    026     */
    027    InputStream getResourceAsStream(String s) throws IOException;
    028
    029    /**
    030     * Get the texture pack ID
    031     */
    032    String getTexturePackID();
    033
    034    /**
    035     * Get the file name of the texture pack, or Default if not from a custom texture pack
    036     */
    037    String getTexturePackFileName();
    038
    039    /**
    040     * Get the first line of the texture pack description (read from the pack.txt file)
    041     */
    042    String getFirstDescriptionLine();
    043
    044    /**
    045     * Get the second line of the texture pack description (read from the pack.txt file)
    046     */
    047    String getSecondDescriptionLine();
    048
    049    boolean func_98138_b(String s, boolean flag);
    050
    051    boolean isCompatible();
    052}