ConstantThicknessLayerAsset class

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

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

extends: LayerAsset

Исходный код

Показать/скрыть
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.spaceanddepth.SpaceAndDepthMaterialProvider;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.materialproviders.spaceanddepth.layers.ConstantThicknessLayer;
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 ConstantThicknessLayerAsset class="kw">extends LayerAsset {
   @Nonnull
   class="kw">public class="kw">static class="kw">final BuilderCodec<ConstantThicknessLayerAsset> CODEC = BuilderCodec.builder(
         ConstantThicknessLayerAsset.class, ConstantThicknessLayerAsset::new, LayerAsset.ABSTRACT_CODEC
      )
      .append(new KeyedCodec<>("Thickness", Codec.INTEGER, true), (var0, var1) -> var0.thickness = var1, var0 -> var0.thickness)
      .addValidator(Validators.greaterThanOrEqual(0))
      .add()
      .append(
         new KeyedCodec<>("Material", MaterialProviderAsset.CODEC, true), (var0, var1) -> var0.materialProviderAsset = var1, var0 -> var0.materialProviderAsset
      )
      .add()
      .build();
   class="kw">private int thickness;
   class="kw">private MaterialProviderAsset materialProviderAsset = new ConstantMaterialProviderAsset();

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

   @Nonnull
   @Override
   class="kw">public SpaceAndDepthMaterialProvider.Layer<Material> build(@Nonnull MaterialProviderAsset.Argument var1) {
      class="kw">return new ConstantThicknessLayer<>(this.thickness, this.materialProviderAsset.build(var1));
   }

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