diff options
author | Trumeet <yuuta@yuuta.moe> | 2022-08-10 13:12:44 -0700 |
---|---|---|
committer | Trumeet <yuuta@yuuta.moe> | 2022-08-10 13:12:44 -0700 |
commit | e8b3d58b0439b06ec68040cfa326c28db945058e (patch) | |
tree | 2a05d4bf05637e84e733dd38c15be92795873de0 /mod/src | |
parent | 3f6ec840af28c9d89f579a1b73716f49d639f432 (diff) | |
download | acron-e8b3d58b0439b06ec68040cfa326c28db945058e.tar acron-e8b3d58b0439b06ec68040cfa326c28db945058e.tar.gz acron-e8b3d58b0439b06ec68040cfa326c28db945058e.tar.bz2 acron-e8b3d58b0439b06ec68040cfa326c28db945058e.zip |
feat(mod): use @Inject with capture locals instead of @Redirect
Diffstat (limited to 'mod/src')
-rw-r--r-- | mod/src/main/java/moe/ymc/acron/mixin/MinecraftServerMixin.java | 21 |
1 files changed, 7 insertions, 14 deletions
diff --git a/mod/src/main/java/moe/ymc/acron/mixin/MinecraftServerMixin.java b/mod/src/main/java/moe/ymc/acron/mixin/MinecraftServerMixin.java index b602d95..b0d7b0d 100644 --- a/mod/src/main/java/moe/ymc/acron/mixin/MinecraftServerMixin.java +++ b/mod/src/main/java/moe/ymc/acron/mixin/MinecraftServerMixin.java @@ -7,26 +7,19 @@ 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.Redirect; +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(); - @Redirect(method = "runServer()V", + @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(Logger instance, String s, Object o1, Object o2) { - instance.warn(s, o1, o2); - if (s.equals("Can't keep up! " + - "Is the server overloaded? " + - "Running {}ms or {} ticks behind") && - o1 instanceof Long && - o2 instanceof Long) { - AC_LOGGER.debug("Lag: {}ms, {} ticks", - o1, - o2); - EventQueue.enqueue(new EventLagging((long) o1, (long) o2)); - } + private void startServer(CallbackInfo ci, long l, long m) { + EventQueue.enqueue(new EventLagging(l, m)); } } |