mojira.dev
MC-98888

Incorrect rendering of mobs, when rendered charged creeper

Other mobs are rendered from the inside, when a charged creeper is rendered.

Related issues

Attachments

Comments

migrated
[media][media][media]
migrated

merging this and MC-79697

marcono1234

Confirmed for

  • 1.9.1-pre3

marcono1234

Please link to this comment in the description

The following is based on decompiled version of Minecraft 1.9 using MCP 9.24 beta. All method and class names are the names used in the decompiled version.

The reason why this happens is because the method net.minecraft.client.renderer.entity.layers.LayerCreeperCharge.doRenderLayer(EntityCreeper, float, float, float, float, float, float, float) calls the method net.minecraft.client.renderer.GlStateManager.depthMask(boolean) at the beginning of the rendering with if the Creeper is invisible and at the end with if the Creeper is not invisible. This means for not invisible Creepers it will disable depth after it finished rendering. Instead it should always call the method with true at the end (like it is for example done with the eyes of Endermen).

public void doRenderLayer(EntityCreeper 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)
{
    if (entitylivingbaseIn.getPowered())
    {
        boolean flag = entitylivingbaseIn.isInvisible();
        GlStateManager.depthMask(!flag);
        
        //...
        
        GlStateManager.disableBlend();
        // Replaced this
        //GlStateManager.depthMask(flag);
        GlStateManager.depthMask(true);
    }
}
migrated

@unknown I merged this with MC-79697 to that ticket, not this one

marcono1234

I would not say that it duplicates MC-79697. They are closely related but the source is a slightly different one

migrated

but it's the same underlying issue, going to resolve your MC-99897 to there as well now, because it is (again) the same issue

JUE13

(Unassigned)

Unconfirmed

creeper, creepers, rendering

Minecraft 1.9, Minecraft 1.9.1 Pre-Release 1, Minecraft 1.9.1 Pre-Release 2, Minecraft 1.9.1 Pre-Release 3

Retrieved