QueueMaterialProviderAsset class

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

Файл: com/hypixel/hytale/builtin/hytalegenerator/assets/materialproviders/QueueMaterialProviderAsset.java

extends: MaterialProviderAsset

Поля (1)

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

Методы (3)

МодификаторыВозвратСигнатура
for for(MaterialProviderAsset var6 : this.queue)
for for(MaterialProviderAsset var4 : this.queue)
if if(var6 == null)

Исходный код

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

class="kw">import com.hypixel.hytale.builtin.hytalegenerator.LoggerUtil;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.material.Material;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.materialproviders.MaterialProvider;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.materialproviders.QueueMaterialProvider;
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 javax.annotation.Nonnull;

class="kw">public class QueueMaterialProviderAsset class="kw">extends MaterialProviderAsset {
   @Nonnull
   class="kw">public class="kw">static class="kw">final BuilderCodec<QueueMaterialProviderAsset> CODEC = BuilderCodec.builder(
         QueueMaterialProviderAsset.class, QueueMaterialProviderAsset::new, MaterialProviderAsset.ABSTRACT_CODEC
      )
      .append(
         new KeyedCodec<>("Queue", new ArrayCodec<>(MaterialProviderAsset.CODEC, MaterialProviderAsset[]::new), true),
         (var0, var1) -> var0.queue = var1,
         var0 -> var0.queue
      )
      .add()
      .build();
   class="kw">private MaterialProviderAsset[] queue = new MaterialProviderAsset[0];

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

   @Nonnull
   @Override
   class="kw">public MaterialProvider<Material> build(@Nonnull MaterialProviderAsset.Argument var1) {
      if (super.skip()) {
         class="kw">return MaterialProvider.noMaterialProvider();
      }

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

      for (MaterialProviderAsset var6 : this.queue) {
         if (var6 == null) {
            LoggerUtil.getLogger().warning("Null element in queue provided.");
         } else {
            var2.add(var6.build(var1));
         }
      }

      class="kw">return new QueueMaterialProvider<>(var2);
   }

   @Override
   class="kw">public void cleanUp() {
      for (MaterialProviderAsset var4 : this.queue) {
         var4.cleanUp();
      }
   }
}