2
1
Fork 1
mirror of https://github.com/ACGaming/Spackenmobs synced 2024-05-19 11:54:25 +02:00
Spackenmobs/src/main/java/mod/acgaming/spackenmobs/render/LayerJensWitherAura.java
2022-04-12 13:23:27 +02:00

61 lines
2.7 KiB
Java

package mod.acgaming.spackenmobs.render;
import net.minecraft.client.Minecraft;
import net.minecraft.client.model.ModelWither;
import net.minecraft.client.renderer.GlStateManager;
import net.minecraft.client.renderer.entity.layers.LayerRenderer;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.math.MathHelper;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import mod.acgaming.spackenmobs.entities.EntityJensWither;
@SideOnly(Side.CLIENT)
public class LayerJensWitherAura implements LayerRenderer<EntityJensWither>
{
private static final ResourceLocation WITHER_ARMOR = new ResourceLocation("textures/entity/wither/wither_armor.png");
private final RenderJensWither witherRenderer;
private final ModelWither witherModel = new ModelWither(0.5F);
public LayerJensWitherAura(RenderJensWither witherRendererIn)
{
this.witherRenderer = witherRendererIn;
}
public void doRenderLayer(EntityJensWither entitylivingbaseIn, float limbSwing, float limbSwingAmount, float partialTicks, float ageInTicks, float netHeadYaw, float headPitch, float scale)
{
if (entitylivingbaseIn.isArmored())
{
GlStateManager.depthMask(!entitylivingbaseIn.isInvisible());
this.witherRenderer.bindTexture(WITHER_ARMOR);
GlStateManager.matrixMode(5890);
GlStateManager.loadIdentity();
float f = (float) entitylivingbaseIn.ticksExisted + partialTicks;
float f1 = MathHelper.cos(f * 0.02F) * 3.0F;
float f2 = f * 0.01F;
GlStateManager.translate(f1, f2, 0.0F);
GlStateManager.matrixMode(5888);
GlStateManager.enableBlend();
float f3 = 0.5F;
GlStateManager.color(0.5F, 0.5F, 0.5F, 1.0F);
GlStateManager.disableLighting();
GlStateManager.blendFunc(GlStateManager.SourceFactor.ONE, GlStateManager.DestFactor.ONE);
this.witherModel.setLivingAnimations(entitylivingbaseIn, limbSwing, limbSwingAmount, partialTicks);
this.witherModel.setModelAttributes(this.witherRenderer.getMainModel());
Minecraft.getMinecraft().entityRenderer.setupFogColor(true);
this.witherModel.render(entitylivingbaseIn, limbSwing, limbSwingAmount, ageInTicks, netHeadYaw, headPitch, scale);
Minecraft.getMinecraft().entityRenderer.setupFogColor(false);
GlStateManager.matrixMode(5890);
GlStateManager.loadIdentity();
GlStateManager.matrixMode(5888);
GlStateManager.enableLighting();
GlStateManager.disableBlend();
}
}
public boolean shouldCombineTextures()
{
return false;
}
}