Войти или зарегистрироваться
  • Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.

Помогите Не работает удаление dat файлов игроков

Статус
Закрыто для дальнейших ответов.

Очередной_адмЕн

Участник
Пользователь
Баллы
36
Здраствуйте. Есть вот такой код:

Код:
    @EventHandler
    public void onQuit(PlayerQuitEvent e){
        e.setQuitMessage("");
        Player p = e.getPlayer();
        File pd = new File(Bukkit.getWorld("world").getWorldFolder() + File.separator + "playerdata", p.getUniqueId() + ".dat");
        File stats = new File(Bukkit.getWorld("world").getWorldFolder() + File.separator + "stats", p.getUniqueId() + ".json");
       
        pd.delete();
        stats.delete();
    }

хочу удалять файлы игрока при его выходе из сервера, но это не работает. Подскажите, в чём проблема?
 
Bukkit.getWorld("world").getWorldFolder() - вы так получаете полный путь до папки с миром?

File pd = new File(Bukkit.getWorld("world").getWorldFolder() + File.separator + "playerdata", p.getUniqueId() + ".dat");
p.getUniqueId().toString()?
 
Bukkit.getWorld("world").getWorldFolder() - вы так получаете полный путь до папки с миром?

File pd = new File(Bukkit.getWorld("world").getWorldFolder() + File.separator + "playerdata", p.getUniqueId() + ".dat");
p.getUniqueId().toString()?
Java это сама делает при склеивании со строками.
ТС нужно использовать задержку (sheduler в помощь), ибо в момент эвента игрок находится ещё на сервере, а когда он выходит - идёт сохранение его профиля в файл. Поэтому ничего не получается удалить.
 
Java это сама делает при склеивании со строками.
Ясно. Я так понимаю, это из-за перегруженного метода toString()? Он автоматически вызывается, если объект неявно приводится к типу String?
 
Java это сама делает при склеивании со строками.
ТС нужно использовать задержку (sheduler в помощь), ибо в момент эвента игрок находится ещё на сервере, а когда он выходит - идёт сохранение его профиля в файл. Поэтому ничего не получается удалить.
Серьезно. В этом была и проблема. Благодарю :good:
Ясно. Я так понимаю, это из-за перегруженного метода toString()? Он автоматически вызывается, если объект неявно приводится к типу String?
Думаю, что так и есть
 
Статус
Закрыто для дальнейших ответов.

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

Назад
Верх