mirror of
https://github.com/DiscordSRV/Ascension.git
synced 2025-02-22 02:41:23 +01:00
Clean up freeze movement logic
This commit is contained in:
parent
01287a37bd
commit
aaa2b322ff
@ -41,6 +41,7 @@ import net.minecraft.server.network.ServerConfigurationNetworkHandler;
|
|||||||
import net.minecraft.server.network.ServerPlayNetworkHandler;
|
import net.minecraft.server.network.ServerPlayNetworkHandler;
|
||||||
import net.minecraft.server.network.ServerPlayerEntity;
|
import net.minecraft.server.network.ServerPlayerEntity;
|
||||||
import net.minecraft.text.Text;
|
import net.minecraft.text.Text;
|
||||||
|
import net.minecraft.util.math.BlockPos;
|
||||||
import org.jetbrains.annotations.Nullable;
|
import org.jetbrains.annotations.Nullable;
|
||||||
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
|
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
|
||||||
|
|
||||||
@ -233,23 +234,16 @@ public class FabricRequiredLinkingModule extends ServerRequireLinkingModule<Fabr
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
double d = ServerPlayNetworkHandler.clampHorizontal(packet.getX(player.getX()));
|
BlockPos from = player.getBlockPos();
|
||||||
double e = ServerPlayNetworkHandler.clampVertical(packet.getY(player.getY()));
|
BlockPos to = new BlockPos((int) packet.getX(player.getX()), (int) packet.getY(player.getY()), (int) packet.getZ(player.getZ()));
|
||||||
double f = ServerPlayNetworkHandler.clampHorizontal(packet.getZ(player.getZ()));
|
if(from.getX() == to.getX() && from.getY() >= to.getY() && from.getZ() == to.getZ()) {
|
||||||
double i = player.getX();
|
return;
|
||||||
double j = player.getY();
|
|
||||||
double k = player.getZ();
|
|
||||||
double l = d - player.networkHandler.lastTickX;
|
|
||||||
double m = e - player.networkHandler.lastTickY;
|
|
||||||
double n = f - player.networkHandler.lastTickZ;
|
|
||||||
// If the player last position is the same. Don't move the player
|
|
||||||
if (l * l + m * m + n * n > 0.0001) {
|
|
||||||
player.networkHandler.requestTeleport(i, j, k, player.getYaw(), player.getPitch());
|
|
||||||
IPlayer iPlayer = instance.discordSRV.playerProvider().player(player);
|
|
||||||
iPlayer.sendMessage(freezeReason);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
player.requestTeleport(from.getX() + 0.5, from.getY(), from.getZ() + 0.5);
|
||||||
|
IPlayer iPlayer = instance.discordSRV.playerProvider().player(player);
|
||||||
|
iPlayer.sendMessage(freezeReason);
|
||||||
|
|
||||||
ci.cancel();
|
ci.cancel();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user