Package micdoodle8.mods.galacticraft.planets.asteroids.client.render.item

Source Code of micdoodle8.mods.galacticraft.planets.asteroids.client.render.item.ItemRendererHeavyNoseCone

package micdoodle8.mods.galacticraft.planets.asteroids.client.render.item;

import cpw.mods.fml.client.FMLClientHandler;
import micdoodle8.mods.galacticraft.api.vector.Vector3;
import micdoodle8.mods.galacticraft.core.dimension.SpaceRace;
import micdoodle8.mods.galacticraft.core.dimension.SpaceRaceManager;
import micdoodle8.mods.galacticraft.core.util.VersionUtil;
import net.minecraft.client.renderer.ItemRenderer;
import net.minecraft.client.renderer.RenderBlocks;
import net.minecraft.client.renderer.Tessellator;
import net.minecraft.item.ItemStack;
import net.minecraft.util.IIcon;
import net.minecraftforge.client.IItemRenderer;
import org.lwjgl.opengl.GL11;
import org.lwjgl.opengl.GL12;

public class ItemRendererHeavyNoseCone implements IItemRenderer
{
    private void renderHeavyNoseCone(ItemRenderType type, RenderBlocks render, ItemStack item, float translateX, float translateY, float translateZ)
    {
        GL11.glPushMatrix();
        GL11.glEnable(GL11.GL_BLEND);

        for (int i = 0; i < 2; i++)
        {
            GL11.glPushMatrix();

            if (i == 1)
            {
                SpaceRace race = SpaceRaceManager.getSpaceRaceFromPlayer(FMLClientHandler.instance().getClientPlayerEntity().getGameProfile().getName());
                Vector3 color = null;

                if (race != null)
                {
                    color = race.getTeamColor();
                }

                if (color == null)
                {
                    color = new Vector3(1, 1, 1);
                }

                GL11.glColor4f(color.floatX(), color.floatY(), color.floatZ(), 1.0F);
            }

            IIcon iicon = FMLClientHandler.instance().getClientPlayerEntity().getItemIcon(item, i);

            if (iicon == null)
            {
                GL11.glPopMatrix();
                return;
            }

            FMLClientHandler.instance().getClient().getTextureManager().bindTexture(FMLClientHandler.instance().getClient().getTextureManager().getResourceLocation(item.getItemSpriteNumber()));
            VersionUtil.setMipMap(false, false);
            Tessellator tessellator = Tessellator.instance;
            float f = iicon.getMinU();
            float f1 = iicon.getMaxU();
            float f2 = iicon.getMinV();
            float f3 = iicon.getMaxV();
            float f4 = 0.0F;
            float f5 = 1.0F;
            GL11.glEnable(GL12.GL_RESCALE_NORMAL);
            GL11.glScalef(1.0F, -1.0F, 1.0F);
            float f6 = 16.0F;
            GL11.glScalef(f6, f6, f6);
            GL11.glTranslatef(-f4, -f5, 0.0F);
            ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F);
            GL11.glPopMatrix();
        }

        GL11.glPopMatrix();
    }

    /**
     * IItemRenderer implementation *
     */

    @Override
    public boolean handleRenderType(ItemStack item, ItemRenderType type)
    {
        switch (type)
        {
        case ENTITY:
            return false;
        case EQUIPPED:
            return false;
        case EQUIPPED_FIRST_PERSON:
            return false;
        case INVENTORY:
            return true;
        default:
            return false;
        }
    }

    @Override
    public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper)
    {
        switch (helper)
        {
        case INVENTORY_BLOCK:
            return false;
        default:
            return false;
        }
    }

    @Override
    public void renderItem(ItemRenderType type, ItemStack item, Object... data)
    {
        switch (type)
        {
        case INVENTORY:
            this.renderHeavyNoseCone(type, (RenderBlocks) data[0], item, -0.5f, -0.5f, -0.5f);
            break;
        default:
            break;
        }
    }

}
TOP

Related Classes of micdoodle8.mods.galacticraft.planets.asteroids.client.render.item.ItemRendererHeavyNoseCone

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.