classpublicPriority 3
ChunkWorldgenBenchmark
com.hypixel.hytale.server.worldgen.benchmark.ChunkWorldgenBenchmark
implements IWorldGenBenchmark
6
Methods
6
Public Methods
1
Fields
1
Constructors
Constructors
public
ChunkWorldgenBenchmark()Methods
Public Methods (6)
public
CompletableFuture<String> buildReport()@Nonnull@Override
public
boolean isEnabled()public
void registerCaveNode(String name)public
void registerPrefab(String name)public
void start()@Override
public
void stop()@Override
Fields
Private/Package Fields (1)
private
boolean enabledInheritance
Parent
Current
Interface
Child
Use mouse wheel to zoom, drag to pan. Click nodes to navigate.
Related Classes
Used By
Source Code
package com.hypixel.hytale.server.worldgen.benchmark;
import com.hypixel.hytale.server.core.universe.world.worldgen.IWorldGenBenchmark;
import java.util.SortedMap;
import java.util.TreeMap;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.atomic.AtomicInteger;
import javax.annotation.Nonnull;
public class ChunkWorldgenBenchmark implements IWorldGenBenchmark {
@Nonnull
private final ConcurrentHashMap<String, AtomicInteger> prefabCounts = new ConcurrentHashMap<>();
@Nonnull
private final ConcurrentHashMap<String, AtomicInteger> caveNodeCounts = new ConcurrentHashMap<>();
private boolean enabled = false;
public ChunkWorldgenBenchmark() {
}
@Override
public void start() {
this.enabled = true;
}
@Override
public void stop() {
this.enabled = false;
this.prefabCounts.clear();
this.caveNodeCounts.clear();
}
@Nonnull
@Override
public CompletableFuture<String> buildReport() {
SortedMap<String, Integer> map = new TreeMap<>(String::compareToIgnoreCase);
StringBuilder sb = new StringBuilder();
sb.append("Generated prefab counts: \n");
this.prefabCounts.forEach((key, value) -> map.put(key, Integer.valueOf(value.get())));
map.forEach((key, value) -> sb.append(key).append('\t').append(value).append('\n'));
sb.append('\n');
map.clear();
sb.append("Generated cave node counts: \n");
this.caveNodeCounts.forEach((key, value) -> map.put(key, Integer.valueOf(value.get())));
map.forEach((key, value) -> sb.append(key).append('\t').append(value).append('\n'));
sb.append('\n');
map.clear();
return CompletableFuture.completedFuture(sb.toString());
}
public boolean isEnabled() {
return this.enabled;
}
public void registerPrefab(String name) {
this.prefabCounts.computeIfAbsent(name, i -> new AtomicInteger(0));
this.prefabCounts.get(name).incrementAndGet();
}
public void registerCaveNode(String name) {
this.caveNodeCounts.computeIfAbsent(name, i -> new AtomicInteger(0));
this.caveNodeCounts.get(name).incrementAndGet();
}
}