/******************************************************************************* * 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; } }