ExportedVectorProviderAsset class

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

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

extends: VectorProviderAsset

Поля (4)

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

Методы (5)

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

Исходный код

Показать/скрыть
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 ExportedVectorProviderAsset class="kw">extends VectorProviderAsset {
   @Nonnull
   class="kw">public class="kw">static class="kw">final BuilderCodec<ExportedVectorProviderAsset> CODEC = BuilderCodec.builder(
         ExportedVectorProviderAsset.class, ExportedVectorProviderAsset::new, VectorProviderAsset.ABSTRACT_CODEC
      )
      .append(new KeyedCodec<>("SingleInstance", Codec.BOOLEAN, true), (var0, var1) -> var0.singleInstance = var1, var0 -> var0.singleInstance)
      .add()
      .append(
         new KeyedCodec<>("VectorProvider", VectorProviderAsset.CODEC, true), (var0, var1) -> var0.vectorProviderAsset = var1, var0 -> var0.vectorProviderAsset
      )
      .add()
      .build();
   class="kw">private boolean singleInstance = false;
   class="kw">private VectorProviderAsset vectorProviderAsset = new ConstantVectorProviderAsset();

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

   @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.exportName);
      if (var2 == null) {
         LoggerUtil.getLogger().warning("Couldn't find VectorProvider asset exported with name: '" + this.exportName + "'. 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 = this.vectorProviderAsset.build(var1);
            var2.threadInstances.put(var1.workerId, var3);
         }

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

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

   class="kw">public boolean isSingleInstance() {
      class="kw">return this.singleInstance;
   }
}