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}