DensityGradientVectorProviderAsset class

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

Файл: com/hypixel/hytale/builtin/hytalegenerator/assets/vectorproviders/DensityGradientVectorProviderAsset.java

extends: VectorProviderAsset

Поля (1)

МодификаторыТипИмя
Density var2

Методы (1)

МодификаторыВозвратСигнатура
abstract return new DensityGradientVectorProviderreturn new DensityGradientVectorProvider(var2, this.sampleDistance)

Исходный код

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

class="kw">import com.hypixel.hytale.builtin.hytalegenerator.assets.density.ConstantDensityAsset;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.assets.density.DensityAsset;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.density.Density;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.vectorproviders.ConstantVectorProvider;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.vectorproviders.DensityGradientVectorProvider;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.vectorproviders.VectorProvider;
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">import org.joml.Vector3d;

class="kw">public class DensityGradientVectorProviderAsset class="kw">extends VectorProviderAsset {
   @Nonnull
   class="kw">public class="kw">static class="kw">final BuilderCodec<DensityGradientVectorProviderAsset> CODEC = BuilderCodec.builder(
         DensityGradientVectorProviderAsset.class, DensityGradientVectorProviderAsset::new, VectorProviderAsset.ABSTRACT_CODEC
      )
      .append(new KeyedCodec<>("Density", DensityAsset.CODEC, true), (var0, var1) -> var0.densityAsset = var1, var0 -> var0.densityAsset)
      .add()
      .<Double>append(new KeyedCodec<>("SampleDistance", BuilderCodec.DOUBLE, true), (var0, var1) -> var0.sampleDistance = var1, var0 -> var0.sampleDistance)
      .addValidator(Validators.greaterThanOrEqual(0.0))
      .add()
      .build();
   @Nonnull
   class="kw">private DensityAsset densityAsset = ConstantDensityAsset.ZERO_INSTANCE;
   class="kw">private double sampleDistance = 1.0;

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

   @Nonnull
   @Override
   class="kw">public VectorProvider build(@Nonnull VectorProviderAsset.Argument var1) {
      if (this.isSkipped()) {
         class="kw">return new ConstantVectorProvider(new Vector3d());
      }

      Density var2 = this.densityAsset.build(DensityAsset.from(var1));
      class="kw">return new DensityGradientVectorProvider(var2, this.sampleDistance);
   }

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