1. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

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

Тема в разделе "Разработка плагинов для новичков", создана пользователем Sergeo, 11 апр 2021.

Статус темы:
Закрыта.
  1. Автор темы
    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);
            }
     
  2. Автор темы
    Sergeo

    Sergeo Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    Solomka
    Решено!
     
Статус темы:
Закрыта.

Поделиться этой страницей