DoubleConditionJsonLoader class
Пакет: com.hypixel.hytale.procedurallib.json
Файл: com/hypixel/hytale/procedurallib/json/DoubleConditionJsonLoader.java
extends: JsonLoader<K, IDoubleCondition>
Поля (4)
| Модификаторы | Тип | Имя |
|---|---|---|
|
String |
ERROR_FAILED |
|
String |
ERROR_NO_DEFAULT |
final |
Boolean |
defaultValue |
|
double |
var1 |
Методы (2)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
abstract |
return new |
SingleDoubleConditionreturn new SingleDoubleCondition(var1) |
abstract |
|
super super(var1, var2, var3) |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.procedurallib.json;
class="kw">import com.google.gson.JsonElement;
class="kw">import com.hypixel.hytale.procedurallib.condition.DefaultDoubleCondition;
class="kw">import com.hypixel.hytale.procedurallib.condition.DoubleThresholdCondition;
class="kw">import com.hypixel.hytale.procedurallib.condition.IDoubleCondition;
class="kw">import com.hypixel.hytale.procedurallib.condition.SingleDoubleCondition;
class="kw">import java.nio.file.Path;
class="kw">import java.util.Objects;
class="kw">import javax.annotation.Nonnull;
class="kw">public class DoubleConditionJsonLoader<K class="kw">extends SeedResource> class="kw">extends JsonLoader<K, IDoubleCondition> {
class="kw">protected class="kw">final Boolean defaultValue;
class="kw">public DoubleConditionJsonLoader(@Nonnull SeedString<K> var1, Path var2, JsonElement var3) {
this(var1.append(".DoubleCondition"), var2, var3, true);
}
class="kw">public DoubleConditionJsonLoader(SeedString<K> var1, Path var2, JsonElement var3, Boolean var4) {
super(var1, var2, var3);
this.defaultValue = var4;
}
@Nonnull
class="kw">public IDoubleCondition load() {
if (this.json == null || this.json.isJsonNull()) {
Objects.requireNonNull(this.defaultValue, "Default value is not set and condition is not defined.");
class="kw">return this.defaultValue ? DefaultDoubleCondition.DEFAULT_TRUE : DefaultDoubleCondition.DEFAULT_FALSE;
}
if (!this.json.isJsonPrimitive()
&& (!this.json.isJsonArray() || this.json.getAsJsonArray().size() != 1 || !this.json.getAsJsonArray().get(0).isJsonPrimitive())) {
if (this.json.isJsonArray()) {
class="kw">return new DoubleThresholdCondition(new DoubleThresholdJsonLoader<>(this.seed, this.dataFolder, this.json).load());
} else {
throw new Error(String.format("Failed to load \"%s\" as DoubleCondition", this.json));
}
} else {
double var1 = this.json.getAsDouble();
class="kw">return new SingleDoubleCondition(var1);
}
}
class="kw">public class="kw">interface Constants {
String ERROR_NO_DEFAULT = "Default value is not set and condition is not defined.";
String ERROR_FAILED = "Failed to load \"%s\" as DoubleCondition";
}
}