FloatRangeJsonLoader class
Пакет: com.hypixel.hytale.procedurallib.json
Файл: com/hypixel/hytale/procedurallib/json/FloatRangeJsonLoader.java
extends: JsonLoader<K, IFloatRange>
Поля (9)
| Модификаторы | Тип | Имя |
|---|---|---|
|
String |
ERROR_ARRAY_SIZE |
|
String |
ERROR_NO_MAX |
|
String |
ERROR_NO_MIN |
|
String |
KEY_MAX |
|
String |
KEY_MIN |
final |
float |
default1 |
|
float |
var1 |
|
float |
var2 |
|
JsonArray |
var3 |
Методы (8)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
abstract |
throw new |
IllegalStateExceptionthrow new IllegalStateException("Minimum value of range is not defined. Keyword: Min") |
abstract |
throw new |
IllegalStateExceptionthrow new IllegalStateException("Maximum value of range is not defined. Keyword: Max") |
abstract |
float |
getfloat get(float var1) |
abstract |
|
this this(var1, var2, var3, 0.0F, var0 -> var0) |
abstract |
|
this this(var1, var2, var3, 0.0F, var4) |
abstract |
|
this this(var1, var2, var3, var4, var4, var0 -> var0) |
abstract |
|
this this(var1, var2, var3, var4, var4, var5) |
abstract |
|
this this(var1, var2, var3, var4, var5, var0 -> var0) |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.procedurallib.json;
class="kw">import com.google.gson.JsonArray;
class="kw">import com.google.gson.JsonElement;
class="kw">import com.hypixel.hytale.procedurallib.supplier.FloatRange;
class="kw">import com.hypixel.hytale.procedurallib.supplier.IFloatRange;
class="kw">import java.nio.file.Path;
class="kw">import java.util.Objects;
class="kw">import javax.annotation.Nonnull;
class="kw">public class FloatRangeJsonLoader<K class="kw">extends SeedResource> class="kw">extends JsonLoader<K, IFloatRange> {
class="kw">protected class="kw">final float default1;
class="kw">protected class="kw">final float default2;
@Nonnull
class="kw">protected class="kw">final FloatRangeJsonLoader.FloatToFloatFunction function;
class="kw">public FloatRangeJsonLoader(@Nonnull SeedString<K> var1, Path var2, JsonElement var3) {
this(var1, var2, var3, 0.0F, var0 -> var0);
}
class="kw">public FloatRangeJsonLoader(@Nonnull SeedString<K> var1, Path var2, JsonElement var3, FloatRangeJsonLoader.FloatToFloatFunction var4) {
this(var1, var2, var3, 0.0F, var4);
}
class="kw">public FloatRangeJsonLoader(@Nonnull SeedString<K> var1, Path var2, JsonElement var3, float var4) {
this(var1, var2, var3, var4, var4, var0 -> var0);
}
class="kw">public FloatRangeJsonLoader(@Nonnull SeedString<K> var1, Path var2, JsonElement var3, float var4, FloatRangeJsonLoader.FloatToFloatFunction var5) {
this(var1, var2, var3, var4, var4, var5);
}
class="kw">public FloatRangeJsonLoader(@Nonnull SeedString<K> var1, Path var2, JsonElement var3, float var4, float var5) {
this(var1, var2, var3, var4, var5, var0 -> var0);
}
class="kw">public FloatRangeJsonLoader(@Nonnull SeedString<K> var1, Path var2, JsonElement var3, float var4, float var5, FloatRangeJsonLoader.FloatToFloatFunction var6) {
super(var1.append(".DoubleRange"), var2, var3);
this.default1 = var4;
this.default2 = var5;
this.function = Objects.requireNonNull(var6);
}
@Nonnull
class="kw">public IFloatRange load() {
if (this.json != null && !this.json.isJsonNull()) {
if (this.json.isJsonArray()) {
JsonArray var3 = this.json.getAsJsonArray();
if (var3.size() != 1 && var3.size() != 2) {
throw new IllegalStateException(String.format("Range array contains %s values. Only 1 or 2 entries are allowed.", var3.size()));
} else {
class="kw">return var3.size() == 1
? new FloatRange.Constant(this.function.get(var3.get(0).getAsFloat()))
: new FloatRange.Normal(this.function.get(var3.get(0).getAsFloat()), this.function.get(var3.get(1).getAsFloat()));
}
} else {
if (!this.json.isJsonObject()) {
class="kw">return new FloatRange.Constant(this.function.get(this.json.getAsFloat()));
}
if (!this.has("Min")) {
throw new IllegalStateException("Minimum value of range is not defined. Keyword: Min");
}
if (!this.has("Max")) {
throw new IllegalStateException("Maximum value of range is not defined. Keyword: Max");
}
float var1 = this.get("Min").getAsFloat();
float var2 = this.get("Max").getAsFloat();
class="kw">return new FloatRange.Normal(this.function.get(var1), this.function.get(var2));
}
} else {
class="kw">return this.default1 == this.default2
? new FloatRange.Constant(this.function.get(this.default1))
: new FloatRange.Normal(this.function.get(this.default1), this.function.get(this.default2));
}
}
class="kw">public class="kw">interface Constants {
String KEY_MIN = "Min";
String KEY_MAX = "Max";
String ERROR_ARRAY_SIZE = "Range array contains %s values. Only 1 or 2 entries are allowed.";
String ERROR_NO_MIN = "Minimum value of range is not defined. Keyword: Min";
String ERROR_NO_MAX = "Maximum value of range is not defined. Keyword: Max";
}
@FunctionalInterface
class="kw">public class="kw">interface FloatToFloatFunction {
float get(float var1);
}
}