You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
56 lines
1.5 KiB
56 lines
1.5 KiB
package ru.simsonic.rscPermissions.Bukkit; |
|
|
|
import java.net.InetSocketAddress; |
|
import java.util.ArrayList; |
|
import org.bukkit.OfflinePlayer; |
|
import org.bukkit.entity.Player; |
|
import ru.simsonic.rscMinecraftLibrary.Bukkit.Tools; |
|
|
|
public class BukkitUtilities |
|
{ |
|
public static Player findOnlinePlayer(String player) |
|
{ |
|
for(Player online : Tools.getOnlinePlayers()) |
|
if(online.getName().equals(player)) |
|
return online; |
|
return null; |
|
} |
|
public static String[] getOfflinePlayerIdentifiers(OfflinePlayer offline) |
|
{ |
|
final ArrayList<String> result = new ArrayList<>(); |
|
// SERVERS BEFORE UUIDs |
|
try |
|
{ |
|
result.add(offline.getName()); |
|
} catch(RuntimeException | NoSuchMethodError ex) { |
|
} |
|
// SERVERS WITH UUIDs |
|
try |
|
{ |
|
result.add(offline.getUniqueId().toString().toLowerCase()); |
|
} catch(RuntimeException | NoSuchMethodError ex) { |
|
} |
|
return result.toArray(new String[result.size()]); |
|
} |
|
public static String[] getPlayerIdentifiers(Player player) |
|
{ |
|
// SERVERS BEFORE UUIDs |
|
final ArrayList<String> result = new ArrayList<>(); |
|
try |
|
{ |
|
result.add(player.getName()); |
|
} catch(RuntimeException | NoSuchMethodError ex) { |
|
} |
|
// SERVERS WITH UUIDs |
|
try |
|
{ |
|
result.add(player.getUniqueId().toString().toLowerCase()); |
|
} catch(RuntimeException | NoSuchMethodError ex) { |
|
} |
|
// ONLINE IP CONNECTION |
|
final InetSocketAddress socketAddress = player.getAddress(); |
|
if(socketAddress != null) |
|
result.add(socketAddress.getAddress().getHostAddress()); |
|
return result.toArray(new String[result.size()]); |
|
} |
|
}
|
|
|