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

Помогите Как сделать чтобы плагин выполнял консольную команду

Тема в разделе "Помощь", создана пользователем Stus, 7 май 2020.

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

    Stus Ньюби

    Баллы:
    1
    Я могу сделать код, который будет генерировать случайное число, а далее должна выполниться команда, которая выдаст игроку предмет с ID, которое сгенерировалось случайно. И также я хотел чтобы если игроков несколько им всем давали разные предметы. Подскажите как выдать предмет одному игроку на сервере и как узнать сколько игроков на сервере и их ники (что выдать предметы каждому разные)
     
  2. Javist

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

    Баллы:
    76
    Имя в Minecraft:
    Javis
    С помощью командного блока.
     
  3. Автор темы
    Stus

    Stus Ньюби

    Баллы:
    1
    А он умеет давать рандомные значения?
     
  4. CriticaMobslps

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

    Баллы:
    76
    Имя в Minecraft:
    CriticaMobs
    PHP:
    /*тут мы получаем всех наших игроков и выполняем наш метод для каждого из них*/
    Bukkit.getOnlinePlayers ().forEach (player -> player.getInventory ().addItem (itemGive (player)));

    /* Представим материалы( предметы ) в виде списка
    * Сейчас я хочу взять длину всего списка и представить его в виде
    * Максимального значения для рандомайзера т.е от 0 до последнего предмета
    * try\catch это так сказать барьеры, возможно какой-то из предметов не сможет выдасться то мы попробуем снова
    * Так же проверяем на воздух(при выдаче будет ошибка)
    * */
    public ItemStack itemGive(Player p)
    {
    /*Мы использовали -1 так как отсчёт length и массив Material.values() отличаются*/
        
    int materialMax Material.values ().length 1;
    /*Рандомное число*/
        
    int random = new Random ().nextInt (materialMax);
        
    ItemStack itemStack;
        try {
            
    itemStack = new ItemStack (Material.values ()[random]);
        }catch (
    Exception e)
        {
            return 
    itemGive (p);
        }
        if(
    Material.AIR.equals (itemStack.getType ())) return itemGive (p);
        return 
    itemStack;
    }
    Таким образом, этот код будет работать даже с модами и по моему мнению на любой версии, т.к тут нет прямой зависимости от стандартных Material
     
  5. Автор темы
    Stus

    Stus Ньюби

    Баллы:
    1
    Спасибо, попробую!
     

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