ManualCurveAsset class

Пакет: com.hypixel.hytale.builtin.hytalegenerator.assets.curves.manual

Файл: com/hypixel/hytale/builtin/hytalegenerator/assets/curves/manual/ManualCurveAsset.java

extends: CurveAsset

Поля (4)

МодификаторыТипИмя
return
NodeFunction var1
DoubleOpenHashSet var2
Vector2d var6

Методы (2)

МодификаторыВозвратСигнатура
for for(PointInOutAsset var6 : var0)
for for(PointInOutAsset var5 : this.nodes)

Исходный код

Показать/скрыть
class="kw">package com.hypixel.hytale.builtin.hytalegenerator.assets.curves.manual;

class="kw">import com.hypixel.hytale.assetstore.AssetExtraInfo;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.assets.curves.CurveAsset;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.math.NodeFunction;
class="kw">import com.hypixel.hytale.codec.KeyedCodec;
class="kw">import com.hypixel.hytale.codec.builder.BuilderCodec;
class="kw">import com.hypixel.hytale.codec.codecs.array.ArrayCodec;
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 ManualCurveAsset class="kw">extends CurveAsset {
   @Nonnull
   class="kw">public class="kw">static class="kw">final BuilderCodec<ManualCurveAsset> CODEC = BuilderCodec.builder(ManualCurveAsset.class, ManualCurveAsset::new, CurveAsset.ABSTRACT_CODEC)
      .append(
         new KeyedCodec<>("Points", new ArrayCodec<>(PointInOutAsset.CODEC, PointInOutAsset[]::new), true),
         (var0, var1) -> var0.nodes = var1,
         var0 -> var0.nodes
      )
      .addValidator((var0, var1) -> {
         DoubleOpenHashSet var2 = new DoubleOpenHashSet(var0.length);

         for (PointInOutAsset var6 : var0) {
            if (var2.contains(var6.getY())) {
               var1.fail("More than one point with Y value: " + var6.getY());
               class="kw">return;
            }

            var2.add(var6.getY());
         }
      })
      .add()
      .build();
   class="kw">private String id;
   class="kw">private AssetExtraInfo.Data data;
   class="kw">private PointInOutAsset[] nodes = new PointInOutAsset[0];

   class="kw">private ManualCurveAsset() {
   }

   @Nonnull
   class="kw">public NodeFunction build() {
      NodeFunction var1 = new NodeFunction();

      for (PointInOutAsset var5 : this.nodes) {
         Vector2d var6 = var5.build();
         var1.addPoint(var6.x, var6.y);
      }

      class="kw">return var1;
   }

   @Override
   class="kw">public String getId() {
      class="kw">return this.id;
   }

   @Override
   class="kw">public void cleanUp() {
   }
}