aboutsummaryrefslogtreecommitdiff
path: root/mod/src/main/java/moe/ymc/acron/mixin/MinecraftServerMixin.java
blob: b0d7b0d452dff897a87efe313bc0aad0ca2de79e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
package moe.ymc.acron.mixin;

import moe.ymc.acron.s2c.EventQueue;
import moe.ymc.acron.s2c.event.EventLagging;
import net.minecraft.server.MinecraftServer;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
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;
import org.spongepowered.asm.mixin.injection.callback.LocalCapture;

@Mixin(MinecraftServer.class)
public class MinecraftServerMixin {
    private static final Logger AC_LOGGER = LogManager.getLogger();

    @Inject(method = "runServer()V",
            locals = LocalCapture.CAPTURE_FAILHARD,
            at = @At(value = "INVOKE",
                    target = "Lorg/apache/logging/log4j/Logger;warn(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V"))
    private void startServer(CallbackInfo ci, long l, long m) {
        EventQueue.enqueue(new EventLagging(l, m));
    }
}