RangeThicknessAsset class

Пакет: com.hypixel.hytale.builtin.hytalegenerator.assets.materialproviders.spaceanddepth.layerassets

Файл: com/hypixel/hytale/builtin/hytalegenerator/assets/materialproviders/spaceanddepth/layerassets/RangeThicknessAsset.java

extends: LayerAsset

Поля (1)

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

Исходный код

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

class="kw">import com.hypixel.hytale.builtin.hytalegenerator.assets.materialproviders.ConstantMaterialProviderAsset;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.assets.materialproviders.MaterialProviderAsset;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.material.Material;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.materialproviders.MaterialProvider;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.materialproviders.spaceanddepth.SpaceAndDepthMaterialProvider;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.materialproviders.spaceanddepth.layers.RangedThicknessLayer;
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 javax.annotation.Nonnull;

class="kw">public class RangeThicknessAsset class="kw">extends LayerAsset {
   @Nonnull
   class="kw">public class="kw">static class="kw">final BuilderCodec<RangeThicknessAsset> CODEC = BuilderCodec.builder(
         RangeThicknessAsset.class, RangeThicknessAsset::new, LayerAsset.ABSTRACT_CODEC
      )
      .append(new KeyedCodec<>("RangeMin", Codec.INTEGER, true), (var0, var1) -> var0.rangeMin = var1, var0 -> var0.rangeMin)
      .add()
      .append(new KeyedCodec<>("RangeMax", Codec.INTEGER, true), (var0, var1) -> var0.rangeMax = var1, var0 -> var0.rangeMax)
      .add()
      .append(
         new KeyedCodec<>("Material", MaterialProviderAsset.CODEC, true), (var0, var1) -> var0.materialProviderAsset = var1, var0 -> var0.materialProviderAsset
      )
      .add()
      .append(new KeyedCodec<>("Seed", Codec.STRING, true), (var0, var1) -> var0.seed = var1, var0 -> var0.seed)
      .add()
      .afterDecode(var0 -> var0.rangeMax = Math.max(var0.rangeMin, var0.rangeMax))
      .build();
   class="kw">private MaterialProviderAsset materialProviderAsset = new ConstantMaterialProviderAsset();
   class="kw">private String seed = "";
   class="kw">private int rangeMin;
   class="kw">private int rangeMax;

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

   @Nonnull
   @Override
   class="kw">public SpaceAndDepthMaterialProvider.Layer<Material> build(@Nonnull MaterialProviderAsset.Argument var1) {
      MaterialProvider var2 = this.materialProviderAsset.build(var1);
      class="kw">return new RangedThicknessLayer<>(this.rangeMin, this.rangeMax, var1.parentSeed.child(this.seed), var2);
   }

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