31 lines
787 B
Java
31 lines
787 B
Java
|
|
package hdvtdev.blockAndSeek.roulette;
|
||
|
|
|
||
|
|
import com.lewdev.probabilitylib.ProbabilityCollection;
|
||
|
|
import org.bukkit.inventory.ItemStack;
|
||
|
|
|
||
|
|
import java.util.ArrayList;
|
||
|
|
import java.util.List;
|
||
|
|
|
||
|
|
public class RouletteGenerator {
|
||
|
|
|
||
|
|
|
||
|
|
private final ProbabilityCollection<ItemStack> probabilityCollection = new ProbabilityCollection<>();
|
||
|
|
|
||
|
|
public RouletteGenerator(List<Block> blocks) {
|
||
|
|
for (Block block : blocks) {
|
||
|
|
probabilityCollection.add(block.itemStack, block.chance);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
public List<ItemStack> getRandomRow(int count) {
|
||
|
|
List<ItemStack> items = new ArrayList<>(count);
|
||
|
|
for (; count > 0; --count) items.add(probabilityCollection.get());
|
||
|
|
return items;
|
||
|
|
}
|
||
|
|
|
||
|
|
public record Block(ItemStack itemStack, int chance) {
|
||
|
|
}
|
||
|
|
|
||
|
|
|
||
|
|
}
|