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

Помогите Выбор на рандом.

Тема в разделе "Разработка плагинов для новичков", создана пользователем Limon-mine, 23 июн 2022.

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

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

    Баллы:
    76
    Имя в Minecraft:
    Limon_MineDel
    Есть вот такие листы:
    Код:
    luckyblocks:
      1:
        - 'give %name% anvil'
        - 'give %name% tnt'
      2:
        - 'give %name% tnt'
        - 'give %name% sponge'
    Количество листов может изменяться. Как мне на рандом выбрать из всех листов какой то?
     
  2. MurlikMurlik

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

    Баллы:
    96
    Например так:
    List<String> textList = config.getStringList("section");
    String randomText = textList.get(new Random().nextInt(textList.size()));
     
  3. Автор темы
    Limon-mine

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

    Баллы:
    76
    Имя в Minecraft:
    Limon_MineDel
    Вы меня не так поняли. Мне надо не из листа рандомное, а сам рандомный лист
     
  4. MySoR

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

    Баллы:
    76
    Имя в Minecraft:
    MySoR
    Ну сделай список листов а потом из него также через класс Random
     
  5. Автор темы
    Limon-mine

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

    Баллы:
    76
    Имя в Minecraft:
    Limon_MineDel
    Сделал бы если бы этот плагин кроме меня не будет не кто использовать
     
  6. DestKoder

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

    Баллы:
    66
    Имя в Minecraft:
    DestKoder
    luckyblocks - секция в конфиге.
    Ты можешь её получить через config.getConfigurationSection("luckblocks");

    у этой секции как и у любой другой конфигурации ты можешь вызвать метод luckyblocks.getKeys(false) - он вернет тебе Set всех твоих элементов. Дальше действуй как тебе подсказали выше


    Код:
    Set<String> keys = luckyblocks.getKeys(false)
    List<String> randomCmds = luckyblock.get(keys.get(new Random().nextInt(keys.size)))
     
  7. Автор темы
    Limon-mine

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

    Баллы:
    76
    Имя в Minecraft:
    Limon_MineDel
    Там нет таких методов.
     

    Вложения:

  8. Reality_SC

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

    Баллы:
    123
    Имя в Minecraft:
    Reality_SC
    List<String> keys = new ArrayList<>(luckyblocks.getKeys(false))

    size --> size()
     
  9. Автор темы
    Limon-mine

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

    Баллы:
    76
    Имя в Minecraft:
    Limon_MineDel
    Скриншот
     

    Вложения:

  10. DestKoder

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

    Баллы:
    66
    Имя в Minecraft:
    DestKoder
    Дружище, я за тебя должен весь код написать? Выше правильно подсказали, возьми мой код и просто добавь после size две скобочки, забыл я метод вызвать) Та и пишу я без проверки
     
Статус темы:
Закрыта.

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