- Баллы
- 61
Как сделать так, чтоб если игрок выходит из сервера, его удаляло из world?
Следуйте инструкциям в видео ниже, чтобы узнать, как установить наш сайт как веб-приложение на главный экран вашего устройства.
Примечание: Эта функция может быть недоступна в некоторых браузерах.
Мне нужна помощь в коде, а не плагинОтдельным плагином только.
Есть ивент PlayerQuitEvent, отлавливаешь, дальше сам ищешь файл и удаляешь.Мне нужна помощь в коде, а не плагин
О PlayerQuitEvent я знаю, но как сделать чтоб файл удалило?Есть ивент PlayerQuitEvent, отлавливаешь, дальше сам ищешь файл и удаляешь.
Гугл в помощь или подучи Java.О PlayerQuitEvent я знаю, но как сделать чтоб файл удалило?
Сначала ищите файл в папке с миром: создайте объект типа File и в конструкторе укажите путь к папке мира /playerdata/ + уникальный ID игрока + .dat. Уникальный ID получается методом player.getUniqueId().toString(). Далее вызывайте у вашего File метод delete(). Суньте этот код в ваш хэндлер. Profit.Как сделать так, чтоб если игрок выходит из сервера, его удаляло из world?
public boolean delete(Player player, String world)
{
UUID pid = player.getUniqueId();
File f = new File(PLUGIN.getDataFolder().getAbsolutePath() + "/../../" + world + "/playerdata/" + pid.toString() + ".dat");
if(!f.exists())
return false;
if(!f.delete())
return false;
return true;
}
@EventHandler
public void onQuit(PlayerQuitEvent e)
{
e.getPlayer().getWorld().getPlayers().remove(e.getPlayer());//на всякий случай
Bukkit.getScheduler().runTaskLaterAsynchronously(this, new Runnable()
{
@Override
public void run()
{
if(delete(e.getPlayer(), e.getPlayer().getWorld().getName()))
Bukkit.getLogger().info("deleted");
else
Bukkit.getLogger().info("cannot be deleted");
}
}, 60L);//Удалять через 3 сек.
}
Пожалуйста, хватит так делать. Вы не помогаете людям - вы делаете их тупыми.Java:public boolean delete(Player player, String world) { UUID pid = player.getUniqueId(); File f = new File(PLUGIN.getDataFolder().getAbsolutePath() + "/../../" + world + "/playerdata/" + pid.toString() + ".dat"); if(!f.exists()) return false; if(!f.delete()) return false; return true; }Java:@EventHandler public void onQuit(PlayerQuitEvent e) { e.getPlayer().getWorld().getPlayers().remove(e.getPlayer());//на всякий случай Bukkit.getScheduler().runTaskLaterAsynchronously(this, new Runnable() { @Override public void run() { if(delete(e.getPlayer(), e.getPlayer().getWorld().getName())) Bukkit.getLogger().info("deleted"); else Bukkit.getLogger().info("cannot be deleted"); } }, 60L);//Удалять через 3 сек. }
Смысл раздела - получать помощь в ответе на те вопросы на которые нельзя / трудно / человек не смог ответить с помощью гугла.Они задают свои вопросы с целью получить четкий, ясный ответ.
Полагаю, я отвечаю на их вопросы. К тому же, я не пишу ни за кого готовые плагины, так? Так что, это не так уж и плохо.
Если бы я всех отправлял в гугл, смысл раздела был бы потерян.
Мне когда то давали готовый код, лучше в мусор его кинуть, ничего не понятно, потом пришлось разбирать код на части и учить.Смысл раздела - получать помощь в ответе на те вопросы на которые нельзя / трудно / человек не смог ответить с помощью гугла.
Тут же видно что человек даже не пытался
![]()
Отвечать на подобные вопросы - есть поощрение лени и ведет к тому что человек не учится находить информацию сам
Вас же никто не заставляет использовать готовый код. Вам его предоставляют с целью ознакомиться и узнать, что и как делается.Мне когда то давали готовый код, лучше в мусор его кинуть, ничего не понятно, потом пришлось разбирать код на части и учить.
Когда я даю "готовый код" в лс, я по пунктам описиваю его.Вас же никто не заставляет использовать готовый код. Вам его предоставляют с целью ознакомиться и узнать, что и как делается.
У меня ведь тоже все понятно)Когда я даю "готовый код" в лс, я по пунктам описиваю его.
Они могут быть не понятны для тс.У меня ведь тоже все понятно)
Первый блок с кодом - сам метод удаления игрока.
Второй - пример хэндлера с использование метода.
По крайней мере мои ответы немного лучше, чем "Гугл в помощь", "учи матчасть", "учи Java" и т.д..
Хотя, как знать...