2025-11-29 19:22:04 +03:00
|
|
|
package hdvtdev.blockandseek.roulette;
|
|
|
|
|
|
2025-06-26 01:18:01 +03:00
|
|
|
|
|
|
|
|
import com.lewdev.probabilitylib.ProbabilityCollection;
|
2025-11-29 19:22:04 +03:00
|
|
|
|
|
|
|
|
import hdvtdev.blockandseek.objects.PropBlock;
|
|
|
|
|
|
2025-06-26 01:18:01 +03:00
|
|
|
import org.bukkit.inventory.ItemStack;
|
|
|
|
|
|
|
|
|
|
import java.util.ArrayList;
|
|
|
|
|
import java.util.List;
|
2025-11-29 19:22:04 +03:00
|
|
|
|
2025-06-26 01:18:01 +03:00
|
|
|
public class RouletteGenerator {
|
|
|
|
|
|
|
|
|
|
private final ProbabilityCollection<ItemStack> probabilityCollection = new ProbabilityCollection<>();
|
|
|
|
|
|
2025-11-29 19:22:04 +03:00
|
|
|
public RouletteGenerator(List<PropBlock> blocks) {
|
|
|
|
|
for (PropBlock block : blocks) {
|
|
|
|
|
probabilityCollection.add(block.getBlock(), block.getRarity().getChance());
|
2025-06-26 01:18:01 +03:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public List<ItemStack> getRandomRow(int count) {
|
|
|
|
|
List<ItemStack> items = new ArrayList<>(count);
|
|
|
|
|
for (; count > 0; --count) items.add(probabilityCollection.get());
|
|
|
|
|
return items;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
2025-11-28 03:55:57 +03:00
|
|
|
|
2025-11-29 19:22:04 +03:00
|
|
|
|