Constants interface
Пакет: com.hypixel.hytale.procedurallib.json
Файл: com/hypixel/hytale/procedurallib/json/NoiseTypeJson.java
Поля (2)
| Модификаторы | Тип | Имя |
|---|---|---|
|
String |
ERROR_FAILED_CONSTRUCTOR |
|
String |
ERROR_NO_CONSTRUCTOR |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.procedurallib.json;
class="kw">import com.google.gson.JsonElement;
class="kw">import com.hypixel.hytale.procedurallib.NoiseFunction;
class="kw">import com.hypixel.hytale.procedurallib.NoiseType;
class="kw">import java.lang.reflect.Constructor;
class="kw">import java.nio.file.Path;
class="kw">import javax.annotation.Nonnull;
class="kw">public enum NoiseTypeJson {
CELL(NoiseType.CELL, CellNoiseJsonLoader.class),
CONSTANT(NoiseType.CONSTANT, ConstantNoiseJsonLoader.class),
DISTANCE(NoiseType.DISTANCE, DistanceNoiseJsonLoader.class),
PERLIN(NoiseType.PERLIN, PerlinNoiseJsonLoader.class),
SIMPLEX(NoiseType.SIMPLEX, SimplexNoiseJsonLoader.class),
OLD_SIMPLEX(NoiseType.OLD_SIMPLEX, OldSimplexNoiseJsonLoader.class),
VALUE(NoiseType.VALUE, ValueNoiseJsonLoader.class),
MESH(NoiseType.MESH, MeshNoiseJsonLoader.class),
GRID(NoiseType.GRID, GridNoiseJsonLoader.class),
BRANCH(NoiseType.BRANCH, BranchNoiseJsonLoader.class),
POINT(NoiseType.POINT, PointNoiseJsonLoader.class);
class="kw">private class="kw">final NoiseType noiseType;
@Nonnull
class="kw">private class="kw">final Constructor constructor;
<T class="kw">extends JsonLoader<?, NoiseFunction>> NoiseTypeJson(NoiseType nullxx, @Nonnull Class<T> nullxxx) {
this.noiseType = nullxx;
try {
this.constructor = nullxxx.getConstructor(SeedString.class, Path.class, JsonElement.class);
this.constructor.setAccessible(true);
} catch (NoSuchMethodException var6) {
throw new Error(String.format("Could not find loader constructor for %s. NoiseType: %s", nullxxx.getName(), nullxx), var6);
}
}
@Nonnull
class="kw">public <K class="kw">extends SeedResource> JsonLoader<K, NoiseFunction> newLoader(SeedString<K> var1, Path var2, JsonElement var3) {
try {
class="kw">return (JsonLoader<K, NoiseFunction>)this.constructor.newInstance(var1, var2, var3);
} catch (Exception var5) {
throw new Error(String.format("Failed to execute loader constructor! NoiseType: %s", this.noiseType), var5);
}
}
class="kw">public class="kw">interface Constants {
String ERROR_NO_CONSTRUCTOR = "Could not find loader constructor for %s. NoiseType: %s";
String ERROR_FAILED_CONSTRUCTOR = "Failed to execute loader constructor! NoiseType: %s";
}
}