    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}