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

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()]);
}
}