mirror of
https://github.com/PolyhedralDev/Terra.git
synced 2025-07-18 10:32:30 +00:00
Add trees to profiler
This commit is contained in:
parent
8b95e86fe2
commit
b90993c492
@ -16,6 +16,7 @@ public class TerraProfiler extends WorldProfiler {
|
|||||||
super(w);
|
super(w);
|
||||||
this
|
this
|
||||||
.addMeasurement(new Measurement(1500000, DataType.PERIOD_MILLISECONDS), "FloraTime")
|
.addMeasurement(new Measurement(1500000, DataType.PERIOD_MILLISECONDS), "FloraTime")
|
||||||
|
.addMeasurement(new Measurement(1500000, DataType.PERIOD_MILLISECONDS), "TreeTime")
|
||||||
.addMeasurement(new Measurement(1500000, DataType.PERIOD_MILLISECONDS), "OreTime")
|
.addMeasurement(new Measurement(1500000, DataType.PERIOD_MILLISECONDS), "OreTime")
|
||||||
.addMeasurement(new Measurement(1500000, DataType.PERIOD_MILLISECONDS), "CaveTime")
|
.addMeasurement(new Measurement(1500000, DataType.PERIOD_MILLISECONDS), "CaveTime")
|
||||||
.addMeasurement(new Measurement(1500000, DataType.PERIOD_MILLISECONDS), "StructureTime")
|
.addMeasurement(new Measurement(1500000, DataType.PERIOD_MILLISECONDS), "StructureTime")
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
package com.dfsek.terra.population;
|
package com.dfsek.terra.population;
|
||||||
|
|
||||||
import com.dfsek.terra.Terra;
|
import com.dfsek.terra.Terra;
|
||||||
|
import com.dfsek.terra.TerraProfiler;
|
||||||
import com.dfsek.terra.TerraWorld;
|
import com.dfsek.terra.TerraWorld;
|
||||||
import com.dfsek.terra.biome.UserDefinedBiome;
|
import com.dfsek.terra.biome.UserDefinedBiome;
|
||||||
import com.dfsek.terra.biome.grid.TerraBiomeGrid;
|
import com.dfsek.terra.biome.grid.TerraBiomeGrid;
|
||||||
@ -15,6 +16,7 @@ import org.jetbrains.annotations.NotNull;
|
|||||||
import org.polydev.gaea.generation.GenerationPhase;
|
import org.polydev.gaea.generation.GenerationPhase;
|
||||||
import org.polydev.gaea.math.Range;
|
import org.polydev.gaea.math.Range;
|
||||||
import org.polydev.gaea.population.GaeaBlockPopulator;
|
import org.polydev.gaea.population.GaeaBlockPopulator;
|
||||||
|
import org.polydev.gaea.profiler.ProfileFuture;
|
||||||
import org.polydev.gaea.tree.Tree;
|
import org.polydev.gaea.tree.Tree;
|
||||||
import org.polydev.gaea.util.GlueList;
|
import org.polydev.gaea.util.GlueList;
|
||||||
|
|
||||||
@ -52,18 +54,21 @@ public class TreePopulator extends GaeaBlockPopulator {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@SuppressWarnings("try")
|
||||||
public void populate(@NotNull World world, @NotNull Random random, @NotNull Chunk chunk) {
|
public void populate(@NotNull World world, @NotNull Random random, @NotNull Chunk chunk) {
|
||||||
TerraWorld tw = TerraWorld.getWorld(world);
|
try(ProfileFuture ignored = TerraProfiler.fromWorld(world).measure("TreeTime")) {
|
||||||
if(!tw.isSafe()) return;
|
TerraWorld tw = TerraWorld.getWorld(world);
|
||||||
TerraBiomeGrid grid = tw.getGrid();
|
if(!tw.isSafe()) return;
|
||||||
for(int x = 0; x < 16; x += 2) {
|
TerraBiomeGrid grid = tw.getGrid();
|
||||||
for(int z = 0; z < 16; z += 2) {
|
for(int x = 0; x < 16; x += 2) {
|
||||||
UserDefinedBiome biome = (UserDefinedBiome) grid.getBiome((chunk.getX() << 4) + x, (chunk.getZ() << 4) + z, GenerationPhase.POPULATE);
|
for(int z = 0; z < 16; z += 2) {
|
||||||
int treeChance = biome.getDecorator().getTreeDensity();
|
UserDefinedBiome biome = (UserDefinedBiome) grid.getBiome((chunk.getX() << 4) + x, (chunk.getZ() << 4) + z, GenerationPhase.POPULATE);
|
||||||
if(random.nextInt(1000) < treeChance) {
|
int treeChance = biome.getDecorator().getTreeDensity();
|
||||||
int xt = offset(random, x);
|
if(random.nextInt(1000) < treeChance) {
|
||||||
int zt = offset(random, z);
|
int xt = offset(random, x);
|
||||||
doTrees(biome, tw, random, chunk, xt, zt);
|
int zt = offset(random, z);
|
||||||
|
doTrees(biome, tw, random, chunk, xt, zt);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user