- 214
- 11
- 59
Привет.
Я работаю над модом, который должен спавнить предметы в 5000 сундуках по всей карте.
В коде использую нехитрую логику:
Каждый предмет хранит в себе шанс спавна - число от 0 до 100, присвоенное при регистрации.
Далее, при спавне, я для каждого предмета беру число rand, и если оно меньше чем шанс у предмета, то он становится кандидатом на спавн.
Если на выходе предметов несколько, то я просто получаю еще одно число в границах количества этих предметов и спавню предмет с этим индексом в массиве.
И вот возникла проблема. Очень часто спавнятся одни и те же вещи. Так, возможно, что в 10 сундуках рядом заспавнится один и тот же предмет
Может есть толковые люди, подсказавшие либо другой алгоритм спавнинга, либо что-то с использованием Random в java для таких целей ?
Я работаю над модом, который должен спавнить предметы в 5000 сундуках по всей карте.
В коде использую нехитрую логику:
Каждый предмет хранит в себе шанс спавна - число от 0 до 100, присвоенное при регистрации.
Далее, при спавне, я для каждого предмета беру число rand, и если оно меньше чем шанс у предмета, то он становится кандидатом на спавн.
Java:
int rand = new Random(System.currentTimeMillis()).nextInt(100);
Java:
int randList = new Random(System.currentTimeMillis()).nextInt(list.size());
И вот возникла проблема. Очень часто спавнятся одни и те же вещи. Так, возможно, что в 10 сундуках рядом заспавнится один и тот же предмет
Может есть толковые люди, подсказавшие либо другой алгоритм спавнинга, либо что-то с использованием Random в java для таких целей ?