package com.infinityraider.infinitylib.item;

import com.infinityraider.infinitylib.render.item.IItemRenderingHandler;
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
import net.minecraft.item.Item;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;

public interface ICustomRenderedItem<I extends Item> {
    /**
     * Gets called to create the IBlockRenderingHandler instance to render this block with
     * @return a new IItemRenderingHandler object for this block
     */
    @SideOnly(Side.CLIENT)
    IItemRenderingHandler<I> getRenderer();

    /**
     * Gets an array of ResourceLocations used for the model of this block, all block states for this block will use this as key in the model registry
     * @return a unique ModelResourceLocation for this block
     */
    @SideOnly(Side.CLIENT)
    ModelResourceLocation getItemModelResourceLocation();
}

@@ -216,16 +216,60 @@
 m.Item;%0A
+import net.minecraft.util.ResourceLocation;%0A
 import n
@@ -307,16 +307,16 @@
 r.Side;%0A
-
 import n
@@ -359,16 +359,40 @@
 eOnly;%0A%0A
+import java.util.List;%0A%0A
 public i
@@ -633,24 +633,24 @@
 ide.CLIENT)%0A
-
     IItemRen
@@ -682,16 +682,255 @@
 rer();%0A%0A
+    /**%0A     * Gets a list of all textures necessary to render this item,%0A     * returned textures will be stitched to the atlas%0A     * @return list of textures%0A     */%0A    @SideOnly(Side.CLIENT)%0A    List%3CResourceLocation%3E getTextures();%0A%0A
     /**%0A

Add get textures method for items