Как записать в файл данные о игроке

GIGABAIT

Premium
Разработчик
Сообщения
427
Решения
11
Веб-сайт
tensa.co.ua
Питаюсь написать плагин который будет вести лог игроков сервера записать туда ник и ип игрока при первом входе на сервер у меня есть вот такой код
Java:
package IPLimiter.main;

import java.io.File;
import java.io.IOException;
import java.net.InetAddress;
import java.util.ArrayList;
import java.util.List;
import net.md_5.bungee.api.event.PostLoginEvent;
import net.md_5.bungee.api.plugin.Listener;
import net.md_5.bungee.config.Configuration;
import net.md_5.bungee.config.ConfigurationProvider;
import net.md_5.bungee.config.YamlConfiguration;
import net.md_5.bungee.event.EventHandler;

public class PlayersLog extends IPLimiter implements Listener {
    
    
    private static Configuration configurationPlayers;
    private static File playersFile;
    
    public void savePlayers() {
        try {
            ConfigurationProvider.getProvider(YamlConfiguration.class).save(configurationPlayers, playersFile);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
    
    @SuppressWarnings("deprecation")
    @EventHandler
    public void onJoin(PostLoginEvent e) {
        
        

    InetAddress IP = e.getPlayer().getAddress().getAddress();
    System.out.println("§2IP Adress §b"+IP);
    String name = e.getPlayer().getName();
    System.out.println("§2НИК §b"+name);
    String UU = e.getPlayer().getUUID();
    System.out.println("§2UUI §b"+UU);
    
    List<String> list;
    if (configurationPlayers.contains("players")) {
        list = configurationPlayers.getStringList("players");
    } else {
        list = new ArrayList<>();
    }
    if (!list.contains(e.getPlayer().getName())) {
        list.add(e.getPlayer().getName());
        configurationPlayers.set("players", list);
        savePlayers();
        
    }
    
        
        
    }   
    
}
Калс зарегистрирован в главном класе так getProxy().getPluginManager().registerListener(this, new PlayersLog());
еклипс на код не ругается.
Но когда игрок заходит в файл ничего не пишется и выдает такую ошибку в консоли
Вам необходимо зарегистрироваться для просмотра изображений-вложений

В чем может быть проблема ??
 
[OFFTOPIC]
Лично от меня, мой жизненый совет, используй FileWriter для записи данных в файл. Но он только записывает данные, но не как не допысывает уже к тем что существуют.
Тогда уж лучше JSONObject. Совет не очень, когда есть возможность всё делать через конфиг банжи/баккита.[/OFFTOPIC]
 
@iBuseWinner, он у меня указан в главном класе
Java:
        if (!playersFile.exists()) {
            getLogger().info("§2Создания файла §6players.yml");
            try (InputStream in = getResourceAsStream("players.yml")) {
                Files.copy(in, playersFile.toPath());
                Configuration configurationPlayers = ConfigurationProvider.getProvider(YamlConfiguration.class).load(playersFile);
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
 
Назад
Сверху Снизу