diff options
| author | Roman / Nea <roman.graef@gmail.com> | 2022-05-06 15:36:49 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-05-06 13:36:49 +0000 |
| commit | ead065aa1303acc3f6834bcfceb77242702b5622 (patch) | |
| tree | a298f0f0d7f6a50adf5725d38b530f4022d08bf8 /src/main/java/io/github/moulberry/notenoughupdates/cosmetics/ShaderManager.java | |
| parent | 43257b6d28934b2ff9651f0a2654c46ea0a909ca (diff) | |
| download | notenoughupdates-ead065aa1303acc3f6834bcfceb77242702b5622.tar.gz notenoughupdates-ead065aa1303acc3f6834bcfceb77242702b5622.tar.bz2 notenoughupdates-ead065aa1303acc3f6834bcfceb77242702b5622.zip | |
Add screensaver cape and make shaders f3+t-able (#125)
Diffstat (limited to 'src/main/java/io/github/moulberry/notenoughupdates/cosmetics/ShaderManager.java')
| -rw-r--r-- | src/main/java/io/github/moulberry/notenoughupdates/cosmetics/ShaderManager.java | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/cosmetics/ShaderManager.java b/src/main/java/io/github/moulberry/notenoughupdates/cosmetics/ShaderManager.java index 4e934e10..02e8215c 100644 --- a/src/main/java/io/github/moulberry/notenoughupdates/cosmetics/ShaderManager.java +++ b/src/main/java/io/github/moulberry/notenoughupdates/cosmetics/ShaderManager.java @@ -1,6 +1,8 @@ package io.github.moulberry.notenoughupdates.cosmetics; import net.minecraft.client.Minecraft; +import net.minecraft.client.resources.IResourceManager; +import net.minecraft.client.resources.IResourceManagerReloadListener; import net.minecraft.util.ResourceLocation; import org.lwjgl.opengl.GL20; import org.lwjgl.opengl.GL43; @@ -14,7 +16,7 @@ import java.io.InputStream; import java.io.InputStreamReader; import java.util.HashMap; -public class ShaderManager { +public class ShaderManager implements IResourceManagerReloadListener { private final ResourceLocation shaderLocation = new ResourceLocation("notenoughupdates:shaders"); private final HashMap<String, Shader> shaderMap = new HashMap<>(); @@ -24,6 +26,14 @@ public class ShaderManager { return INSTANCE; } + @Override + public void onResourceManagerReload(IResourceManager iResourceManager) { + shaderMap.values().forEach(it -> { + GL20.glDeleteProgram(it.program); + }); + shaderMap.clear(); + } + public static class Shader { public final int program; |
