MaterialContentAsset class

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

Файл: com/hypixel/hytale/builtin/hytalegenerator/assets/graph/MaterialContentAsset.java

implements: Cleanable, JsonAssetWithMap<String, DefaultAssetMap<String, MaterialContentAsset>>

Поля (1)

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

Исходный код

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

class="kw">import com.hypixel.hytale.assetstore.AssetExtraInfo;
class="kw">import com.hypixel.hytale.assetstore.codec.AssetBuilderCodec;
class="kw">import com.hypixel.hytale.assetstore.map.DefaultAssetMap;
class="kw">import com.hypixel.hytale.assetstore.map.JsonAssetWithMap;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.assets.Cleanable;
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.GraphMaterialProvider;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.materialproviders.MaterialProvider;
class="kw">import com.hypixel.hytale.codec.Codec;
class="kw">import com.hypixel.hytale.codec.KeyedCodec;
class="kw">import com.hypixel.hytale.codec.validation.Validators;
class="kw">import javax.annotation.Nonnull;

class="kw">public class MaterialContentAsset class="kw">implements Cleanable, JsonAssetWithMap<String, DefaultAssetMap<String, MaterialContentAsset>> {
   @Nonnull
   class="kw">public class="kw">static class="kw">final AssetBuilderCodec<String, MaterialContentAsset> CODEC = AssetBuilderCodec.builder(
         MaterialContentAsset.class,
         MaterialContentAsset::new,
         Codec.STRING,
         (var0, var1) -> var0.id = var1,
         var0 -> var0.id,
         (var0, var1) -> var0.data = var1,
         var0 -> var0.data
      )
      .append(
         new KeyedCodec<>("MaterialProvider", MaterialProviderAsset.CODEC, true),
         (var0, var1) -> var0.materialProviderAsset = var1,
         var0 -> var0.materialProviderAsset
      )
      .add()
      .<Double>append(new KeyedCodec<>("Range", Codec.DOUBLE, true), (var0, var1) -> var0.range = var1, var0 -> var0.range)
      .addValidator(Validators.greaterThanOrEqual(0.0))
      .add()
      .append(new KeyedCodec<>("ContentLayer", Codec.STRING, true), (var0, var1) -> var0.contentLayerName = var1, var0 -> var0.contentLayerName)
      .add()
      .build();
   class="kw">private String id;
   class="kw">private AssetExtraInfo.Data data;
   @Nonnull
   class="kw">private MaterialProviderAsset materialProviderAsset = new ConstantMaterialProviderAsset();
   class="kw">private double range = 0.0;
   @Nonnull
   class="kw">private String contentLayerName = "";

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

   @Nonnull
   class="kw">public GraphMaterialProvider.MaterialContent build(@Nonnull GraphGeneratorAsset.Argument var1) {
      assert var1.materialCache != null;
      MaterialProvider var2 = this.materialProviderAsset.build(MaterialProviderAsset.argumentFrom(var1));
      class="kw">return new GraphMaterialProvider.MaterialContent(var2, this.range);
   }

   @Nonnull
   class="kw">public String getContentLayerName() {
      class="kw">return this.contentLayerName;
   }

   @Nonnull
   class="kw">public String getId() {
      class="kw">return "";
   }

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