diff options
author | olim <bobq4582@gmail.com> | 2024-06-23 17:37:49 +0100 |
---|---|---|
committer | olim <bobq4582@gmail.com> | 2024-07-01 14:26:13 +0100 |
commit | 981fe6a917dc966b980b5571d0653986242d84dc (patch) | |
tree | 0a784d276fb6401add55f90606fedabf61edb77c /src/main/java/de | |
parent | 411d655b8b29452671a9f211ca1daa31795b1bbe (diff) | |
download | Skyblocker-981fe6a917dc966b980b5571d0653986242d84dc.tar.gz Skyblocker-981fe6a917dc966b980b5571d0653986242d84dc.tar.bz2 Skyblocker-981fe6a917dc966b980b5571d0653986242d84dc.zip |
fix bad use of ping packet
Diffstat (limited to 'src/main/java/de')
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) { |