Итак, я работаю над плагином Paperpigot (Minecraft) и у меня есть несколько списков, из которых я генерирую элементы на основе их веса. Сегодня я создал еще один класс, который должен генерировать элементы из списка, основанного на весе, и понял, что я должен сделать для этого метод stati c. Поэтому я подумал, что все элементы в списках должны расширять абстрактный класс «Weighted», который имеет переменную веса и метод getWeight()
. Так и с этим.
Я хочу сделать что-то вроде:
public static ArrayList<class ? extends Weighted> generateWeightedRandom(ArrayList<class ? extends Weighted>, int x)
Это сгенерирует сумму x из списка и вернется с ArrayList того же типа, который я ему дал.
Так, например, у меня есть список: ArrayList<Loot> lootList = new ArrayList<>();
// «Лут» расширяет весовые коэффициенты, и позже я звоню generateWeightedRandom(lootList, 6) then i ll get an ArrayList<Loot> (with 6 elements)
.
Или, если у меня есть ArrayList<Enchant> enchants = new ArrayList<>(); //'Enchat'
, также расширяет взвешенные и снова я звоню generateWeightedRandom(enchants, 6) then i ll get an ArrayList<Enchant>
назад.
Возможно ли это?