mirror of
https://github.com/PolyhedralDev/Terra.git
synced 2026-02-16 10:30:42 +00:00
make perf not suck
This commit is contained in:
@@ -4,16 +4,13 @@ import com.dfsek.terra.WorldObject;
|
||||
import com.dfsek.terra.config.builder.GeneratorBuilder;
|
||||
import com.dfsek.terra.config.templates.BiomeTemplate;
|
||||
import com.dfsek.terra.generation.UserDefinedDecorator;
|
||||
import com.dfsek.terra.generation.config.WorldGenerator;
|
||||
import org.bukkit.World;
|
||||
import org.polydev.gaea.biome.Biome;
|
||||
import org.polydev.gaea.biome.Decorator;
|
||||
import org.polydev.gaea.biome.Generator;
|
||||
import org.polydev.gaea.structures.features.Feature;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* Class representing a config-defined biome
|
||||
@@ -25,7 +22,6 @@ public class UserDefinedBiome implements Biome, WorldObject {
|
||||
private final String id;
|
||||
private final BiomeTemplate config;
|
||||
private final boolean erode;
|
||||
private final Map<World, WorldGenerator> gens = new HashMap<>();
|
||||
|
||||
|
||||
public UserDefinedBiome(org.bukkit.block.Biome vanilla, UserDefinedDecorator dec, GeneratorBuilder gen, boolean erode, BiomeTemplate config) {
|
||||
@@ -91,6 +87,6 @@ public class UserDefinedBiome implements Biome, WorldObject {
|
||||
|
||||
@Override
|
||||
public Generator getGenerator(World w) {
|
||||
return gens.computeIfAbsent(w, world -> gen.build(world.getSeed()));
|
||||
return gen.build(w.getSeed());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,9 +5,12 @@ import com.dfsek.terra.generation.config.NoiseBuilder;
|
||||
import com.dfsek.terra.generation.config.WorldGenerator;
|
||||
import parsii.eval.Scope;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
public class GeneratorBuilder {
|
||||
private final Map<Long, WorldGenerator> gens = new HashMap<>();
|
||||
|
||||
private String noiseEquation;
|
||||
|
||||
private String elevationEquation;
|
||||
@@ -23,7 +26,7 @@ public class GeneratorBuilder {
|
||||
private boolean preventInterpolation;
|
||||
|
||||
public WorldGenerator build(long seed) {
|
||||
return new WorldGenerator(seed, noiseEquation, elevationEquation, varScope, noiseBuilderMap, palettes, slantPalettes, preventInterpolation);
|
||||
return gens.computeIfAbsent(seed, k -> new WorldGenerator(seed, noiseEquation, elevationEquation, varScope, noiseBuilderMap, palettes, slantPalettes, preventInterpolation));
|
||||
}
|
||||
|
||||
public String getNoiseEquation() {
|
||||
|
||||
Reference in New Issue
Block a user