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

Помогите Как сделать рандомный генератор лута? Система лутания сундука.

Тема в разделе "Разработка плагинов для новичков", создана пользователем Ryazha_, 1 фев 2022.

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

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

    Баллы:
    76
    Имя в Minecraft:
    Ryazha_
    ну я что-то сделал, но оно не работает, памаги друк блин
     
  2. Dymeth

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

    Баллы:
    98
    Имя в Minecraft:
    Dymeth
    Показывай, что сделал
     
  3. Автор темы
    Ryazha_

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

    Баллы:
    76
    Имя в Minecraft:
    Ryazha_
    ща откопаю, у меня прост много всего для тренировки
     
  4. Автор темы
    Ryazha_

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

    Баллы:
    76
    Имя в Minecraft:
    Ryazha_
    у меня просьба, кинь пж пример, мне по нему легче понять
     
  5. Автор темы
    Ryazha_

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

    Баллы:
    76
    Имя в Minecraft:
    Ryazha_
    ведь как я понимаю нужно добавлять через ArayList
     
  6. Dymeth

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

    Баллы:
    98
    Имя в Minecraft:
    Dymeth
    Создаёшь ArrayList, заполняешь его объектами, которые будешь случайным образом оттуда вытаскивать:
    PHP:
    List<Stringnames = new ArrayList<>();
    names.add("Борис");
    names.add("Анастасия");
    names.add("Николай");
    names.add("Никита");
    names.add("Алексей");
    names.add("Харитон");
    names.add("Евгений");
    names.add("Роман");
    При необходимости вытащить высчитываешь минимальный и максимальный индекс, генерируешь рандомное число между ними:
    метод nextInt() генерирует число от 0 до указанного числа - 1.
    Как сгенерировал индекс - получаешь из листа объект по этому индексу.
    PHP:
    Random random ThreadLocalRandom.current();
    int minIndex 0;
    int maxIndex names.size() - 1;
    int randomIndex random.nextInt(maxIndex minIndex) + minIndex;
    String randomName names.get(randomIndex);
    Для удобства генерацию рандомного числа между минимальным и максимальным можно вынести в отдельный индекс. Сможешь использовать этот метод, где тебе удобно.

    Код писал с телефона, поэтому не пугайся, если ошибки будут
     
    Последнее редактирование: 4 фев 2022
  7. Автор темы
    Ryazha_

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

    Баллы:
    76
    Имя в Minecraft:
    Ryazha_
    спс
     
  8. Автор темы
    Ryazha_

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

    Баллы:
    76
    Имя в Minecraft:
    Ryazha_
    И ещё вопросик, как выводить несколько чисел к примеру 4 или 5 и потом тот предмет который выпадет добавлять в рандомный слот меню?
     
  9. Автор темы
    Ryazha_

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

    Баллы:
    76
    Имя в Minecraft:
    Ryazha_
    И как вместо имён вписать туда предметы с их метой
     
  10. Dymeth

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

    Баллы:
    98
    Имя в Minecraft:
    Dymeth
    Хранить ItemStack.

    Для чего несколько чисел? Хочешь поместить несколько разных предметов в разные слоты?
     
  11. Автор темы
    Ryazha_

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

    Баллы:
    76
    Имя в Minecraft:
    Ryazha_
    Ну смотрю, допусти в каждом сундуке будет по 5 предметов из списка, их нужно раскидать в рандомные слоты Гуай меню
     
  12. Автор темы
    Ryazha_

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

    Баллы:
    76
    Имя в Minecraft:
    Ryazha_
    прописывать так itemStack.getType() == Material.... ?
     
  13. NoooobKa

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

    Баллы:
    76
    Имя в Minecraft:
    NoooobKa
    Циклом, сколько тебе нужно раз, вытаскиваешь из списка рандомный предмет, и вставляешь его в рандомный слот в инвентаре. Будет проблема в том, что когда получаешь рандомный слот для инвентаря он может быть занят, для этого нужен цикл с условием, что зарандомленый слот пустой, в этом случае вставляешь предмет
     
  14. Автор темы
    Ryazha_

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

    Баллы:
    76
    Имя в Minecraft:
    Ryazha_
    а в скобках прописывать айтем стаки как itemStack.getType?
     
  15. NoooobKa

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

    Баллы:
    76
    Имя в Minecraft:
    NoooobKa
    Ты про что? Не понятно
     
  16. Автор темы
    Ryazha_

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

    Баллы:
    76
    Имя в Minecraft:
    Ryazha_
    Про скобки, и как-то нужно сделать код, чтобы на экране выдавалась надпись Поиск... и каждую секунду количтество точек менялось и так 7 секунду, это можно сделать через РанТаскТаймер? но я не до конца понимаю как он работает
     
  17. NoooobKa

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

    Баллы:
    76
    Имя в Minecraft:
    NoooobKa
    Покажи примером кода что ты хочешь сделать, я ничего не понимаю.
    Надпись "Поиск" куда должна выводится?
     
  18. Автор темы
    Ryazha_

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

    Баллы:
    76
    Имя в Minecraft:
    Ryazha_
    то есть в круглые скобки вписывать is.getType()?
     
  19. Dymeth

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

    Баллы:
    98
    Имя в Minecraft:
    Dymeth
    Какие круглые скобки? Покажи свой текущий код
     
  20. OJIEKCAHDP

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

    Баллы:
    76
    Имя в Minecraft:
    OJIEKCAHDP
    Извиняюсь за свой говнокод (на публику хватит), но ТС должно подойти, чтобы разобраться как сделать рандомный лут с рандомными вещами. Метод setStartRefill() выбирает уже заранее сгенерированные вещи из листа и добавляет в рандомный слот сундука.
     

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