CellNoiseAsset class
Пакет: com.hypixel.hytale.builtin.hytalegenerator.assets.noisegenerators
Файл: com/hypixel/hytale/builtin/hytalegenerator/assets/noisegenerators/CellNoiseAsset.java
extends: NoiseAsset
Поля (5)
| Модификаторы | Тип | Имя |
|---|---|---|
|
|
CODEC |
|
SeedBox |
var2 |
|
String |
var4 |
|
|
var4 |
|
|
var4 |
Методы (3)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
|
public void |
acceptpublic void accept(String var1, ValidationResults var2) |
|
|
for for(String var6 : CellNoiseAsset.validCellTypes) |
|
public void |
updateSchemapublic void updateSchema(SchemaContext var1, Schema var2) |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.builtin.hytalegenerator.assets.noisegenerators;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.noise.CellNoiseField;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.noise.FastNoiseLite;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.rng.SeedBox;
class="kw">import com.hypixel.hytale.codec.Codec;
class="kw">import com.hypixel.hytale.codec.KeyedCodec;
class="kw">import com.hypixel.hytale.codec.builder.BuilderCodec;
class="kw">import com.hypixel.hytale.codec.schema.SchemaContext;
class="kw">import com.hypixel.hytale.codec.schema.config.Schema;
class="kw">import com.hypixel.hytale.codec.validation.ValidationResults;
class="kw">import com.hypixel.hytale.codec.validation.Validator;
class="kw">import com.hypixel.hytale.codec.validation.Validators;
class="kw">import java.util.HashSet;
class="kw">import java.util.Set;
class="kw">import javax.annotation.Nonnull;
class="kw">public class CellNoiseAsset class="kw">extends NoiseAsset {
@Nonnull
class="kw">private class="kw">static Set<String> validCellTypes = new HashSet<>();
@Nonnull
class="kw">public class="kw">static class="kw">final BuilderCodec<CellNoiseAsset> CODEC;
class="kw">private double warpScale = 1.0;
class="kw">private double warpAmount = 1.0;
class="kw">private double scale = 50.0;
class="kw">private double jitter = 0.5;
class="kw">private int octaves = 1;
class="kw">private String seedKey = "A";
@Nonnull
class="kw">private FastNoiseLite.CellularReturnType cellType = FastNoiseLite.CellularReturnType.CellValue;
class="kw">public CellNoiseAsset() {
}
@Nonnull
class="kw">public CellNoiseField build(@Nonnull SeedBox var1) {
SeedBox var2 = var1.child(this.seedKey);
class="kw">return new CellNoiseField(
var2.createSupplier().get(),
this.scale,
this.scale,
this.scale,
this.jitter,
this.octaves,
this.cellType,
FastNoiseLite.DomainWarpType.OpenSimplex2,
this.warpAmount,
this.warpScale
);
}
class="kw">static {
for (FastNoiseLite.CellularReturnType var3 : FastNoiseLite.CellularReturnType.values()) {
validCellTypes.add(var3.toString());
}
CODEC = BuilderCodec.builder(CellNoiseAsset.class, CellNoiseAsset::new, NoiseAsset.ABSTRACT_CODEC)
.append(new KeyedCodec<>("WarpAmount", Codec.DOUBLE, true), (var0, var1) -> var0.warpAmount = var1, var0 -> var0.warpAmount)
.addValidator(Validators.greaterThan(0.0))
.add()
.<Double>append(new KeyedCodec<>("WarpScale", Codec.DOUBLE, true), (var0, var1) -> var0.warpScale = var1, var0 -> var0.warpScale)
.addValidator(Validators.greaterThan(0.0))
.add()
.<Double>append(new KeyedCodec<>("Scale", Codec.DOUBLE, true), (var0, var1) -> var0.scale = var1, var0 -> var0.scale)
.addValidator(Validators.greaterThan(0.0))
.add()
.<Integer>append(new KeyedCodec<>("Octaves", Codec.INTEGER, true), (var0, var1) -> var0.octaves = var1, var0 -> var0.octaves)
.addValidator(Validators.greaterThan(0))
.add()
.append(new KeyedCodec<>("Seed", Codec.STRING, true), (var0, var1) -> var0.seedKey = var1, var0 -> var0.seedKey)
.add()
.<String>append(
new KeyedCodec<>("CellType", Codec.STRING, true),
(var0, var1) -> var0.cellType = FastNoiseLite.CellularReturnType.valueOf(var1),
var0 -> var0.cellType.name()
)
.addValidator(new Validator<String>() {
class="kw">public void accept(String var1, ValidationResults var2) {
try {
FastNoiseLite.CellularReturnType.valueOf(var1);
} catch (IllegalArgumentException var7) {
String var4 = "Invalid CellType: " + var1 + ". Valid choices: ";
for (String var6 : CellNoiseAsset.validCellTypes) {
var4 = var4 + " ";
var4 = var4 + var6;
}
var2.fail(var4);
}
}
@Override
class="kw">public void updateSchema(SchemaContext var1, Schema var2) {
}
})
.add()
.build();
}
}