ImportedVectorProviderAsset class

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

Файл: com/hypixel/hytale/builtin/hytalegenerator/assets/vectorproviders/ImportedVectorProviderAsset.java

extends: VectorProviderAsset

Поля (4)

МодификаторыТипИмя
VectorProviderAsset.Exported var1
VectorProviderAsset.Exported var2
VectorProvider var3
var3

Методы (4)

МодификаторыВозвратСигнатура
if if(var2 == null)
if if(var2.isSingleInstance)
if if(var3 == null)
if if(var1 != null)

Исходный код

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

class="kw">import com.hypixel.hytale.builtin.hytalegenerator.LoggerUtil;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.vectorproviders.ConstantVectorProvider;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.vectorproviders.VectorProvider;
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 javax.annotation.Nonnull;
class="kw">import org.joml.Vector3d;

class="kw">public class ImportedVectorProviderAsset class="kw">extends VectorProviderAsset {
   @Nonnull
   class="kw">public class="kw">static class="kw">final BuilderCodec<ImportedVectorProviderAsset> CODEC = BuilderCodec.builder(
         ImportedVectorProviderAsset.class, ImportedVectorProviderAsset::new, VectorProviderAsset.ABSTRACT_CODEC
      )
      .append(new KeyedCodec<>("Name", Codec.STRING, true), (var0, var1) -> var0.importedNodeName = var1, var0 -> var0.importedNodeName)
      .add()
      .build();
   class="kw">private String importedNodeName = "";

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

   @Override
   class="kw">public VectorProvider build(@Nonnull VectorProviderAsset.Argument var1) {
      if (this.isSkipped()) {
         class="kw">return new ConstantVectorProvider(new Vector3d());
      }

      VectorProviderAsset.Exported var2 = getExportedAsset(this.importedNodeName);
      if (var2 == null) {
         LoggerUtil.getLogger().warning("Couldn't find VectorProvider asset exported with name: '" + this.importedNodeName + "'. Using empty Node instead.");
         class="kw">return new ConstantVectorProvider(new Vector3d());
      }

      if (var2.isSingleInstance) {
         VectorProvider var3 = var2.threadInstances.get(var1.workerId);
         if (var3 == null) {
            var3 = var2.asset.build(var1);
            var2.threadInstances.put(var1.workerId, var3);
         }

         class="kw">return var3;
      } else {
         class="kw">return var2.asset.build(var1);
      }
   }

   @Override
   class="kw">public void cleanUp() {
      VectorProviderAsset.Exported var1 = getExportedAsset(this.importedNodeName);
      if (var1 != null) {
         var1.threadInstances.clear();
      }
   }
}