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

Помогите Как сделать рандомный ответ?

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

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

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

    Баллы:
    61
    Всем привет, пишу плагин на отправку сообщения в чат. Нужно сделать так, чтобы после отправки в чат выходило не только one, но two и three и т.п
    Вот код:
    Код:
    import org.bukkit.Bukkit;
    import org.bukkit.command.Command;
    import org.bukkit.command.CommandExecutor;
    import org.bukkit.command.CommandSender;
    
    import net.md_5.bungee.api.ChatColor;
    
    public class AutoMessage implements CommandExecutor {
    
        private Manager plugin4;
    
        public AutoMessage(Manager plugin4) {
            
            this.plugin4 = plugin4;
        }
        
        @Override
           public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args){
                 if(cmd.getName().equalsIgnoreCase("message")){ // Если игрок ввёл /message тогда делаем следующее...
                     String s = plugin4.getConfig().getString("amessage.one");
                     s = s.replace("&", "\u00a7");
                     Bukkit.broadcastMessage(ChatColor.DARK_GREEN + s);
             }   
            return true;
            
            
            
         }
    
    }
    И вот amessage в config.yml
    Код:
    amessage:
       one: '&2&lСейчас пройдет мероприятие, для участия используйте - /helpop + ' 
     
  2. LuckyZeeRo

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

    Баллы:
    96
    Имя в Minecraft:
    i0xHeX
  3. Автор темы
    Taloff

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

    Баллы:
    61
  4. NyanGuyMF

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

    Баллы:
    76
    Уже отвечал в похожей теме: клик

    PHP:
    List<Stringmessages Arrays.asList(
        
    "messsage first",       "message second",
        
    "message third",        "message fourth"
    );

    int random = (int) (Math.random() * messages.size());

    System.out.println(messages.get(random));
    UPD:
    В твоём случае нужно сначала получить список все сообщений, и тут есть два варианта: один c изменением конфига — проще, а во втором надо костылять и там много разных способов, поэтому просто приведу первый :D

    PHP:
    /*
     * При этом конфиг должен выглядеть как
     *
     * messages:
     *   - '&3Hello!'
     *   - '&bBye!'
     */
    List<Stringmessages getConfig().getStringList("messages");
     
    Последнее редактирование: 21 апр 2019
  5. AbstractCoder

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

    Баллы:
    76
    Имя в Minecraft:
    AbstractCoder
    Бред, чем Random#nextInt не устроил
     
  6. Автор темы
    Taloff

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

    Баллы:
    61
    Дичь, не работает
     
  7. Автор темы
    Taloff

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

    Баллы:
    61
    Можешь пожалуйста ответит на данную тему
     
  8. alexandrage

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

    Баллы:
    173
    java.util.Random + лист ответов или массив, как тебе удобней.
     
  9. AbstractCoder

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

    Баллы:
    76
    Имя в Minecraft:
    AbstractCoder
    int index = ThreadLocalRandom.current().nextInt(list.size());
    list.get(index);
     
  10. hyndorik

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

    Баллы:
    98
    Имя в Minecraft:
    hyndo
    Ор ну всм ты это не считаешь норм ответом, ты че хочешь чтоб все за тебя расписали? Тебе кинули ссылку на доки, которые ты скорее всего даже не удосужился прочитать
     
  11. LuckyZeeRo

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

    Баллы:
    96
    Имя в Minecraft:
    i0xHeX
    У меня такое же мнение о твоем вопросе в теме.
    Если хочешь чему-нибудь научиться, стоит немного думать, искать информацию, читать документацию.
    Но можешь скопировать готовый паттерн и жить дальше:
    Код:
    Random random = new Random();
    List<String> list = ...;
    String entry = list.get(random.nextInt(list.size()));
     

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