From aaa2b322ff400b337a22bd3086bcaf288f63b082 Mon Sep 17 00:00:00 2001 From: IxPrumxI Date: Fri, 17 Jan 2025 02:25:24 +0300 Subject: [PATCH] Clean up freeze movement logic --- .../FabricRequiredLinkingModule.java | 24 +++++++------------ 1 file changed, 9 insertions(+), 15 deletions(-) diff --git a/fabric/src/main/java/com/discordsrv/fabric/requiredlinking/FabricRequiredLinkingModule.java b/fabric/src/main/java/com/discordsrv/fabric/requiredlinking/FabricRequiredLinkingModule.java index b11b7311..bad76fa2 100644 --- a/fabric/src/main/java/com/discordsrv/fabric/requiredlinking/FabricRequiredLinkingModule.java +++ b/fabric/src/main/java/com/discordsrv/fabric/requiredlinking/FabricRequiredLinkingModule.java @@ -41,6 +41,7 @@ import net.minecraft.server.network.ServerConfigurationNetworkHandler; import net.minecraft.server.network.ServerPlayNetworkHandler; import net.minecraft.server.network.ServerPlayerEntity; import net.minecraft.text.Text; +import net.minecraft.util.math.BlockPos; import org.jetbrains.annotations.Nullable; import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; @@ -233,23 +234,16 @@ public class FabricRequiredLinkingModule extends ServerRequireLinkingModule 0.0001) { - player.networkHandler.requestTeleport(i, j, k, player.getYaw(), player.getPitch()); - IPlayer iPlayer = instance.discordSRV.playerProvider().player(player); - iPlayer.sendMessage(freezeReason); - + BlockPos from = player.getBlockPos(); + BlockPos to = new BlockPos((int) packet.getX(player.getX()), (int) packet.getY(player.getY()), (int) packet.getZ(player.getZ())); + if(from.getX() == to.getX() && from.getY() >= to.getY() && from.getZ() == to.getZ()) { + return; } + player.requestTeleport(from.getX() + 0.5, from.getY(), from.getZ() + 0.5); + IPlayer iPlayer = instance.discordSRV.playerProvider().player(player); + iPlayer.sendMessage(freezeReason); + ci.cancel(); }