FastGradientWarpDensityAsset class

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

Файл: com/hypixel/hytale/builtin/hytalegenerator/assets/density/FastGradientWarpDensityAsset.java

extends: DensityAsset

Исходный код

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

class="kw">import com.hypixel.hytale.builtin.hytalegenerator.density.ConstantValueDensity;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.density.Density;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.density.FastGradientWarpDensity;
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.validation.Validators;
class="kw">import javax.annotation.Nonnull;

class="kw">public class FastGradientWarpDensityAsset class="kw">extends DensityAsset {
   @Nonnull
   class="kw">public class="kw">static class="kw">final BuilderCodec<FastGradientWarpDensityAsset> CODEC = BuilderCodec.builder(
         FastGradientWarpDensityAsset.class, FastGradientWarpDensityAsset::new, DensityAsset.ABSTRACT_CODEC
      )
      .append(new KeyedCodec<>("WarpScale", Codec.FLOAT, false), (var0, var1) -> var0.warpScale = var1, var0 -> var0.warpScale)
      .addValidator(Validators.greaterThan(0.0F))
      .add()
      .<Integer>append(new KeyedCodec<>("WarpOctaves", Codec.INTEGER, false), (var0, var1) -> var0.warpOctaves = var1, var0 -> var0.warpOctaves)
      .addValidator(Validators.greaterThan(0))
      .add()
      .<Float>append(new KeyedCodec<>("WarpLacunarity", Codec.FLOAT, false), (var0, var1) -> var0.warpLacunarity = var1, var0 -> var0.warpLacunarity)
      .addValidator(Validators.greaterThanOrEqual(0.0F))
      .add()
      .<Float>append(new KeyedCodec<>("WarpPersistence", Codec.FLOAT, false), (var0, var1) -> var0.warpPersistence = var1, var0 -> var0.warpPersistence)
      .addValidator(Validators.greaterThanOrEqual(0.0F))
      .add()
      .<Float>append(new KeyedCodec<>("WarpFactor", Codec.FLOAT, false), (var0, var1) -> var0.warpFactor = var1, var0 -> var0.warpFactor)
      .addValidator(Validators.greaterThanOrEqual(0.0F))
      .add()
      .append(new KeyedCodec<>("Seed", Codec.STRING, false), (var0, var1) -> var0.seed = var1, var0 -> var0.seed)
      .add()
      .build();
   class="kw">private float warpLacunarity = 2.0F;
   class="kw">private float warpPersistence = 0.5F;
   class="kw">private int warpOctaves = 1;
   class="kw">private float warpScale = 1.0F;
   class="kw">private float warpFactor = 1.0F;
   class="kw">private String seed = "A";

   class="kw">public FastGradientWarpDensityAsset() {
   }

   @Nonnull
   @Override
   class="kw">public Density build(@Nonnull DensityAsset.Argument var1) {
      class="kw">return this.isSkipped()
         ? new ConstantValueDensity(0.0)
         : new FastGradientWarpDensity(
            this.buildFirstInput(var1),
            this.warpLacunarity,
            this.warpPersistence,
            this.warpOctaves,
            1.0F / this.warpScale,
            this.warpFactor,
            var1.parentSeed.child(this.seed).createSupplier().get()
         );
   }

   @Override
   class="kw">public void cleanUp() {
      this.cleanUpInputs();
   }
}