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

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

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

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

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

    Баллы:
    66
    Skype:
    frosti.village
    Имя в Minecraft:
    meow
    Надо попробовать)
     
  2. Хостинг MineCraft
    <
  3. Reality_SC

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

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

    alexandrage Администратор

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

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

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

    alexandrage Администратор

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

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

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

    alexandrage Администратор

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

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

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

    alexandrage Администратор

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

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

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

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

    alexandrage Администратор

    Баллы:
    173
    Skype:
    alexandr0116
    getPlayer вернет null если игрок нет на сервере. Этого достаточно.[DOUBLEPOST=1424008040,1424007939][/DOUBLEPOST]Но он так же ищит ники по началу слова, потому 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
  13. Автор темы
    lolifrag

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

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

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

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