Хостинг серверов Minecraft playvds.com
  1. Вы находитесь в русском сообществе Bukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на русский язык плагины наших собратьев из других стран.
    Скрыть объявление

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

Тема в разделе "Разработка плагинов для новичков", создана пользователем Очередной_адмЕн, 1 авг 2015.

Статус темы:
Закрыта.
  1. Автор темы
    Очередной_адмЕн

    Очередной_адмЕн Участник Пользователь

    Баллы:
    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();
        }
    хочу удалять файлы игрока при его выходе из сервера, но это не работает. Подскажите, в чём проблема?
     
  2. Хостинг MineCraft
    <
  3. leonmark061

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

    Баллы:
    76
    Bukkit.getWorld("world").getWorldFolder() - вы так получаете полный путь до папки с миром?

    File pd = new File(Bukkit.getWorld("world").getWorldFolder() + File.separator + "playerdata", p.getUniqueId() + ".dat");
    p.getUniqueId().toString()?
     
  4. saharin94

    saharin94 Старожил Пользователь Заблокирован

    Баллы:
    173
    Skype:
    RikkiLooh
    Имя в Minecraft:
    RubukkitDniwe
    Java это сама делает при склеивании со строками.
    ТС нужно использовать задержку (sheduler в помощь), ибо в момент эвента игрок находится ещё на сервере, а когда он выходит - идёт сохранение его профиля в файл. Поэтому ничего не получается удалить.
     
  5. leonmark061

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

    Баллы:
    76
    Ясно. Я так понимаю, это из-за перегруженного метода toString()? Он автоматически вызывается, если объект неявно приводится к типу String?
     
  6. Автор темы
    Очередной_адмЕн

    Очередной_адмЕн Участник Пользователь

    Баллы:
    36
    Серьезно. В этом была и проблема. Благодарю :good:[DOUBLEPOST=1438461660,1438461627][/DOUBLEPOST]
    Думаю, что так и есть
     
Статус темы:
Закрыта.

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