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

  • Автор темы Автор темы Ryazha_
  • Дата начала Дата начала
Не dauble, а double. Это дробное число.
Для получения из листа объекта по индексу тебе нужно целое - в твоём случае int.
Индекс - это порядковый номер элемента в листе. Индексы начинаются с нуля.
Таким образом, индекс первого элемента = 0
А последнего = размер списка - 1.

Получить размер списка: list.size()
получить объект из списка по его индексу (номеру): list.get(index)
Сам индекс нужно сгенерировать случайным образом между минимальным и максимальным значением
ну я что-то сделал, но оно не работает, памаги друк блин
 
ведь как я понимаю нужно добавлять через ArayList
Создаёшь ArrayList, заполняешь его объектами, которые будешь случайным образом оттуда вытаскивать:
PHP:
List<String> names = 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 + 1 - minIndex) + minIndex;
String randomName = names.get(randomIndex);

Для удобства генерацию рандомного числа между минимальным и максимальным можно вынести в отдельный индекс. Сможешь использовать этот метод, где тебе удобно.

Код писал с телефона, поэтому не пугайся, если ошибки будут
 
Последнее редактирование:
Создаёшь ArrayList, заполняешь его объектами, которые будешь случайным образом оттуда вытаскивать:
PHP:
List<String> names = 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 + 1 - minIndex) + minIndex;
String randomName = names.get(randomIndex);

Для удобства генерацию рандомного числа между минимальным и максимальным можно вынести в отдельный индекс. Сможешь использовать этот метод, где тебе удобно.

Код писал с телефона, поэтому не пугайся, если ошибки будут
спс
 
Создаёшь ArrayList, заполняешь его объектами, которые будешь случайным образом оттуда вытаскивать:
PHP:
List<String> names = 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 + 1 - minIndex) + minIndex;
String randomName = names.get(randomIndex);

Для удобства генерацию рандомного числа между минимальным и максимальным можно вынести в отдельный индекс. Сможешь использовать этот метод, где тебе удобно.

Код писал с телефона, поэтому не пугайся, если ошибки будут
И ещё вопросик, как выводить несколько чисел к примеру 4 или 5 и потом тот предмет который выпадет добавлять в рандомный слот меню?
 
Создаёшь ArrayList, заполняешь его объектами, которые будешь случайным образом оттуда вытаскивать:
PHP:
List<String> names = 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 + 1 - minIndex) + minIndex;
String randomName = names.get(randomIndex);

Для удобства генерацию рандомного числа между минимальным и максимальным можно вынести в отдельный индекс. Сможешь использовать этот метод, где тебе удобно.

Код писал с телефона, поэтому не пугайся, если ошибки будут
И как вместо имён вписать туда предметы с их метой
 
И как вместо имён вписать туда предметы с их метой
Хранить ItemStack.

И ещё вопросик, как выводить несколько чисел к примеру 4 или 5 и потом тот предмет который выпадет добавлять в рандомный слот меню?
Для чего несколько чисел? Хочешь поместить несколько разных предметов в разные слоты?
 
Хранить ItemStack.


Для чего несколько чисел? Хочешь поместить несколько разных предметов в разные слоты?
Ну смотрю, допусти в каждом сундуке будет по 5 предметов из списка, их нужно раскидать в рандомные слоты Гуай меню
 
Хранить ItemStack.


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


Для чего несколько чисел? Хочешь поместить несколько разных предметов в разные слоты?
прописывать так itemStack.getType() == Material.... ?
 
Ну смотрю, допусти в каждом сундуке будет по 5 предметов из списка, их нужно раскидать в рандомные слоты Гуай меню
Циклом, сколько тебе нужно раз, вытаскиваешь из списка рандомный предмет, и вставляешь его в рандомный слот в инвентаре. Будет проблема в том, что когда получаешь рандомный слот для инвентаря он может быть занят, для этого нужен цикл с условием, что зарандомленый слот пустой, в этом случае вставляешь предмет
 
Циклом, сколько тебе нужно раз, вытаскиваешь из списка рандомный предмет, и вставляешь его в рандомный слот в инвентаре. Будет проблема в том, что когда получаешь рандомный слот для инвентаря он может быть занят, для этого нужен цикл с условием, что зарандомленый слот пустой, в этом случае вставляешь предмет
а в скобках прописывать айтем стаки как itemStack.getType?
 
Ты про что? Не понятно
Про скобки, и как-то нужно сделать код, чтобы на экране выдавалась надпись Поиск... и каждую секунду количтество точек менялось и так 7 секунду, это можно сделать через РанТаскТаймер? но я не до конца понимаю как он работает
 
Про скобки, и как-то нужно сделать код, чтобы на экране выдавалась надпись Поиск... и каждую секунду количтество точек менялось и так 7 секунду, это можно сделать через РанТаскТаймер? но я не до конца понимаю как он работает
Покажи примером кода что ты хочешь сделать, я ничего не понимаю.
Надпись "Поиск" куда должна выводится?
 
Хранить ItemStack.


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


Для чего несколько чисел? Хочешь поместить несколько разных предметов в разные слоты?
то есть в круглые скобки вписывать is.getType()?
 
Извиняюсь за свой говнокод (на публику хватит), но ТС должно подойти, чтобы разобраться как сделать рандомный лут с рандомными вещами. Метод setStartRefill() выбирает уже заранее сгенерированные вещи из листа и добавляет в рандомный слот сундука.
 
Назад
Верх