mojira.dev
MC-50129

Parts of semi-transparent models (slime blocks, stained glass) are rendered in the wrong order when in third person or in hand

Semi-transparent model parts are rendered in the wrong order when viewed in third person or when held in first person.

From certain locations, semi-transparent blocks with multiple parts, notably plains, are rendered in the wrong order.

In the screenshot, the "plains" are on top, then the lower "block", then the upper "block", instead of the upper "block", the "plains", then the lower "block".

In the third screenshot, the upper block appears behind the lower block, it is location dependent though.

Steps to reproduce:

  1. Apply a solid texture to the slime block, or use the provided debug pack

  2. In hand

    1. Hold a slime block in your hand

    2. Notice the center cube is sticking out at you.

  3. In third person

    1. Hold the slime block in your hand

    2. Notice countless errors in it's rendering

Edit in 14w30a: Fixed the incorrect rendering every sixteen blocks vertically, which causing the upper block to render behind the lower block.

Related issues

Attachments

Comments

migrated
[media][media][media][media][media][media][media][media]
kumasasa

What block is that ?

KnightMiner

Slime block, but it also works with stained glass. I think it's always been happening, but since it was transparent, it was not noticed.

KnightMiner

Here is a screenshot of the slime block by default, not how bright the one in the back is.

kumasasa

Please force a crash by pressing F3 + C for 10 seconds while in-game and attach the crash report ([minecraft/crash-reports/crash-<DATE>-client.txt|http://hopper.minecraft.net/help/finding-minecraft-data-folder]) here.

Please attach your resource pack.

KnightMiner

Resource pack with all affected

KnightMiner

Crash report.
Something to note (just discovered), the issue with the blocks placed in the world only happens at y=80

kumasasa

I'd say your slimeblock.json model is buggy.
Happens too after switching off your resourcepack (the models won't be reloaded until restart, but that another issue)

slimeblock.json

{
    "__comment": "Fair warning, this format is highly likely to change even more in the future!",
    "name": "slimeblock",
    "elements": [
        {
            "__comment": "upper body",
            "type": "cube",
            "from": [ 0, 12, 0 ],
            "to": [ 16, 16, 16 ],
            "shade": [ 0.5, 1.0, 0.8, 0.8, 0.6, 0.6 ],
            "uv": [
                [ 8, 0, 16, 8, "down" ],
                [ 8, 0, 16, 8, "up" ],
                [ 0, 0, 8, 2, "north" ],
                [ 0, 0, 8, 2, "south" ],
                [ 0, 0, 8, 2, "west" ],
                [ 0, 0, 8, 2, "east" ]
            ],
            "cull": [ false, false, false, false, false, false ]
        },
        {
            "__comment": "lower body",
            "type": "cube",
            "from": [ 0, 0, 0 ],
            "to": [ 16, 4, 16 ],
            "shade": [ 0.5, 1.0, 0.8, 0.8, 0.6, 0.6 ],
            "uv": [
                [ 8, 8, 16, 16, "down" ],
                [ 8, 8, 16, 16, "up" ],
                [ 0, 6, 8, 8, "north" ],
                [ 0, 6, 8, 8, "south" ],
                [ 0, 6, 8, 8, "west" ],
                [ 0, 6, 8, 8, "east" ]
            ],
            "cull": [ false, false, false, false, false, false ]
        },
        {   "type": "plane",
            "from": [ 0, 0, 8 ],
            "to": [ 16, 16, 8 ],
            "uv": [ 0, 8, 8, 16, "down" ],
            "facing": "south",
            "rotation": [ 0, 45, 0 ],
            "cull": false
        },
        {   "type": "plane",
            "from": [ 0, 0, 8 ],
            "to": [ 16, 16, 8 ],
            "uv": [ 0, 8, 8, 16, "down" ],
            "facing": "north",
            "rotation": [ 0, 45, 0 ],
            "cull": false
        },
        {   "type": "plane",
            "from": [ 8, 0, 0 ],
            "to": [ 8, 16, 16 ],
            "uv": [ 0, 8, 8, 16, "down" ],
            "facing": "east",
            "rotation": [ 0, 45, 0 ],
            "cull": false
        },
        {   "type": "plane",
            "from": [ 8, 0, 0 ],
            "to": [ 8, 16, 16 ],
            "uv": [ 0, 8, 8, 16, "down" ],
            "facing": "west",
            "rotation": [ 0, 45, 0 ],
            "cull": false
        }
    ]
}
KnightMiner

The reason for the halfway points it a bit of a cheat to include more texture space

KnightMiner

I don't think it's the model, here is the default slime block model with a solid texture.

KnightMiner

Uploaded new version of the debug pack using just a solid texture. Bug still present.

KnightMiner

Figured out the certain locations for transparent blocks rendering in the wrong order (the non-plains thing), vertical chunk borders, or every 16 blocks

KnightMiner

The semi-transparent blocks no longer render oddly on vertical chunk borders, it seems the new chunk threading fixed that. The other two issues are still relevant though

KnightMiner

It seems this is a duplicate of MC-44373, though that issue only lists two of the three issues (one of which is fixed as far as I can tell) and has note been updated since 1.8 release.

kumasasa

Resolved as Duplicate of MC-44373 (that one has more duplicates), but made you the reporter of that ticket.

Ercerus

Still there in 16w20a.

KnightMiner

This issue has been resolved as a duplicate, so head over there for confirming it still exists.

KnightMiner

(Unassigned)

Unconfirmed

Minecraft 14w08a, Minecraft 14w10b, Minecraft 14w10c, Minecraft 14w11a, Minecraft 14w11b, ..., Minecraft 1.8.2-pre1, Minecraft 1.8.2-pre3, Minecraft 1.8.2-pre4, Minecraft 1.8.2-pre6, Minecraft 1.8.2-pre7

Retrieved