@@ -43,38 +43,45 @@ protected void seen(final Server server, final CommandSource sender, final Strin
4343 {
4444 throw new NotEnoughArgumentsException ();
4545 }
46- try
46+ User player = ess .getOfflineUser (args [0 ]);
47+ if (player == null )
4748 {
48- User user = getPlayer (server , sender , args , 0 );
49- seenOnline (server , sender , user , showBan , extra );
50- }
51- catch (NoSuchFieldException e )
52- {
53- User player = ess .getOfflineUser (args [0 ]);
54- if (player == null )
49+ if (ipLookup && FormatUtil .validIP (args [0 ]))
5550 {
56- if (ipLookup && FormatUtil .validIP (args [0 ]))
57- {
58- seenIP (server , sender , args [0 ]);
59- return ;
60- }
61- else if (ess .getServer ().getBanList (BanList .Type .IP ).isBanned (args [0 ]))
62- {
63- sender .sendMessage (tl ("isIpBanned" , args [0 ]));
64- return ;
65- }
66- else if (BanLookup .isBanned (ess , args [0 ]))
51+ seenIP (server , sender , args [0 ]);
52+ return ;
53+ }
54+ else if (ess .getServer ().getBanList (BanList .Type .IP ).isBanned (args [0 ]))
55+ {
56+ sender .sendMessage (tl ("isIpBanned" , args [0 ]));
57+ return ;
58+ }
59+ else if (BanLookup .isBanned (ess , args [0 ]))
60+ {
61+ sender .sendMessage (tl ("whoisBanned" , showBan ? BanLookup .getBanEntry (ess , args [0 ]).getReason () : tl ("true" )));
62+ return ;
63+ }
64+ else
65+ {
66+ try
6767 {
68- sender .sendMessage (tl ("whoisBanned" , showBan ? BanLookup .getBanEntry (ess , args [0 ]).getReason () : tl ("true" )));
69- return ;
68+ player = getPlayer (server , sender , args , 0 );
7069 }
71- else
70+ catch ( NoSuchFieldException e )
7271 {
7372 throw new PlayerNotFoundException ();
7473 }
7574 }
75+ }
76+ if (player .getBase ().isOnline () && canInteractWith (sender , player ))
77+ {
78+ seenOnline (server , sender , player , showBan , extra );
79+ }
80+ else
81+ {
7682 seenOffline (server , sender , player , showBan , extra );
7783 }
84+
7885 }
7986
8087 private void seenOnline (final Server server , final CommandSource sender , final User user , final boolean showBan , final boolean extra ) throws Exception
0 commit comments