diff options
Diffstat (limited to 'src/main/java/moe/ymc/safelog/mixin/ServerLoginNetworkHandlerMixin.java')
-rw-r--r-- | src/main/java/moe/ymc/safelog/mixin/ServerLoginNetworkHandlerMixin.java | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/src/main/java/moe/ymc/safelog/mixin/ServerLoginNetworkHandlerMixin.java b/src/main/java/moe/ymc/safelog/mixin/ServerLoginNetworkHandlerMixin.java new file mode 100644 index 0000000..e6c2802 --- /dev/null +++ b/src/main/java/moe/ymc/safelog/mixin/ServerLoginNetworkHandlerMixin.java @@ -0,0 +1,36 @@ +package moe.ymc.safelog.mixin; + +import com.mojang.authlib.GameProfile; +import moe.ymc.safelog.Safelog; +import net.minecraft.network.ClientConnection; +import net.minecraft.server.network.ServerLoginNetworkHandler; +import org.spongepowered.asm.mixin.Final; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.Shadow; +import org.spongepowered.asm.mixin.injection.At; +import org.spongepowered.asm.mixin.injection.Inject; +import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; + +import java.security.MessageDigest; + +@Mixin(value = ServerLoginNetworkHandler.class) +public class ServerLoginNetworkHandlerMixin { + @Shadow + GameProfile profile; + @Shadow + @Final + public ClientConnection connection; + + @Inject( + method = "getConnectionInfo", + at = @At("HEAD"), + cancellable = true + ) + public void getConnectionInfo(CallbackInfoReturnable<String> cir) { + if(profile != null) { + cir.setReturnValue(profile + " (" + Safelog.sanitize(this.connection.getAddress()) + ")"); + } else { + cir.setReturnValue(Safelog.sanitize(this.connection.getAddress())); + } + } +} |