NodeFunctionYOutAsset class
Пакет: com.hypixel.hytale.builtin.hytalegenerator.assets.curves.legacy
Файл: com/hypixel/hytale/builtin/hytalegenerator/assets/curves/legacy/NodeFunctionYOutAsset.java
implements: JsonAssetWithMap<String, DefaultAssetMap<String, NodeFunctionYOutAsset>>, Cleanable
Поля (4)
| Модификаторы | Тип | Имя |
|---|---|---|
|
|
return |
|
NodeFunction |
var1 |
|
DoubleOpenHashSet |
var3 |
|
Vector2d |
var6 |
Методы (5)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
|
public void |
acceptpublic void accept(PointYOutAsset[] var1, ValidationResults var2) |
|
|
for for(PointYOutAsset var7 : var1) |
|
|
for for(PointYOutAsset var5 : this.nodes) |
public |
String |
getIdString getId() |
|
public void |
updateSchemapublic void updateSchema(SchemaContext var1, Schema var2) |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.builtin.hytalegenerator.assets.curves.legacy;
class="kw">import com.hypixel.hytale.assetstore.AssetExtraInfo;
class="kw">import com.hypixel.hytale.assetstore.codec.AssetBuilderCodec;
class="kw">import com.hypixel.hytale.assetstore.map.DefaultAssetMap;
class="kw">import com.hypixel.hytale.assetstore.map.JsonAssetWithMap;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.assets.Cleanable;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.math.NodeFunction;
class="kw">import com.hypixel.hytale.codec.Codec;
class="kw">import com.hypixel.hytale.codec.KeyedCodec;
class="kw">import com.hypixel.hytale.codec.codecs.array.ArrayCodec;
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 it.unimi.dsi.fastutil.doubles.DoubleOpenHashSet;
class="kw">import javax.annotation.Nonnull;
class="kw">import org.joml.Vector2d;
class="kw">public class NodeFunctionYOutAsset class="kw">implements JsonAssetWithMap<String, DefaultAssetMap<String, NodeFunctionYOutAsset>>, Cleanable {
@Nonnull
class="kw">public class="kw">static class="kw">final AssetBuilderCodec<String, NodeFunctionYOutAsset> CODEC = AssetBuilderCodec.builder(
NodeFunctionYOutAsset.class,
NodeFunctionYOutAsset::new,
Codec.STRING,
(var0, var1) -> var0.id = var1,
var0 -> var0.id,
(var0, var1) -> var0.data = var1,
var0 -> var0.data
)
.append(
new KeyedCodec<>("Points", new ArrayCodec<>(PointYOutAsset.CODEC, PointYOutAsset[]::new), true), (var0, var1) -> var0.nodes = var1, var0 -> var0.nodes
)
.addValidator(new Validator<PointYOutAsset[]>() {
class="kw">public void accept(PointYOutAsset[] var1, ValidationResults var2) {
DoubleOpenHashSet var3 = new DoubleOpenHashSet(var1.length);
for (PointYOutAsset var7 : var1) {
if (var3.contains(var7.getY())) {
var2.fail("More than one point with Y value: " + var7.getY());
class="kw">return;
}
var3.add(var7.getY());
}
}
@Override
class="kw">public void updateSchema(SchemaContext var1, Schema var2) {
}
})
.add()
.build();
class="kw">private String id;
class="kw">private AssetExtraInfo.Data data;
class="kw">private PointYOutAsset[] nodes = new PointYOutAsset[0];
class="kw">public NodeFunctionYOutAsset() {
}
@Nonnull
class="kw">public NodeFunction build() {
NodeFunction var1 = new NodeFunction();
for (PointYOutAsset var5 : this.nodes) {
Vector2d var6 = var5.build();
var1.addPoint(var6.x, var6.y);
}
class="kw">return var1;
}
class="kw">public String getId() {
class="kw">return this.id;
}
@Override
class="kw">public void cleanUp() {
}
}