summaryrefslogtreecommitdiff
path: root/src/main/java/darkknight/jewelrycraft/item/render/ItemRender.java
blob: 144b2afd12ea946d03f0a091dbe29a72d407d8c9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
package darkknight.jewelrycraft.item.render;

import net.minecraft.client.model.ModelBase;
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
import net.minecraftforge.client.IItemRenderer;
import org.lwjgl.opengl.GL11;

public class ItemRender implements IItemRenderer
{
    TileEntitySpecialRenderer render;
    public TileEntity entity;
    ModelBase model;
    
    /**
     * @param render
     * @param entity
     * @param model
     */
    public ItemRender(TileEntitySpecialRenderer render, TileEntity entity, ModelBase model)
    {
        this.entity = entity;
        this.render = render;
        this.model = model;
    }
    
    /**
     * @param item
     * @param type
     * @return
     */
    @Override
    public boolean handleRenderType(ItemStack item, ItemRenderType type)
    {
        return true;
    }
    
    /**
     * @param type
     * @param item
     * @param helper
     * @return
     */
    @Override
    public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper)
    {
        return true;
    }
    
    /**
     * @param type
     * @param item
     * @param data
     */
    @Override
    public void renderItem(ItemRenderType type, ItemStack item, Object ... data)
    {
        if (type == IItemRenderer.ItemRenderType.ENTITY){
            GL11.glRotatef(180f, 0f, 1f, 0f);
            GL11.glTranslatef(-0.5f, -0.5f, -0.4f);
        }
        render.renderTileEntityAt(entity, 0.0D, 0.0D, 0.0D, 0.0F);
    }
}