PlasmaVNGaming

Untitled

Jul 2nd, 2021
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.80 KB | None | 0 0
  1. public class Roller {
  2.  
  3. public static Random random = new Random();
  4.  
  5. public static int roll(ItemRoll[] arr) {
  6. double sum = 0;
  7. for (int i = 0; i < arr.length; i++)
  8. sum += arr[i].getRate();
  9.  
  10. double t;
  11. double[] percent = new double[arr.length];
  12.  
  13. for (int i = 0; i < arr.length; i++) {
  14. t += arr[i].getRate() / sum;
  15. percent[i] = t;
  16. }
  17.  
  18. double r = random.nextDouble();
  19. for (int i = 0; i < arr.length; i++) {
  20. if (r <= arr[i].getRate()) {
  21. return arr[i];
  22. }
  23. }
  24.  
  25. return null; //Never happend
  26. }
  27.  
  28. }
  29.  
  30. @AllArgsConstructor
  31. public class ItemRoll {
  32.  
  33.  
  34. @Getter private final ItemStack item;
  35. @Getter private final double rate;
  36.  
  37. }
Advertisement
Add Comment
Please, Sign In to add comment