Old Crystals
Credit goes to Quelchi for the idea.
Brings back the old look of End Crystals.
Newer versions changed how the entity render pipeline lights double sided faces
(PER_FACE_LIGHTING). End Crystals get the worst of it. They are two nested,
spinning glass shells drawn without backface culling, so roughly half of what
you see is the inside of a shell, and that inside shading came out inverted.
The crystal ends up looking wrong.
This mod puts the old shading back. It does not touch textures, models or gameplay.
Features
- End Crystals render like they did before the 1.21.9 update
- Client side only
- Only End Crystals are affected. Every other entity keeps vanilla shading.
- Toggle in game with
/oldcrystalswithout restarting - Needs nothing but Fabric API
How it works
The mod registers a copy of the vanilla entity_cutout_no_cull render pipeline
with the PER_FACE_LIGHTING shader define removed, then swaps it in for End
Crystals through a single mixin. It runs on vanilla's own shaders, so there is
no custom GLSL and no measurable performance cost.
Config
config/oldcrystals.json has one option, legacyCrystals, which defaults to
true. /oldcrystals does the same thing in game and writes the change to the
file right away.
Same crystal with Old Crystals installed. The inner faces are shaded the way they were in 1.21.4, so the shell reads as glass again and the core stays visible.
Vanilla 1.21.11 on the left, Old Crystals on the right. The inner faces of the glass shell are lit the way they were in 1.21.4 again.
Vanilla 1.21.11. The inner faces of the glass shell are lit from the wrong side, so the whole crystal looks dark and the pink core barely shows through.