HyCodeYourTale
classpublicPriority 3

ZonePatternGeneratorCache

com.hypixel.hytale.server.worldgen.zone.ZonePatternGeneratorCache

1

Methods

1

Public Methods

1

Fields

1

Constructors

Constructors

public
ZonePatternGeneratorCache(ZonePatternProvider provider)

Methods

Public Methods (1)

public
ZonePatternGenerator get(int seed)

Fields

Protected Fields (1)

protectedFunction<Integer, ZonePatternGenerator> compute

Source Code

package com.hypixel.hytale.server.worldgen.zone;

import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
import java.util.function.Function;

public class ZonePatternGeneratorCache {
   protected final Function<Integer, ZonePatternGenerator> compute;
   protected final Map<Integer, ZonePatternGenerator> cache = new ConcurrentHashMap<>();

   public ZonePatternGeneratorCache(ZonePatternProvider provider) {
      this.compute = provider::createGenerator;
   }

   public ZonePatternGenerator get(int seed) {
      try {
         return this.cache.computeIfAbsent(seed, this.compute);
      } catch (Exception var3) {
         throw new Error("Failed to receive UniquePrefabEntry for " + seed, var3);
      }
   }
}