StdLib class
Пакет: com.hypixel.hytale.server.npc.util.expression
Файл: com/hypixel/hytale/server/npc/util/expression/StdLib.java
extends: StdScope
Поля (3)
| Модификаторы | Тип | Имя |
|---|---|---|
final |
StdLib |
instance |
|
String |
var2 |
|
double |
var2 |
Методы (2)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
static |
StdScope |
getInstanceStdScope getInstance() |
abstract |
|
super super(null) |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.server.npc.util.expression;
class="kw">import java.util.concurrent.ThreadLocalRandom;
class="kw">public class StdLib class="kw">extends StdScope {
class="kw">private class="kw">static class="kw">final StdLib instance = new StdLib();
class="kw">private StdLib() {
super(null);
this.addConst("true", true);
this.addConst("false", false);
this.addConst("PI", (float) Math.PI);
this.addInvariant(
"max", (var0, var1) -> var0.popPush(Math.max(var0.getNumber(0), var0.getNumber(1)), 2), ValueType.NUMBER, ValueType.NUMBER, ValueType.NUMBER
);
this.addInvariant(
"min", (var0, var1) -> var0.popPush(Math.min(var0.getNumber(0), var0.getNumber(1)), 2), ValueType.NUMBER, ValueType.NUMBER, ValueType.NUMBER
);
this.addInvariant("isEmpty", (var0, var1) -> {
String var2 = var0.getString(0);
var0.popPush(var2 == null || var2.isEmpty(), 1);
}, ValueType.BOOLEAN, ValueType.STRING);
this.addInvariant("isEmptyStringArray", (var0, var1) -> var0.popPush(var0.getStringArray(0).length == 0, 1), ValueType.BOOLEAN, ValueType.STRING_ARRAY);
this.addInvariant("isEmptyNumberArray", (var0, var1) -> var0.popPush(var0.getNumberArray(0).length == 0, 1), ValueType.BOOLEAN, ValueType.NUMBER_ARRAY);
this.addVariant("random", (var0, var1) -> var0.push(ThreadLocalRandom.current().nextDouble()), ValueType.NUMBER);
this.addVariant(
"randomInRange",
(var0, var1) -> var0.popPush(ThreadLocalRandom.current().nextDouble(var0.getNumber(1), var0.getNumber(0)), 2),
ValueType.NUMBER,
ValueType.NUMBER,
ValueType.NUMBER
);
this.addInvariant("makeRange", (var0, var1) -> {
double var2 = var0.getNumber(0);
var0.popPush(new double[]{var2, var2}, 1);
}, ValueType.NUMBER_ARRAY, ValueType.NUMBER);
}
class="kw">public class="kw">static StdScope getInstance() {
class="kw">return instance;
}
}