ChunkWorldgenBenchmark class

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

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

implements: IWorldGenBenchmark

Поля (2)

МодификаторыТипИмя
Object2IntSortedMap var1
StringBuilder var2

Методы (3)

МодификаторыВозвратСигнатура
public boolean isEnabledboolean isEnabled()
public void registerCaveNodevoid registerCaveNode(String var1)
public void registerPrefabvoid registerPrefab(String var1)

Исходный код

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

class="kw">import com.hypixel.hytale.server.core.universe.world.worldgen.IWorldGenBenchmark;
class="kw">import it.unimi.dsi.fastutil.objects.Object2IntAVLTreeMap;
class="kw">import it.unimi.dsi.fastutil.objects.Object2IntSortedMap;
class="kw">import java.util.concurrent.CompletableFuture;
class="kw">import java.util.concurrent.ConcurrentHashMap;
class="kw">import java.util.concurrent.atomic.AtomicInteger;
class="kw">import javax.annotation.Nonnull;

class="kw">public class ChunkWorldgenBenchmark class="kw">implements IWorldGenBenchmark {
   @Nonnull
   class="kw">private class="kw">final ConcurrentHashMap<String, AtomicInteger> prefabCounts = new ConcurrentHashMap<>();
   @Nonnull
   class="kw">private class="kw">final ConcurrentHashMap<String, AtomicInteger> caveNodeCounts = new ConcurrentHashMap<>();
   class="kw">private boolean enabled = false;

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

   @Override
   class="kw">public void start() {
      this.enabled = true;
   }

   @Override
   class="kw">public void stop() {
      this.enabled = false;
      this.prefabCounts.clear();
      this.caveNodeCounts.clear();
   }

   @Nonnull
   @Override
   class="kw">public CompletableFuture<String> buildReport() {
      Object2IntSortedMap var1 = new Object2IntAVLTreeMap(String::compareToIgnoreCase);
      StringBuilder var2 = new StringBuilder();
      var2.append("Generated prefab counts: \n");
      this.prefabCounts.forEach((var1x, var2x) -> var1.put(var1x, var2x.get()));
      var1.forEach((var1x, var2x) -> var2.append(var1x).append('\t').append(var2x).append('\n'));
      var2.append('\n');
      var1.clear();
      var2.append("Generated cave node counts: \n");
      this.caveNodeCounts.forEach((var1x, var2x) -> var1.put(var1x, var2x.get()));
      var1.forEach((var1x, var2x) -> var2.append(var1x).append('\t').append(var2x).append('\n'));
      var2.append('\n');
      var1.clear();
      class="kw">return CompletableFuture.completedFuture(var2.toString());
   }

   class="kw">public boolean isEnabled() {
      class="kw">return this.enabled;
   }

   class="kw">public void registerPrefab(String var1) {
      this.prefabCounts.computeIfAbsent(var1, var0 -> new AtomicInteger(0));
      this.prefabCounts.get(var1).incrementAndGet();
   }

   class="kw">public void registerCaveNode(String var1) {
      this.caveNodeCounts.computeIfAbsent(var1, var0 -> new AtomicInteger(0));
      this.caveNodeCounts.get(var1).incrementAndGet();
   }
}