Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public ValueProvider getRandomProvider(Class cls) {
- List<ValueProvider> list = providers.get(cls);
- if (list == null || list.isEmpty())
- return null;
- float sum = 0;
- for (ValueProvider provider : list)
- sum += provider.getProbability();
- float random = (float) (Math.random() * sum);
- for (ValueProvider provider : list) {
- random -= provider.getProbability();
- if (random <= 0)
- return provider;
- }
- throw new RuntimeException("WAT?");
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement