RandomUtil class
Пакет: com.hypixel.hytale.common.util
Файл: com/hypixel/hytale/common/util/RandomUtil.java
Поля (8)
| Модификаторы | Тип | Имя |
|---|---|---|
final |
ThreadLocal<SecureRandom> |
SECURE_RANDOM |
|
int |
var2 |
|
int |
var3 |
|
int |
var3 |
|
int |
var4 |
|
int |
var4 |
|
int |
var6 |
|
int |
var6 |
Методы (16)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
|
|
for for(int var5 = 0; var5 < var2.length; var5++) |
|
|
for for(int var5 = 0; var5 < var2.length; var5++) |
static |
SecureRandom |
getSecureRandomSecureRandom getSecureRandom() |
|
|
if if(var0 > var3 && var0 <= var4) |
|
|
if if(var0 > var3 && var0 <= var4) |
|
|
if if(var0 == null) |
|
|
if if(var0 == null) |
|
|
if if(var0 == null) |
static |
double |
randomDoubledouble randomDouble(@Nullable Double var0, @Nullable Double var1, double var2, @Nonnull RandomGenerator var4) |
static |
float |
randomFloatfloat randomFloat(@Nullable Float var0, @Nullable Float var1, float var2, @Nonnull RandomGenerator var3) |
static |
int |
randomIntegerint randomInteger(@Nullable Integer var0, @Nullable Integer var1, int var2, @Nonnull RandomGenerator var3) |
static |
<T> T |
roll<T> T roll(int var0, T[] var1, @Nonnull int[] var2) |
static |
int |
rollIntint rollInt(int var0, int[] var1, @Nonnull int[] var2) |
static |
<T> T |
selectRandom<T> T selectRandom(@Nonnull T[] var0, @Nonnull Random var1) |
static |
<T> T |
selectRandom<T> T selectRandom(@Nonnull List<? extends T> var0) |
static |
<T> T |
selectRandom<T> T selectRandom(@Nonnull List<? extends T> var0, @Nonnull Random var1) |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.common.util;
class="kw">import java.security.SecureRandom;
class="kw">import java.util.Arrays;
class="kw">import java.util.List;
class="kw">import java.util.Random;
class="kw">import java.util.concurrent.ThreadLocalRandom;
class="kw">import java.util.random.RandomGenerator;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;
class="kw">public class RandomUtil {
class="kw">public class="kw">static class="kw">final ThreadLocal<SecureRandom> SECURE_RANDOM = ThreadLocal.withInitial(SecureRandom::new);
class="kw">public RandomUtil() {
}
class="kw">public class="kw">static <T> T roll(int var0, T[] var1, @Nonnull int[] var2) {
var0++;
int var3 = 0;
int var4 = 0;
for (int var5 = 0; var5 < var2.length; var5++) {
int var6 = var2[var5];
var4 += var6;
if (var0 > var3 && var0 <= var4) {
class="kw">return var1[var5];
}
var3 += var6;
}
throw new AssertionError("Reached end of roll(" + var0 + ", " + Arrays.toString(var1) + ", " + Arrays.toString(var2) + ")!");
}
class="kw">public class="kw">static int rollInt(int var0, int[] var1, @Nonnull int[] var2) {
var0++;
int var3 = 0;
int var4 = 0;
for (int var5 = 0; var5 < var2.length; var5++) {
int var6 = var2[var5];
var4 += var6;
if (var0 > var3 && var0 <= var4) {
class="kw">return var1[var5];
}
var3 += var6;
}
throw new AssertionError("Reached end of roll(" + var0 + ", " + Arrays.toString(var1) + ", " + Arrays.toString(var2) + ")!");
}
class="kw">public class="kw">static SecureRandom getSecureRandom() {
class="kw">return SECURE_RANDOM.get();
}
class="kw">public class="kw">static <T> T selectRandom(@Nonnull T[] var0, @Nonnull Random var1) {
class="kw">return var0[var1.nextInt(var0.length)];
}
@Nullable
class="kw">public class="kw">static <T> T selectRandomOrNull(@Nonnull T[] var0, @Nonnull Random var1) {
int var2 = var1.nextInt(var0.length + 1);
class="kw">return var2 == var0.length ? null : var0[var2];
}
@Nonnull
class="kw">public class="kw">static <T> T selectRandomOrDefault(@Nonnull T[] var0, @Nonnull T var1, @Nonnull Random var2) {
class="kw">return var0.length > 0 ? var0[var2.nextInt(var0.length)] : var1;
}
class="kw">public class="kw">static <T> T selectRandom(@Nonnull List<? class="kw">extends T> var0) {
class="kw">return selectRandom(var0, ThreadLocalRandom.current());
}
class="kw">public class="kw">static <T> T selectRandom(@Nonnull List<? class="kw">extends T> var0, @Nonnull Random var1) {
class="kw">return (T)var0.get(var1.nextInt(var0.size()));
}
class="kw">public class="kw">static int randomInteger(@Nullable Integer var0, @Nullable Integer var1, int var2, @Nonnull RandomGenerator var3) {
if (var0 == null) {
class="kw">return var2;
} else if (var1 == null) {
class="kw">return var2;
} else {
class="kw">return var1 <= var0 ? var1 : var3.nextInt(var0, var1);
}
}
class="kw">public class="kw">static float randomFloat(@Nullable Float var0, @Nullable Float var1, float var2, @Nonnull RandomGenerator var3) {
if (var0 == null) {
class="kw">return var2;
} else if (var1 == null) {
class="kw">return var2;
} else {
class="kw">return var1 <= var0 ? var1 : var3.nextFloat(var0, var1);
}
}
class="kw">public class="kw">static double randomDouble(@Nullable Double var0, @Nullable Double var1, double var2, @Nonnull RandomGenerator var4) {
if (var0 == null) {
class="kw">return var2;
} else if (var1 == null) {
class="kw">return var2;
} else {
class="kw">return var1 <= var0 ? var1 : var4.nextDouble(var0, var1);
}
}
}