/*******************************************************************************
* AbyssalCraft
* Copyright (c) 2012 - 2017 Shinoow.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the GNU Lesser Public License v3
* which accompanies this distribution, and is available at
* http://www.gnu.org/licenses/lgpl-3.0.txt
*
* Contributors:
* Shinoow - implementation
******************************************************************************/
package com.shinoow.abyssalcraft.client.render.entity.layers;
import net.minecraft.client.renderer.GlStateManager;
import net.minecraft.client.renderer.OpenGlHelper;
import net.minecraft.client.renderer.entity.layers.LayerRenderer;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import com.shinoow.abyssalcraft.client.render.entity.RenderAntiSpider;
import com.shinoow.abyssalcraft.common.entity.anti.EntityAntiSpider;
@SideOnly(Side.CLIENT)
public class LayerAntiSpiderEyes implements LayerRenderer<EntityAntiSpider>
{
private static final ResourceLocation SPIDER_EYES = new ResourceLocation("abyssalcraft:textures/model/anti/spider_eyes.png");
private final RenderAntiSpider spiderRenderer;
public LayerAntiSpiderEyes(RenderAntiSpider spiderRendererIn)
{
spiderRenderer = spiderRendererIn;
}
@Override
public void doRenderLayer(EntityAntiSpider entitylivingbaseIn, float p_177141_2_, float p_177141_3_, float partialTicks, float p_177141_5_, float p_177141_6_, float p_177141_7_, float scale)
{
spiderRenderer.bindTexture(SPIDER_EYES);
GlStateManager.enableBlend();
GlStateManager.disableAlpha();
GlStateManager.blendFunc(1, 1);
if (entitylivingbaseIn.isInvisible())
GlStateManager.depthMask(false);
else
GlStateManager.depthMask(true);
int i = 61680;
int j = i % 65536;
int k = i / 65536;
OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, j / 1.0F, k / 1.0F);
GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F);
spiderRenderer.getMainModel().render(entitylivingbaseIn, p_177141_2_, p_177141_3_, p_177141_5_, p_177141_6_, p_177141_7_, scale);
i = entitylivingbaseIn.getBrightnessForRender(partialTicks);
j = i % 65536;
k = i / 65536;
OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, j / 1.0F, k / 1.0F);
spiderRenderer.setLightmap(entitylivingbaseIn, partialTicks);
GlStateManager.disableBlend();
GlStateManager.enableAlpha();
}
@Override
public boolean shouldCombineTextures()
{
return false;
}
}