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()
.
Linked issues
testing discovered 1
Attachments
Comments 5
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.
This IS a problem in the code, not the resource pack.
New related bug: MC-144608
This is just a problem with your resource pack, which makes this issue invalid, unless you can have it proved it's a fault with the Minecraft code.