Fix rendering with OF F1_pre13 (via OptiFabric) installed
Note that to run it in dev env, one must switch back fabric-api to 0.2.
This commit is contained in:
@@ -44,7 +44,11 @@ public class ShaderBeginRender extends EventRegistrations {
|
|||||||
// check if Shaders are enabled
|
// check if Shaders are enabled
|
||||||
if (!(boolean) (ShaderReflection.config_isShaders.invoke(null))) return;
|
if (!(boolean) (ShaderReflection.config_isShaders.invoke(null))) return;
|
||||||
|
|
||||||
ShaderReflection.shaders_beginRender.invoke(null, mc, getRenderPartialTicks(), 0);
|
ShaderReflection.shaders_beginRender.invoke(null, mc,
|
||||||
|
//#if MC>=11400
|
||||||
|
mc.gameRenderer.getCamera(),
|
||||||
|
//#endif
|
||||||
|
getRenderPartialTicks(), 0);
|
||||||
} catch (IllegalAccessException | InvocationTargetException e) {
|
} catch (IllegalAccessException | InvocationTargetException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,6 +3,10 @@ package com.replaymod.compat.shaders;
|
|||||||
|
|
||||||
import net.minecraft.client.MinecraftClient;
|
import net.minecraft.client.MinecraftClient;
|
||||||
|
|
||||||
|
//#if MC>=11400
|
||||||
|
import net.minecraft.client.render.Camera;
|
||||||
|
//#endif
|
||||||
|
|
||||||
import java.lang.reflect.Field;
|
import java.lang.reflect.Field;
|
||||||
import java.lang.reflect.Method;
|
import java.lang.reflect.Method;
|
||||||
|
|
||||||
@@ -37,7 +41,11 @@ public class ShaderReflection {
|
|||||||
shaders_isShadowPass = shadersClass.getDeclaredField("isShadowPass");
|
shaders_isShadowPass = shadersClass.getDeclaredField("isShadowPass");
|
||||||
shaders_isShadowPass.setAccessible(true);
|
shaders_isShadowPass.setAccessible(true);
|
||||||
|
|
||||||
shaders_beginRender = shadersClass.getDeclaredMethod("beginRender", MinecraftClient.class, float.class, long.class);
|
shaders_beginRender = shadersClass.getDeclaredMethod("beginRender", MinecraftClient.class,
|
||||||
|
//#if MC>=11400
|
||||||
|
Camera.class,
|
||||||
|
//#endif
|
||||||
|
float.class, long.class);
|
||||||
shaders_beginRender.setAccessible(true);
|
shaders_beginRender.setAccessible(true);
|
||||||
|
|
||||||
renderGlobal_chunksToUpdateForced = Class.forName("net.minecraft.client.renderer.RenderGlobal")
|
renderGlobal_chunksToUpdateForced = Class.forName("net.minecraft.client.renderer.RenderGlobal")
|
||||||
|
|||||||
@@ -21,8 +21,6 @@ public abstract class MixinShaderRenderChunk {
|
|||||||
*/
|
*/
|
||||||
@Inject(method = "isPlayerUpdate", at = @At("HEAD"), cancellable = true, remap = false)
|
@Inject(method = "isPlayerUpdate", at = @At("HEAD"), cancellable = true, remap = false)
|
||||||
private void replayModCompat_disableIsPlayerUpdate(CallbackInfoReturnable<Boolean> ci) {
|
private void replayModCompat_disableIsPlayerUpdate(CallbackInfoReturnable<Boolean> ci) {
|
||||||
// TODO: Update to 1.12 once optifine is available
|
|
||||||
// TODO: We're on 1.13 now and haven't gotten any 1.12 complaints, so 1.12 is probably working but 1.13?
|
|
||||||
if (((EntityRendererHandler.IEntityRenderer) mc.gameRenderer).replayModRender_getHandler() == null) return;
|
if (((EntityRendererHandler.IEntityRenderer) mc.gameRenderer).replayModRender_getHandler() == null) return;
|
||||||
ci.setReturnValue(true);
|
ci.setReturnValue(true);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -26,6 +26,7 @@
|
|||||||
"mixins": [
|
"mixins": [
|
||||||
"mixins.jgui.json",
|
"mixins.jgui.json",
|
||||||
"mixins.core.replaymod.json",
|
"mixins.core.replaymod.json",
|
||||||
|
"mixins.compat.shaders.replaymod.json",
|
||||||
"mixins.extras.playeroverview.replaymod.json",
|
"mixins.extras.playeroverview.replaymod.json",
|
||||||
"mixins.recording.replaymod.json",
|
"mixins.recording.replaymod.json",
|
||||||
"mixins.render.blend.replaymod.json",
|
"mixins.render.blend.replaymod.json",
|
||||||
|
|||||||
Reference in New Issue
Block a user