PrefabLoadingCache class

Пакет: com.hypixel.hytale.server.worldgen.prefab

Файл: com/hypixel/hytale/server/worldgen/prefab/PrefabLoadingCache.java

Поля (1)

МодификаторыТипИмя
final Map<WorldGenPrefabSupplier, PrefabBuffer> cache

Методы (1)

МодификаторыВозвратСигнатура
public void clearvoid clear()

Исходный код

Показать/скрыть
class="kw">package com.hypixel.hytale.server.worldgen.prefab;

class="kw">import com.hypixel.hytale.server.core.prefab.selection.buffer.PrefabBufferUtil;
class="kw">import com.hypixel.hytale.server.core.prefab.selection.buffer.impl.IPrefabBuffer;
class="kw">import com.hypixel.hytale.server.core.prefab.selection.buffer.impl.PrefabBuffer;
class="kw">import com.hypixel.hytale.server.worldgen.loader.WorldGenPrefabSupplier;
class="kw">import java.util.Map;
class="kw">import java.util.concurrent.ConcurrentHashMap;
class="kw">import java.util.function.Function;
class="kw">import javax.annotation.Nonnull;

class="kw">public class PrefabLoadingCache {
   class="kw">private class="kw">final Map<WorldGenPrefabSupplier, PrefabBuffer> cache = new ConcurrentHashMap<>();
   class="kw">private class="kw">final Function<WorldGenPrefabSupplier, PrefabBuffer> loader = var0 -> PrefabBufferUtil.loadBuffer(var0.getPath());

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

   @Nonnull
   class="kw">public IPrefabBuffer getPrefabAccessor(WorldGenPrefabSupplier var1) {
      class="kw">return this.cache.computeIfAbsent(var1, this.loader).newAccess();
   }

   class="kw">public void clear() {
      this.cache.clear();
   }

   @Nonnull
   @Override
   class="kw">public String toString() {
      class="kw">return "PrefabLoadingCache{cache=" + this.cache + "}";
   }
}