From fa3455054c084fea618f6f236ff867cb38a43a23 Mon Sep 17 00:00:00 2001 From: Trumeet Date: Sun, 17 Oct 2021 22:20:58 -0700 Subject: First Commit --- .../moe/ymc/safelog/mixin/PlayerManagerMixin.java | 28 ++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 src/main/java/moe/ymc/safelog/mixin/PlayerManagerMixin.java (limited to 'src/main/java/moe/ymc/safelog/mixin/PlayerManagerMixin.java') diff --git a/src/main/java/moe/ymc/safelog/mixin/PlayerManagerMixin.java b/src/main/java/moe/ymc/safelog/mixin/PlayerManagerMixin.java new file mode 100644 index 0000000..43458ac --- /dev/null +++ b/src/main/java/moe/ymc/safelog/mixin/PlayerManagerMixin.java @@ -0,0 +1,28 @@ +package moe.ymc.safelog.mixin; + +import moe.ymc.safelog.SanitizedInetSocketAddress; +import net.minecraft.network.ClientConnection; +import net.minecraft.server.PlayerManager; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.injection.At; +import org.spongepowered.asm.mixin.injection.Redirect; + +import java.net.InetSocketAddress; +import java.net.SocketAddress; + +@Mixin(PlayerManager.class) +public class PlayerManagerMixin { + @Redirect( + method = "onPlayerConnect", + at = @At( + value = "INVOKE", + target = "Lnet/minecraft/network/ClientConnection;getAddress()Ljava/net/SocketAddress;") + ) + public SocketAddress modifyGetAddress(ClientConnection clientConnection) { + SocketAddress address = clientConnection.getAddress(); + if (!(address instanceof InetSocketAddress inetAddress)) { + return address; + } + return new SanitizedInetSocketAddress(inetAddress.getAddress(), inetAddress.getPort()); + } +} -- cgit v1.2.3