SeedStringResource class

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

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

implements: SeedResource

Методы (1)

МодификаторыВозвратСигнатура
public void setPrefabConfigvoid setPrefabConfig(@Nonnull WorldGenConfig var1, @Nonnull PrefabStoreRoot var2)

Исходный код

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

class="kw">import com.hypixel.hytale.procedurallib.condition.IIntCondition;
class="kw">import com.hypixel.hytale.procedurallib.json.SeedResource;
class="kw">import com.hypixel.hytale.procedurallib.logic.ResultBuffer;
class="kw">import com.hypixel.hytale.server.worldgen.chunk.ChunkGenerator;
class="kw">import com.hypixel.hytale.server.worldgen.loader.WorldGenPrefabLoader;
class="kw">import com.hypixel.hytale.server.worldgen.loader.prefab.BlockPlacementMaskRegistry;
class="kw">import com.hypixel.hytale.server.worldgen.loader.util.FileMaskCache;
class="kw">import com.hypixel.hytale.server.worldgen.prefab.PrefabStoreRoot;
class="kw">import com.hypixel.hytale.server.worldgen.util.LogUtil;
class="kw">import it.unimi.dsi.fastutil.objects.Object2ObjectOpenHashMap;
class="kw">import java.util.Map;
class="kw">import java.util.concurrent.atomic.AtomicInteger;
class="kw">import java.util.logging.Level;
class="kw">import javax.annotation.Nonnull;

class="kw">public class SeedStringResource class="kw">implements SeedResource {
   @Nonnull
   class="kw">protected class="kw">final FileMaskCache<IIntCondition> biomeMaskRegistry;
   @Nonnull
   class="kw">protected class="kw">final BlockPlacementMaskRegistry blockMaskRegistry;
   @Nonnull
   class="kw">protected WorldGenConfig config;
   @Nonnull
   class="kw">protected WorldGenPrefabLoader loader;
   @Nonnull
   class="kw">protected class="kw">final Map<String, AtomicInteger> uniqueIds;

   class="kw">public SeedStringResource(@Nonnull PrefabStoreRoot var1, @Nonnull WorldGenConfig var2) {
      this.config = var2;
      this.loader = new WorldGenPrefabLoader(var1, var2);
      this.biomeMaskRegistry = new FileMaskCache<>();
      this.blockMaskRegistry = new BlockPlacementMaskRegistry();
      this.uniqueIds = new Object2ObjectOpenHashMap();
   }

   @Nonnull
   class="kw">public String getUniqueName(@Nonnull String var1) {
      class="kw">return var1 + this.uniqueIds.computeIfAbsent(var1, var0 -> new AtomicInteger(0)).getAndIncrement();
   }

   @Nonnull
   class="kw">public WorldGenPrefabLoader getLoader() {
      class="kw">return this.loader;
   }

   class="kw">public void setPrefabConfig(@Nonnull WorldGenConfig var1, @Nonnull PrefabStoreRoot var2) {
      if (!var1.equals(this.config) || var2 != this.loader.getStore()) {
         LogUtil.getLogger().at(Level.INFO).log("Set prefab-loader config: path=%s, store=%s", var1.path(), var2.name());
         this.config = var1;
         this.loader = new WorldGenPrefabLoader(var2, var1);
      }
   }

   @Nonnull
   @Override
   class="kw">public ResultBuffer.Bounds2d localBounds2d() {
      class="kw">return ChunkGenerator.getResource().bounds2d;
   }

   @Nonnull
   @Override
   class="kw">public ResultBuffer.ResultBuffer2d localBuffer2d() {
      class="kw">return ChunkGenerator.getResource().resultBuffer2d;
   }

   @Nonnull
   @Override
   class="kw">public ResultBuffer.ResultBuffer3d localBuffer3d() {
      class="kw">return ChunkGenerator.getResource().resultBuffer3d;
   }

   @Override
   class="kw">public void writeSeedReport(String var1) {
      LogUtil.getLogger().at(Level.FINE).log("%s", var1);
   }

   @Nonnull
   class="kw">public FileMaskCache<IIntCondition> getBiomeMaskRegistry() {
      class="kw">return this.biomeMaskRegistry;
   }

   @Nonnull
   class="kw">public BlockPlacementMaskRegistry getBlockMaskRegistry() {
      class="kw">return this.blockMaskRegistry;
   }
}