aboutsummaryrefslogtreecommitdiff
path: root/common/src/main/java/dev/isxander/yacl3/mixin/MinecraftMixin.java
blob: 0b228a1208c1ce5cb13a491f3914f31018153f4a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
package dev.isxander.yacl3.mixin;

import dev.isxander.yacl3.gui.image.ImageRendererManager;
import net.minecraft.client.Minecraft;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;

@Mixin(Minecraft.class)
public class MinecraftMixin {
    @Inject(method = "destroy", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/Minecraft;close()V", shift = At.Shift.BEFORE))
    private void closeImages(CallbackInfo ci) {
        ImageRendererManager.closeAll();
    }

    @Inject(method = "runTick", at = @At(value = "HEAD"))
    private void finaliseImages(boolean tick, CallbackInfo ci) {
        ImageRendererManager.pollImageFactories();
    }
}