aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/de
diff options
context:
space:
mode:
authorolim <bobq4582@gmail.com>2024-06-23 17:37:49 +0100
committerolim <bobq4582@gmail.com>2024-07-01 14:26:13 +0100
commit981fe6a917dc966b980b5571d0653986242d84dc (patch)
tree0a784d276fb6401add55f90606fedabf61edb77c /src/main/java/de
parent411d655b8b29452671a9f211ca1daa31795b1bbe (diff)
downloadSkyblocker-981fe6a917dc966b980b5571d0653986242d84dc.tar.gz
Skyblocker-981fe6a917dc966b980b5571d0653986242d84dc.tar.bz2
Skyblocker-981fe6a917dc966b980b5571d0653986242d84dc.zip
fix bad use of ping packet
Diffstat (limited to 'src/main/java/de')
-rw-r--r--src/main/java/de/hysky/skyblocker/mixins/PingMeasuererMixin.java22
-rw-r--r--src/main/java/de/hysky/skyblocker/mixins/PingMeasureMixin.java22
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/crimson/dojo/DojoManager.java3
3 files changed, 24 insertions, 23 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);
- }
- }
-}
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/crimson/dojo/DojoManager.java b/src/main/java/de/hysky/skyblocker/skyblock/crimson/dojo/DojoManager.java
index 1f92c7db..f431275d 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/crimson/dojo/DojoManager.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/crimson/dojo/DojoManager.java
@@ -21,6 +21,7 @@ import net.minecraft.text.Text;
import net.minecraft.util.ActionResult;
import net.minecraft.util.Formatting;
import net.minecraft.util.Hand;
+import net.minecraft.util.Util;
import net.minecraft.util.hit.EntityHitResult;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World;
@@ -127,7 +128,7 @@ public class DojoManager {
private static void getPing() {
ClientPlayNetworkHandler networkHandler = CLIENT.getNetworkHandler();
if (networkHandler != null) {
- networkHandler.sendPacket(new QueryPingC2SPacket(System.currentTimeMillis()));
+ networkHandler.sendPacket(new QueryPingC2SPacket(Util.getMeasuringTimeMs()));
}
}
public static void onPingResult(long ping) {