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();
}
}