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

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

Discussion in 'Управление сервером Bukkit' started by lolifrag, Feb 15, 2015.

Thread Status:
Not open for further replies.
  1. Автор темы
    lolifrag

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

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

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

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

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

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

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

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

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

    Trophy Points:
    173
    Skype:
    alexandr0116
    Это не устаревшая. Собирал в 1.7.10 и все работает.
     
    Last edited: Feb 15, 2015
  7. deadanykey

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

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

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

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

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

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

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

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

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

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

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

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

    Trophy Points:
    173
    Skype:
    alexandr0116
    getPlayer вернет null если игрок нет на сервере. Этого достаточно.[DOUBLEPOST=1424008040,1424007939][/DOUBLEPOST]Но он так же ищит ники по началу слова, потому 2 проверки ведем.
    Хотя я незнаю как будет на старых до uuid версиях. Возможно там будет обязательным .isOnline().
    Тогда нужно будет дописать

    Code:
        boolean getOnline(String player) {
            return (Bukkit.getServer().getPlayer(player)!=null)?(Bukkit.getServer().getPlayer(player).getName().equalsIgnoreCase(player)?(Bukkit.getServer().getPlayer(player).isOnline()):false):false;
        }
     
    Last edited: Feb 15, 2015
  13. Автор темы
    lolifrag

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

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

    Если в 1.8 пометку про устарение убрали, то мне нет нужды изобретать велосипед)
     
Thread Status:
Not open for further replies.

Share This Page