1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.
  2. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

String to Player, не используя устаревшие функции

Тема в разделе "Управление сервером Bukkit", создана пользователем lolifrag, 15 фев 2015.

Статус темы:
Закрыта.
  1. Автор темы
    lolifrag

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

    Баллы:
    66
    Skype:
    frosti.village
    Имя в Minecraft:
    meow
    Надо попробовать)
     
  2. Reality_SC

    Reality_SC Старожил Пользователь

    Баллы:
    123
    Имя в Minecraft:
    Reality_SC
    Bukkit.getServer().getOnlinePlayers()
    В старых версиях апи оно Коллекшн, а в новых просто массив.
     
  3. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
    Так лучше, чем перебирать весь онлайн.
    Код:
        boolean getOnline(String player) {
            return (Bukkit.getServer().getPlayer(player)!=null)?(Bukkit.getServer().getPlayer(player).getName().equalsIgnoreCase(player)?true:false):false;
        }
     
  4. Автор темы
    lolifrag

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

    Баллы:
    66
    Skype:
    frosti.village
    Имя в Minecraft:
    meow
    Но там же есть
    А суть в том, что бы без устаревших функций обойтись.
     
  5. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
    Это не устаревшая. Собирал в 1.7.10 и все работает.
     
    Последнее редактирование: 15 фев 2015
  6. deadanykey

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

    Баллы:
    96
    Понятно, что работает. Но она помечена как Deprecated
     
  7. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
    Гонишь. Почему у меня не помечает в еклипсе?
     
  8. deadanykey

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

    Баллы:
    96
    Без понятия. Это я автора цитирую
     
  9. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
    Ну пусть костыли юзает. Мой же способ самый простой и по скорости быстрее перебора всего онлайна.
     
  10. deadanykey

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

    Баллы:
    96
    Кстати, действительно, только что подтянул API 1.8. И никакого Deprecated нет.
    Автор, Вы чем там пользуетесь?

    Второе - игрока онлайн можно проверить вот так -> player.isOnline()
     
  11. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
    getPlayer вернет null если игрок нет на сервере. Этого достаточно.
    Но он так же ищит ники по началу слова, потому 2 проверки ведем.
    Хотя я незнаю как будет на старых до uuid версиях. Возможно там будет обязательным .isOnline().
    Тогда нужно будет дописать

    Код:
        boolean getOnline(String player) {
            return (Bukkit.getServer().getPlayer(player)!=null)?(Bukkit.getServer().getPlayer(player).getName().equalsIgnoreCase(player)?(Bukkit.getServer().getPlayer(player).isOnline()):false):false;
        }
     
    Последнее редактирование: 15 фев 2015
  12. Автор темы
    lolifrag

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

    Баллы:
    66
    Skype:
    frosti.village
    Имя в Minecraft:
    meow
    Вот так оно называется bukkit-1.7.10-R0.1-20140817.175650-8, то, что я использую.

    Если в 1.8 пометку про устарение убрали, то мне нет нужды изобретать велосипед)
     
Статус темы:
Закрыта.

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