Я пытаюсь создать плагин Bukkit/Spigot, который хранит данные пользователя с YML-файлами, и я не могу создать список в файле, который создается, когда пользователи присоединяется. Я использую встроенный синтаксический анализатор.Файл создается, но FileConfiguration не помещает в него текст
Кодекс:
@EventHandler
public void onPlayerJoin(PlayerJoinEvent e) {
Player p = e.getPlayer();
File f;
f = new File(getDataFolder(), "UserData/" + p.getUniqueId() + ".yml");
if (!f.exists()) {
try {
f.createNewFile();
} catch (IOException e1) {
e1.printStackTrace();
}
FileConfiguration mapconfig = YamlConfiguration.loadConfiguration(new File(getDataFolder() + "UserData/" + p.getUniqueId() + ".yml"));
mapconfig.createSection("Mobs");
mapconfig.set("Mobs", "mob1");
Bukkit.getServer().getLogger().info("[Morph] Creating new user file " + p.getUniqueId() + "for user " + p.getName());
}
}
файлы создаются, но они пусты.
Mobs:
- mob1
Мне нужен раздел пустой. Что я делаю не так?
Обновленный код --------------------
@EventHandler
public void onPlayerJoin(PlayerJoinEvent e) {
Player p = e.getPlayer();
File f;
f = new File(getDataFolder(), "UserData/" + p.getUniqueId() + ".yml");
if (!f.exists()) {
try {
f.createNewFile();
} catch (IOException e1) {
e1.printStackTrace();
}
FileConfiguration mapconfig = YamlConfiguration.loadConfiguration(new File(getDataFolder() + "UserData/" + p.getUniqueId() + ".yml"));
mapconfig.createSection("Mobs");
List<String> ListOfStrings = Arrays.asList("mob1");
mapconfig.set("Mobs", ListOfStrings);
try {
mapconfig.save(getDataFolder() + "UserData/" + p.getUniqueId() + ".yml");
} catch (IOException e1) {
e1.printStackTrace();
}
Bukkit.getServer().getLogger().info("[Morph] Creating new user file " + p.getUniqueId() + "for user " + p.getName());
}
}
Я обновил тему с помощью кода, который у меня есть сейчас. Он по-прежнему не работает, он просто создает файл, в нем ничего нет, даже в начале списка. Что я делаю не так? – BumbleBee
Удалил ли файл между запусками, этот код запускается только тогда, когда файл не существует. – JimW
Да, удалял его каждый раз перед тестированием – BumbleBee