DensityDelimitedTintProviderAsset class

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

Файл: com/hypixel/hytale/builtin/hytalegenerator/assets/tintproviders/DensityDelimitedTintProviderAsset.java

extends: TintProviderAsset

Поля (9)

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

Методы (7)

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

Исходный код

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

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.tintproviders.DensityDelimitedTintProvider;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.tintproviders.TintProvider;
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 DensityDelimitedTintProviderAsset class="kw">extends TintProviderAsset {
   @Nonnull
   class="kw">public class="kw">static class="kw">final BuilderCodec<DensityDelimitedTintProviderAsset> CODEC = BuilderCodec.builder(
         DensityDelimitedTintProviderAsset.class, DensityDelimitedTintProviderAsset::new, TintProviderAsset.ABSTRACT_CODEC
      )
      .append(
         new KeyedCodec<>(
            "Delimiters",
            new ArrayCodec<>(DensityDelimitedTintProviderAsset.DelimiterAsset.CODEC, DensityDelimitedTintProviderAsset.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 DensityDelimitedTintProviderAsset.DelimiterAsset[] delimiterAssets = new DensityDelimitedTintProviderAsset.DelimiterAsset[0];
   class="kw">private DensityAsset densityAsset = DensityAsset.getFallbackAsset();

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

   @Nonnull
   @Override
   class="kw">public TintProvider build(@Nonnull TintProviderAsset.Argument var1) {
      if (super.isSkipped()) {
         class="kw">return TintProvider.noTintProvider();
      }

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

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

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

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

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

   class="kw">public class="kw">static class DelimiterAsset class="kw">implements Cleanable, JsonAssetWithMap<String, DefaultAssetMap<String, DensityDelimitedTintProviderAsset.DelimiterAsset>> {
      @Nonnull
      class="kw">public class="kw">static class="kw">final AssetBuilderCodec<String, DensityDelimitedTintProviderAsset.DelimiterAsset> CODEC = AssetBuilderCodec.builder(
            DensityDelimitedTintProviderAsset.DelimiterAsset.class,
            DensityDelimitedTintProviderAsset.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<>("Tint", TintProviderAsset.CODEC, true), (var0, var1) -> var0.tintProviderAsset = var1, var0 -> var0.tintProviderAsset)
         .add()
         .build();
      class="kw">private String id;
      class="kw">private AssetExtraInfo.Data data;
      class="kw">private RangeDoubleAsset rangeAsset = new RangeDoubleAsset();
      class="kw">private TintProviderAsset tintProviderAsset = TintProviderAsset.getFallbackAsset();

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

      @Nonnull
      class="kw">public DelimiterDouble<TintProvider> build(@Nonnull TintProviderAsset.Argument var1) {
         RangeDouble var2 = this.rangeAsset.build();
         TintProvider var3 = this.tintProviderAsset.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.tintProviderAsset.cleanUp();
      }
   }
}