SimplexNoise2dDensityAsset class

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

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

extends: DensityAsset

Поля (4)

МодификаторыТипИмя
SeedBox var2
SimplexNoiseField var3
Noise2dDensity var4
Density var5

Методы (2)

МодификаторыВозвратСигнатура
abstract return new ConstantValueDensityreturn new ConstantValueDensity(0.0)
abstract return new YOverrideDensityreturn new YOverrideDensity(var5, 0.0)

Исходный код

Показать/скрыть
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.MultiCacheDensity;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.density.Noise2dDensity;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.density.YOverrideDensity;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.noise.SimplexNoiseField;
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.validation.Validators;
class="kw">import javax.annotation.Nonnull;

class="kw">public class SimplexNoise2dDensityAsset class="kw">extends DensityAsset {
   @Nonnull
   class="kw">public class="kw">static class="kw">final BuilderCodec<SimplexNoise2dDensityAsset> CODEC = BuilderCodec.builder(
         SimplexNoise2dDensityAsset.class, SimplexNoise2dDensityAsset::new, DensityAsset.ABSTRACT_CODEC
      )
      .append(new KeyedCodec<>("Lacunarity", Codec.DOUBLE, true), (var0, var1) -> var0.lacunarity = var1, var0 -> var0.lacunarity)
      .addValidator(Validators.greaterThan(0.0))
      .add()
      .<Double>append(new KeyedCodec<>("Persistence", Codec.DOUBLE, true), (var0, var1) -> var0.persistence = var1, var0 -> var0.persistence)
      .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()
      .build();
   class="kw">private double lacunarity = 2.0;
   class="kw">private double persistence = 0.5;
   class="kw">private double scale = 50.0;
   class="kw">private int octaves = 1;
   class="kw">private String seedKey = "";

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

   @Nonnull
   @Override
   class="kw">public Density build(@Nonnull DensityAsset.Argument var1) {
      if (this.isSkipped()) {
         class="kw">return new ConstantValueDensity(0.0);
      }

      SeedBox var2 = var1.parentSeed.child(this.seedKey);
      SimplexNoiseField var3 = SimplexNoiseField.builder()
         .withAmplitudeMultiplier(this.persistence)
         .withFrequencyMultiplier(this.lacunarity)
         .withScale(this.scale)
         .withSeed(var2.createSupplier().get().intValue())
         .withNumberOfOctaves(this.octaves)
         .build();
      Noise2dDensity var4 = new Noise2dDensity(var3);
      Density var5 = new MultiCacheDensity(var4, CacheDensityAsset.DEFAULT_CAPACITY);
      class="kw">return new YOverrideDensity(var5, 0.0);
   }

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