PropDistributionContentAsset class

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

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

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

Поля (1)

МодификаторыТипИмя
PropDistribution 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.propdistribution.ConstantPropDistributionAsset;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.assets.propdistribution.PropDistributionAsset;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.propdistributions.GraphPropDistribution;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.propdistributions.PropDistribution;
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 PropDistributionContentAsset class="kw">implements Cleanable, JsonAssetWithMap<String, DefaultAssetMap<String, PropDistributionContentAsset>> {
   @Nonnull
   class="kw">public class="kw">static class="kw">final AssetBuilderCodec<String, PropDistributionContentAsset> CODEC = AssetBuilderCodec.builder(
         PropDistributionContentAsset.class,
         PropDistributionContentAsset::new,
         Codec.STRING,
         (var0, var1) -> var0.id = var1,
         var0 -> var0.id,
         (var0, var1) -> var0.data = var1,
         var0 -> var0.data
      )
      .append(
         new KeyedCodec<>("PropDistribution", PropDistributionAsset.CODEC, true),
         (var0, var1) -> var0.propDistributionAsset = var1,
         var0 -> var0.propDistributionAsset
      )
      .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 PropDistributionAsset propDistributionAsset = ConstantPropDistributionAsset.INSTANCE;
   class="kw">private double range = 0.0;
   @Nonnull
   class="kw">private String contentLayerName = "";

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

   @Nonnull
   class="kw">public GraphPropDistribution.PropDistributionContent build(@Nonnull GraphGeneratorAsset.Argument var1) {
      assert var1.materialCache != null;
      PropDistribution var2 = this.propDistributionAsset.build(new PropDistributionAsset.Argument(var1));
      class="kw">return new GraphPropDistribution.PropDistributionContent(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.propDistributionAsset.cleanUp();
   }
}