Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class Roller {
- public static Random random = new Random();
- public static int roll(ItemRoll[] arr) {
- double sum = 0;
- for (int i = 0; i < arr.length; i++)
- sum += arr[i].getRate();
- double t;
- double[] percent = new double[arr.length];
- for (int i = 0; i < arr.length; i++) {
- t += arr[i].getRate() / sum;
- percent[i] = t;
- }
- double r = random.nextDouble();
- for (int i = 0; i < arr.length; i++) {
- if (r <= arr[i].getRate()) {
- return arr[i];
- }
- }
- return null; //Never happend
- }
- }
- @AllArgsConstructor
- public class ItemRoll {
- @Getter private final ItemStack item;
- @Getter private final double rate;
- }
Advertisement
Add Comment
Please, Sign In to add comment