DensityDelimitedEnvironmentProviderAsset class

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

Файл: com/hypixel/hytale/builtin/hytalegenerator/assets/environmentproviders/DensityDelimitedEnvironmentProviderAsset.java

extends: EnvironmentProviderAsset

Поля (9)

МодификаторыТипИмя
public static final AssetBuilderCodec<String, DensityDelimitedEnvironmentProviderAsset.DelimiterAsset> CODEC
private AssetExtraInfo.Data data
private EnvironmentProviderAsset environmentProviderAsset
private String id
private RangeDoubleAsset rangeAsset
List var2
RangeDouble var2
EnvironmentProvider var3
Density var7

Методы (7)

МодификаторыВозвратСигнатура
public DelimiterAssetpublic DelimiterAsset()
abstract return new DensityDelimitedEnvironmentProviderreturn new DensityDelimitedEnvironmentProvider(var2, var7)
public DelimiterDouble<EnvironmentProvider> buildpublic DelimiterDouble<EnvironmentProvider> build(@Nonnull EnvironmentProviderAsset.Argument var1)
public void cleanUppublic void cleanUp()
for for(DensityDelimitedEnvironmentProviderAsset.DelimiterAsset var6 : this.delimiterAssets)
for for(DensityDelimitedEnvironmentProviderAsset.DelimiterAsset var4 : this.delimiterAssets)
public String getIdpublic String getId()

Исходный код

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

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.delimiters.RangeDoubleAsset;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.assets.density.DensityAsset;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.delimiters.DelimiterDouble;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.delimiters.RangeDouble;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.density.Density;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.environmentproviders.DensityDelimitedEnvironmentProvider;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.environmentproviders.EnvironmentProvider;
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.codecs.array.ArrayCodec;
class="kw">import java.util.ArrayList;
class="kw">import java.util.List;
class="kw">import javax.annotation.Nonnull;

class="kw">public class DensityDelimitedEnvironmentProviderAsset class="kw">extends EnvironmentProviderAsset {
   @Nonnull
   class="kw">public class="kw">static class="kw">final BuilderCodec<DensityDelimitedEnvironmentProviderAsset> CODEC = BuilderCodec.builder(
         DensityDelimitedEnvironmentProviderAsset.class, DensityDelimitedEnvironmentProviderAsset::new, EnvironmentProviderAsset.ABSTRACT_CODEC
      )
      .append(
         new KeyedCodec<>(
            "Delimiters",
            new ArrayCodec<>(DensityDelimitedEnvironmentProviderAsset.DelimiterAsset.CODEC, DensityDelimitedEnvironmentProviderAsset.DelimiterAsset[]::new),
            true
         ),
         (var0, var1) -> var0.delimiterAssets = var1,
         var0 -> var0.delimiterAssets
      )
      .add()
      .append(new KeyedCodec<>("Density", DensityAsset.CODEC, true), (var0, var1) -> var0.densityAsset = var1, var0 -> var0.densityAsset)
      .add()
      .build();
   class="kw">private DensityDelimitedEnvironmentProviderAsset.DelimiterAsset[] delimiterAssets = new DensityDelimitedEnvironmentProviderAsset.DelimiterAsset[0];
   class="kw">private DensityAsset densityAsset = DensityAsset.getFallbackAsset();

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

   @Nonnull
   @Override
   class="kw">public EnvironmentProvider build(@Nonnull EnvironmentProviderAsset.Argument var1) {
      if (super.isSkipped()) {
         class="kw">return EnvironmentProvider.noEnvironmentProvider();
      }

      List var2 = new ArrayList<>(this.delimiterAssets.length);

      for (DensityDelimitedEnvironmentProviderAsset.DelimiterAsset var6 : this.delimiterAssets) {
         var2.add(var6.build(var1));
      }

      Density var7 = this.densityAsset.build(DensityAsset.from(var1));
      class="kw">return new DensityDelimitedEnvironmentProvider(var2, var7);
   }

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

      for (DensityDelimitedEnvironmentProviderAsset.DelimiterAsset var4 : this.delimiterAssets) {
         var4.cleanUp();
      }
   }

   class="kw">public class="kw">static class DelimiterAsset
      class="kw">implements Cleanable,
      JsonAssetWithMap<String, DefaultAssetMap<String, DensityDelimitedEnvironmentProviderAsset.DelimiterAsset>> {
      @Nonnull
      class="kw">public class="kw">static class="kw">final AssetBuilderCodec<String, DensityDelimitedEnvironmentProviderAsset.DelimiterAsset> CODEC = AssetBuilderCodec.builder(
            DensityDelimitedEnvironmentProviderAsset.DelimiterAsset.class,
            DensityDelimitedEnvironmentProviderAsset.DelimiterAsset::new,
            Codec.STRING,
            (var0, var1) -> var0.id = var1,
            var0 -> var0.id,
            (var0, var1) -> var0.data = var1,
            var0 -> var0.data
         )
         .append(new KeyedCodec<>("Range", RangeDoubleAsset.CODEC, true), (var0, var1) -> var0.rangeAsset = var1, var0 -> var0.rangeAsset)
         .add()
         .append(
            new KeyedCodec<>("Environment", EnvironmentProviderAsset.CODEC, true),
            (var0, var1) -> var0.environmentProviderAsset = var1,
            var0 -> var0.environmentProviderAsset
         )
         .add()
         .build();
      class="kw">private String id;
      class="kw">private AssetExtraInfo.Data data;
      class="kw">private RangeDoubleAsset rangeAsset = new RangeDoubleAsset();
      class="kw">private EnvironmentProviderAsset environmentProviderAsset = EnvironmentProviderAsset.getFallbackAsset();

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

      @Nonnull
      class="kw">public DelimiterDouble<EnvironmentProvider> build(@Nonnull EnvironmentProviderAsset.Argument var1) {
         RangeDouble var2 = this.rangeAsset.build();
         EnvironmentProvider var3 = this.environmentProviderAsset.build(var1);
         class="kw">return new DelimiterDouble<>(var2, var3);
      }

      class="kw">public String getId() {
         class="kw">return this.id;
      }

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