Shaders do not prioritize live server version
Tested on build 2109. Possible duplicate of issue #128 but their logs are expired. Briefly discussed on MythicCraft Discord at https://discord.com/channels/213109157983813633/1021937841703489596/threads/1332978602299363338
Using many Model Engine packs designed prior to Minecraft 1.21.2 break due to how Mojang changed shaders in that version. Instead of including corrected files in the proper path of the output resource pack zipped, the plugin places those files in a nondescript "1_21_2" folder. Having to manually archive those files is not obvious to most users.
To further explain the issue:
In the picture above, the 1.21.4 client does not render an older pack's boat model properly because files with correct vertex and fragment paths translated by ModelEngine are not accessible. They should be created at /ModelEngine/resource pack/assets/minecraft/shaders/core
where the contents of rendertype_entity_translucent.json
currently appears as follows.
"vertex": "rendertype_entity_translucent",
"fragment": "rendertype_entity_translucent",
MC 1.21.2 changed these paths so that they must be prefixed with either "core" or "minecraft:core" as follows.
"vertex": "minecraft:core/rendertype_entity_translucent",
"fragment": "minecraft:core/rendertype_entity_translucent",
While shader files can be updated by end users if informed, we believe it would be preferable for Model Engine to prioritize the server version by default when zipping resource packs. While this may prevent the final zip from working with older Minecraft versions, ensuring compatibility with the actual, live environment seems more pertinent. A config option to toggle this behavior might be considered, or maybe a "legacy" folder for files with the old shader path format.
Thank you for continuing to update Model Engine 4.