Fix compatibility with Optifine 1.12.2 E1
Optifine has changed some package names, this commit deals with that.
This commit is contained in:
@@ -27,7 +27,13 @@ public class OptifineReflection {
|
||||
|
||||
public static void reloadLang() {
|
||||
try {
|
||||
Class.forName("Lang").getDeclaredMethod("resourcesReloaded").invoke(null);
|
||||
Class<?> langClass;
|
||||
try {
|
||||
langClass = Class.forName("Lang"); // Pre Optifine 1.12.2 E1
|
||||
} catch (ClassNotFoundException ignore) {
|
||||
langClass = Class.forName("net.optifine.Lang"); // Post Optifine 1.12.2 E1
|
||||
}
|
||||
langClass.getDeclaredMethod("resourcesReloaded").invoke(null);
|
||||
} catch (ClassNotFoundException ignore) {
|
||||
// no optifine installed
|
||||
} catch (NoSuchMethodException | InvocationTargetException | IllegalAccessException e) {
|
||||
|
||||
@@ -25,16 +25,19 @@ public class ShaderReflection {
|
||||
|
||||
static {
|
||||
try {
|
||||
shaders_frameTimeCounter = Class.forName("shadersmod.client.Shaders")
|
||||
.getDeclaredField("frameTimeCounter");
|
||||
Class<?> shadersClass;
|
||||
try {
|
||||
shadersClass = Class.forName("shadersmod.client.Shaders"); // Pre Optifine 1.12.2 E1
|
||||
} catch (ClassNotFoundException ignore) {
|
||||
shadersClass = Class.forName("net.optifine.shaders.Shaders"); // Post Optifine 1.12.2 E1
|
||||
}
|
||||
shaders_frameTimeCounter = shadersClass.getDeclaredField("frameTimeCounter");
|
||||
shaders_frameTimeCounter.setAccessible(true);
|
||||
|
||||
shaders_isShadowPass = Class.forName("shadersmod.client.Shaders")
|
||||
.getDeclaredField("isShadowPass");
|
||||
shaders_isShadowPass = shadersClass.getDeclaredField("isShadowPass");
|
||||
shaders_isShadowPass.setAccessible(true);
|
||||
|
||||
shaders_beginRender = Class.forName("shadersmod.client.Shaders")
|
||||
.getDeclaredMethod("beginRender", Minecraft.class, float.class, long.class);
|
||||
shaders_beginRender = shadersClass.getDeclaredMethod("beginRender", Minecraft.class, float.class, long.class);
|
||||
shaders_beginRender.setAccessible(true);
|
||||
|
||||
renderGlobal_chunksToUpdateForced = Class.forName("net.minecraft.client.renderer.RenderGlobal")
|
||||
|
||||
@@ -9,7 +9,10 @@ import org.spongepowered.asm.mixin.injection.Inject;
|
||||
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
|
||||
|
||||
@Pseudo
|
||||
@Mixin(targets = "shadersmod/client/ShadersRender", remap = false)
|
||||
@Mixin(targets = {
|
||||
"shadersmod/client/ShadersRender", // Pre Optifine 1.12.2 E1
|
||||
"net/optifine/shaders/ShadersRender" // Post Optifine 1.12.2 E1
|
||||
}, remap = false)
|
||||
public abstract class MixinShadersRender {
|
||||
|
||||
@Inject(method = "renderHand0", at = @At("HEAD"), cancellable = true)
|
||||
|
||||
Reference in New Issue
Block a user