Improve launcher injection and hook reliability

Find Fabric through the render thread's class loader and make bytecode transformations safer for launcher-provided class definitions. Improve hook reporting, process-picker refresh behavior, and self-destruct cleanup; document Dawn and Lunar 1.21.11 setup.
This commit is contained in:
bbldrizzy committed 2026-11-03 11:40:43 +00:00
1 parent 38ff6d387c
commit 036b24f2ae
12 files changed
+186 -48

No files matched your search

@@ -7,20 +7,15 @@ import net.lenni0451.classtransform.annotations.CTarget;
import net.lenni0451.classtransform.annotations.CTransformer;
import net.lenni0451.classtransform.annotations.injection.CInject;
import net.minecraft.client.gui.hud.InGameOverlayRenderer;
import net.minecraft.client.render.VertexConsumerProvider;
import net.minecraft.client.util.math.MatrixStack;
@CTransformer({InGameOverlayRenderer.class})
public class InGameOverlayRendererMixin {
@CInject(
method = {"renderFireOverlay"},
target = {@CTarget(
value = "INVOKE",
target = "Lnet/minecraft/client/util/math/MatrixStack;translate(FFF)V"
)},
target = {@CTarget("HEAD")},
cancellable = true
)
private static void hideFireOverlayBeforeTranslate(MatrixStack matrices, VertexConsumerProvider vertexConsumers, InjectionCallback ci) {
private static void hideFireOverlayAtHead(InjectionCallback ci) {
FireOverlayEvent event = HookBridge.createFireOverlayEvent();
if (HookBridge.postFireOverlayEvent(event)) {
ci.cancel();