-
Bug
-
Resolution: Fixed
-
Minecraft 1.10.2, Minecraft 16w41a, Minecraft 1.11.2, Minecraft 1.12.2, Minecraft 18w22c, Minecraft 1.13-pre1
-
Confirmed
The bug
If I use a resource pack, to replace the glowing shader, and I load it, and open the game and use the glowing effect, nothing changes. If I restart the whole game, then go in the world though, the changes will take effect. The same goes for changing it back. I believe this may be because minecraft loads the shader and caches it on minecraft load, and that this could be fixed by simply reloading the glowing shader when the resource pack is reloaded.
Code analysis
The following is based on a decompiled version of Minecraft 1.10 using MCP 9.30.
The method net.minecraft.client.renderer.RenderGlobal.makeEntityOutlineShader() is only called when the game is started, whereas the other shaders (creeper, enderman, spider) are reloaded when the resource manager is reloaded. This could be solved by having the method net.minecraft.client.renderer.RenderGlobal.onResourceManagerReload(IResourceManager) call this method and calling the resetting method which is probably net.minecraft.client.shader.ShaderGroup.deleteShaderGroup().
- testing discovered
-
MC-144608 Reloading a shader with modified vert/frag files won't update it
- Resolved