mojira.dev
MC-106430

"Glowing" shader not reloaded on resource pack reload

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

Attachments

Comments 5

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.

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.

Anyone have any idea if this is being looked into/worked on?

Thank you dinnerbone!

Daniel HD

Nathan Adams

Confirmed

arrow, glowing, resource-pack, shader

Minecraft 1.10.2, Minecraft 16w41a, Minecraft 1.11.2, Minecraft 1.12.2, Minecraft 18w22c, Minecraft 1.13-pre1

Minecraft 19w08a

Retrieved