Войти или зарегистрироваться
  • Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.

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

Stus

Ньюби
Баллы
1
Я могу сделать код, который будет генерировать случайное число, а далее должна выполниться команда, которая выдаст игроку предмет с ID, которое сгенерировалось случайно. И также я хотел чтобы если игроков несколько им всем давали разные предметы. Подскажите как выдать предмет одному игроку на сервере и как узнать сколько игроков на сервере и их ники (что выдать предметы каждому разные)
 
С помощью командного блока.
 
А он умеет давать рандомные значения?
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
 

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

Назад
Верх