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

Помогите Определение кол-ва игроков в мире.

Тема в разделе "Разработка плагинов для новичков", создана пользователем Slorikworld, 20 янв 2017.

  1. Автор темы
    Slorikworld

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

    Баллы:
    66
    Имя в Minecraft:
    Slorikworld
    Задача: сделать плагин, который бы при достижении определённого количества игроков в выбранном мире (допустим 20) всех, кто бы пытался попасть в этот мир телепортировал бы в другой мир - лобби.

    При освободившемся месте он бы разрешал перемещение в этот мир. МИРОВ 3, их названия известны.

    Всё, кроме определения кол-ва игроков в мире я уже сделал, теперь нужно приделать эту фичу.
    ОООЧень нужно, помогите пожалуйста.
    Только один мир условно. Его название есть изначально, всего миров 3. Извиняюсь за ошибку.
     
    Последнее редактирование: 20 янв 2017
  2. Хостинг MineCraft
    <
  3. Fenix78563

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

    Баллы:
    76
    Имя в Minecraft:
    Blc_Dragon
    Bukkit.getOnlinePlayers().size()
     
  4. Автор темы
    Slorikworld

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

    Баллы:
    66
    Имя в Minecraft:
    Slorikworld
    Спасибо, попробую так.
     
  5. slavik123123123

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

    Баллы:
    143
    Имя в Minecraft:
    Leymooooooooooo
    [DOUBLEPOST=1484939647,1484939608][/DOUBLEPOST]
    getPlayers()
     
  6. Автор темы
    Slorikworld

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

    Баллы:
    66
    Имя в Minecraft:
    Slorikworld
    При попытке сделать так, выдаёт illegall '.'[DOUBLEPOST=1484941784,1484941427][/DOUBLEPOST]
    @slavik123123123 Пересмотри тему пж, я неточно выразился - миров 3, но их имена известны.
     
  7. slavik123123123

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

    Баллы:
    143
    Имя в Minecraft:
    Leymooooooooooo
    ну тогда как писали выше
    Bukkit.getWorld("WorldName").getPlayers()
     
  8. Автор темы
    Slorikworld

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

    Баллы:
    66
    Имя в Minecraft:
    Slorikworld
    И тут я начинаю тупить. Эта штука выдаёт List, а мне нужно только кол-во. Я примерно понимаю, как их можно посчитать, но не очень. Объясни пж.[DOUBLEPOST=1484942335,1484942223][/DOUBLEPOST]@slavik123123123 Нужна твоя помощь опять...
     
  9. slavik123123123

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

    Баллы:
    143
    Имя в Minecraft:
    Leymooooooooooo
    .size в конце
     
  10. Автор темы
    Slorikworld

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

    Баллы:
    66
    Имя в Minecraft:
    Slorikworld
    @slavik123123123 Выдаёт cant find symbol size в interface List<Player>
    Я её кстати пытаюсь присвоить к int переменной, это норм? Всмысле если с .size
     
  11. slavik123123123

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

    Баллы:
    143
    Имя в Minecraft:
    Leymooooooooooo
    подсказок от IDE что ли нету?
    .size()
     
  12. Автор темы
    Slorikworld

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

    Баллы:
    66
    Имя в Minecraft:
    Slorikworld
    @slavik123123123 Ещё вопрос. Вот в этойhttp://rubukkit.org/threads/plagin-worldtp.119604/ теме ты описывал отмену запрета тп из-за эндерпёрнлов. Мне нужно приделать такую фигню, что тип если меняется мир, то выполнять, а если не меняется - то return. Есть ли какие либо ещё методы кроме сравнения getFrom() и getTo()?
     
  13. Fenix78563

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

    Баллы:
    76
    Имя в Minecraft:
    Blc_Dragon
    getFrom().getWorld()
    getTo().getWorld()

    Остальное сам думай
     
  14. Автор темы
    Slorikworld

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

    Баллы:
    66
    Имя в Minecraft:
    Slorikworld
    @Fenix78563 Спасибо, уже реализовал так
    Код:
    if(event.getTo().getWorld().getName().equals(event.getFrom().getWorld().getName()))
                return;
     
  15. XjCyan1de

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

    Баллы:
    76
    Имя в Minecraft:
    XjCyan1de
    шо за костыль
     
  16. Fenix78563

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

    Баллы:
    76
    Имя в Minecraft:
    Blc_Dragon
    да ты что?

    Покажи ка мне не костыль
     
  17. Автор темы
    Slorikworld

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

    Баллы:
    66
    Имя в Minecraft:
    Slorikworld
    Сам ты велосипедист... А по другому никак не сделаешь. Точнее можно, но этот способ самый простой.
     
  18. alexandrage

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

    Баллы:
    173
    Skype:
    alexandr0116
    PlayerChangedWorldEvent
     
  19. Fenix78563

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

    Баллы:
    76
    Имя в Minecraft:
    Blc_Dragon
    оо, спасибо.
     
  20. Dymeth

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

    Баллы:
    76
    Вообще лучше использовать событие, но на будущее скажу, что лучше сравнивать сами миры, а не их названия:
    world1 == world2
     
  21. Blc_Dragon

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

    Баллы:
    76
    Имя в Minecraft:
    Blc_Dragon
    что то мне кажется, что такое никогда не вернет true, ибо таким методом нормально можно сравнивать только примитивы
     

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