Gl debug msg logging
This commit is contained in:
@@ -0,0 +1,37 @@
|
|||||||
|
package me.cortex.voxy.client.mixin.minecraft;
|
||||||
|
|
||||||
|
import com.llamalad7.mixinextras.injector.wrapoperation.Operation;
|
||||||
|
import com.llamalad7.mixinextras.injector.wrapoperation.WrapOperation;
|
||||||
|
import net.minecraft.client.gl.GlDebug;
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.spongepowered.asm.mixin.Mixin;
|
||||||
|
import org.spongepowered.asm.mixin.Unique;
|
||||||
|
import org.spongepowered.asm.mixin.injection.At;
|
||||||
|
import org.spongepowered.asm.mixin.injection.Inject;
|
||||||
|
|
||||||
|
@Mixin(GlDebug.class)
|
||||||
|
public class MixinGlDebug {
|
||||||
|
@WrapOperation(method = "onDebugMessage", at = @At(value = "INVOKE", target = "Lorg/slf4j/Logger;info(Ljava/lang/String;Ljava/lang/Object;)V"))
|
||||||
|
private void voxy$wrapDebug(Logger instance, String base, Object msgObj, Operation<Void> original) {
|
||||||
|
if (msgObj instanceof GlDebug.DebugMessage msg) {
|
||||||
|
var throwable = new Throwable(msg.toString());
|
||||||
|
if (isCausedByVoxy(throwable.getStackTrace())) {
|
||||||
|
original.call(instance, base, throwable);
|
||||||
|
} else {
|
||||||
|
original.call(instance, base, msg);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
original.call(instance, base, msgObj);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Unique
|
||||||
|
private boolean isCausedByVoxy(StackTraceElement[] trace) {
|
||||||
|
for (var elem : trace) {
|
||||||
|
if (elem.getClassName().startsWith("me.cortex.voxy")) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -11,6 +11,7 @@
|
|||||||
"minecraft.MixinThreadExecutor",
|
"minecraft.MixinThreadExecutor",
|
||||||
"minecraft.MixinWindow",
|
"minecraft.MixinWindow",
|
||||||
"minecraft.MixinWorldRenderer",
|
"minecraft.MixinWorldRenderer",
|
||||||
|
"minecraft.MixinGlDebug",
|
||||||
"sodium.MixinDefaultChunkRenderer",
|
"sodium.MixinDefaultChunkRenderer",
|
||||||
"sodium.MixinRenderSectionManager",
|
"sodium.MixinRenderSectionManager",
|
||||||
"sodium.MixinSodiumOptionsGUI"
|
"sodium.MixinSodiumOptionsGUI"
|
||||||
|
|||||||
@@ -28,4 +28,6 @@ accessible field net/minecraft/world/chunk/PalettedContainer$Data palette Lnet/m
|
|||||||
accessible field net/minecraft/client/gl/GlGpuBuffer id I
|
accessible field net/minecraft/client/gl/GlGpuBuffer id I
|
||||||
|
|
||||||
accessible field net/minecraft/client/gl/GlResourceManager currentProgram Lnet/minecraft/client/gl/ShaderProgram;
|
accessible field net/minecraft/client/gl/GlResourceManager currentProgram Lnet/minecraft/client/gl/ShaderProgram;
|
||||||
accessible field net/minecraft/client/gl/GlResourceManager currentPipeline Lcom/mojang/blaze3d/pipeline/RenderPipeline;
|
accessible field net/minecraft/client/gl/GlResourceManager currentPipeline Lcom/mojang/blaze3d/pipeline/RenderPipeline;
|
||||||
|
|
||||||
|
accessible class net/minecraft/client/gl/GlDebug$DebugMessage
|
||||||
Reference in New Issue
Block a user