Помогите Первый заход игрока на сервер

  • Автор темы Автор темы Sergeo
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.

Sergeo

Активный участник
Пользователь
Баллы
76
Имя в Minecraft
Solomka
Как сделать следующие, если игрок зашел не первый раз и его айпи адреса нет в конфиге, он заносился
в конфиг с самым его первым айпи адресом, на который он заходил.

И можно ли сделать так: При каждом заходе нового игрока его айпи адрес вносился в другой список и , вдруг, он удалился, он будет брать его с списка, заносить в другой список, а там уже он будет сравнивать.

Текущий код, который отвечает за айпишники:
Код:
    @EventHandler
    public void joinPlayer(PlayerJoinEvent e) throws IOException {

        Player p = e.getPlayer();

        UUID id = p.getUniqueId();

        String address = p.getAddress().getHostName();

        List<String> firstIp = getStringList("WaitConfirm." + p.getName() + ".firstIP");
        List<String> twoIp = getStringList("WaitConfirm." + p.getName() + ".twoIP");

        List<String> user = getStringList("Admin.users");

        if(user.contains(p.getName())) {
            waitPassword.add(p);
        }

        if(!p.hasPlayedBefore()) {
            firstIp.add(address);
            twoIp.add(null);
            set("WaitConfirm." + p.getName() + ".firstIP", firstIp);
            save();
            reload();
            send(p, translateAlternateColorCodes('&', "&6&l[WARNING] &fYour IP address was &asuccessfully&f added to the &csecurity system"));
            return;
        }

        if(!twoIp.contains(address)) {
            twoIp.add(address);
            set("WaitConfirm." + p.getName() + ".twoIP", twoIp);
        }

            new BukkitRunnable() {

                @Override
                public void run() {
                    try {
                        save();
                        reload();
                    } catch (IOException ioException) {
                        ioException.printStackTrace();
                    }

                    if (!firstIp.toString().equals(twoIp.toString())) {
                        if(locked.contains(id)) cancel();
                        locked.add(id);
                        return;
                    }
                    send(p, translateAlternateColorCodes('&', "&a&l[SUCCESS] &fYour &cIP addresses &fhave successfully matched! Have a nice game, administrator"));
                    locked.remove(id);
                    cancel();
                }
            }.runTaskLaterAsynchronously(Main.getInstance(), 40L);
        }
 
Решено!
 
Статус
Закрыто для дальнейших ответов.
Назад
Верх