CacheVectorProvider class

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

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

extends: VectorProvider

Поля (2)

МодификаторыТипИмя
Vector3d position
Vector3d value

Методы (2)

МодификаторыВозвратСигнатура
public Cachepublic Cache()
if if(this.cache.position == null)

Исходный код

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

class="kw">import javax.annotation.Nonnull;
class="kw">import org.joml.Vector3d;

class="kw">public class CacheVectorProvider class="kw">extends VectorProvider {
   @Nonnull
   class="kw">private class="kw">final VectorProvider vectorProvider;
   @Nonnull
   class="kw">private class="kw">final CacheVectorProvider.Cache cache;

   class="kw">public CacheVectorProvider(@Nonnull VectorProvider var1) {
      this.vectorProvider = var1;
      this.cache = new CacheVectorProvider.Cache();
   }

   @Override
   class="kw">public void process(@Nonnull VectorProvider.Context var1, @Nonnull Vector3d var2) {
      if (var1.position.equals(this.cache.position)) {
         var2.set(this.cache.value);
      } else {
         if (this.cache.position == null) {
            this.cache.position = new Vector3d();
            this.cache.value = new Vector3d();
         }

         this.cache.position.set(var1.position);
         this.vectorProvider.process(var1, this.cache.value);
         var2.set(this.cache.value);
      }
   }

   class="kw">public class="kw">static class Cache {
      Vector3d position;
      Vector3d value;

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