aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/de/hysky/skyblocker/mixins
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/de/hysky/skyblocker/mixins')
-rw-r--r--src/main/java/de/hysky/skyblocker/mixins/PingMeasuererMixin.java22
-rw-r--r--src/main/java/de/hysky/skyblocker/mixins/PingMeasureMixin.java22
2 files changed, 22 insertions, 22 deletions
diff --git a/src/main/java/de/hysky/skyblocker/mixins/PingMeasuererMixin.java b/src/main/java/de/hysky/skyblocker/mixins/PingMeasuererMixin.java
new file mode 100644
index 00000000..21ed613f
--- /dev/null
+++ b/src/main/java/de/hysky/skyblocker/mixins/PingMeasuererMixin.java
@@ -0,0 +1,22 @@
+package de.hysky.skyblocker.mixins;
+
+import com.llamalad7.mixinextras.injector.wrapoperation.Operation;
+import com.llamalad7.mixinextras.injector.wrapoperation.WrapOperation;
+import de.hysky.skyblocker.skyblock.crimson.dojo.DojoManager;
+import de.hysky.skyblocker.utils.Utils;
+import net.minecraft.client.network.PingMeasurer;
+import net.minecraft.util.profiler.MultiValueDebugSampleLogImpl;
+import org.spongepowered.asm.mixin.Mixin;
+import org.spongepowered.asm.mixin.injection.At;
+
+@Mixin(PingMeasurer.class)
+public class PingMeasuererMixin {
+
+ @WrapOperation(method = "onPingResult", at = @At(value = "INVOKE", target = "Lnet/minecraft/util/profiler/MultiValueDebugSampleLogImpl;push(J)V"))
+ private void skyblocker$onPingResult(MultiValueDebugSampleLogImpl log, long ping, Operation<Void> operation) {
+ if (Utils.isInCrimson()) {
+ DojoManager.onPingResult(ping);
+ }
+ operation.call(new Object[]{log, ping});
+ }
+}
diff --git a/src/main/java/de/hysky/skyblocker/mixins/PingMeasureMixin.java b/src/main/java/de/hysky/skyblocker/mixins/PingMeasureMixin.java
deleted file mode 100644
index e82fc86e..00000000
--- a/src/main/java/de/hysky/skyblocker/mixins/PingMeasureMixin.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package de.hysky.skyblocker.mixins;
-
-import de.hysky.skyblocker.skyblock.crimson.dojo.DojoManager;
-import de.hysky.skyblocker.utils.Utils;
-import net.minecraft.client.network.PingMeasurer;
-import net.minecraft.network.packet.s2c.query.PingResultS2CPacket;
-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(PingMeasurer.class)
-public class PingMeasureMixin {
-
- @Inject(method = "onPingResult", at = @At("RETURN"))
- private void skyblocker$onPingResult(PingResultS2CPacket packet, CallbackInfo ci) {
- if (Utils.isInCrimson()) {
- long ping = System.currentTimeMillis() - packet.startTime();
- DojoManager.onPingResult(ping);
- }
- }
-}