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}