001package net.minecraftforge.client.model;
002
003import java.io.InputStream;
004import java.net.URL;
005
006/**
007 * Instances of this class act as factories for their model type
008 *
009 * @author cpw
010 *
011 */
012public interface IModelCustomLoader {
013    /**
014     * Get the main type name for this loader
015     * @return the type name
016     */
017    String getType();
018    /**
019     * Get resource suffixes this model loader recognizes
020     * @return a list of suffixes
021     */
022    String[] getSuffixes();
023    /**
024     * Load a model instance from the supplied path
025     * @param resourceName The resource name to load
026     * @param resource The URL associated with the classloader resource
027     * @return A model instance
028     * @throws ModelFormatException if the model format is not correct
029     */
030    IModelCustom loadInstance(String resourceName, URL resource) throws ModelFormatException;
031}