- Баллы
- 61
- Имя в Minecraft
- Aviloo
Всем привет . Хочу запретить играть ОДНОВРЕМЕННО с нескольких аккаунтов на сервере. Пытался написать подобную фичу , но не выходит (хз почему . Ошибок в консоли нет .). Я прекрасно понимаю ,что никто не хочет лопатить чужой код (прикреплю его здесь , вдруг кто-то , с свободным временем и добрым сердцем <3 найдется.)Если же лень , то посоветуйте похожие плагины , пожалуйста .Заранее спасибо .
P.S:В main - классе все объявлено.
Код:
public class AMA implements Listener {
private ArrayList<InetSocketAddress> playersSocket = new ArrayList<>();
private ArrayList<InetSocketAddress> playersSocketExpelConnectedPlayer(Player player){
ArrayList<InetSocketAddress> list = new ArrayList<>();
for(InetSocketAddress is: playersSocket){
list.add(is);
}
list.remove(player.getAddress());
return list;
}
private void addAddress(Player player){
playersSocket.add(player.getAddress());
}
private void removeAddress(Player player){
playersSocket.remove(player.getAddress());
}
@EventHandler
public void onQuit(PlayerQuitEvent event){
Player player = event.getPlayer();
removeAddress(player);
}
@EventHandler
public void onJoin(PlayerJoinEvent event){
Player player = event.getPlayer();
if(playersSocket.isEmpty()){
addAddress(player);
}
for(InetSocketAddress ap: playersSocketExpelConnectedPlayer(player)){
if(ap.equals(player.getAddress())){
player.kickPlayer("No multi account");
}
if(!ap.equals(player.getAddress())){
addAddress(player);
}
}
}
}
P.S:В main - классе все объявлено.