mirror of
https://github.com/PolyhedralDev/Terra.git
synced 2026-06-15 21:31:05 +00:00
remove unused random parameter from populators
This commit is contained in:
@@ -30,9 +30,7 @@ public interface ChunkGenerator extends Handle {
|
|||||||
@Nullable
|
@Nullable
|
||||||
TerraChunkGenerator getTerraGenerator();
|
TerraChunkGenerator getTerraGenerator();
|
||||||
|
|
||||||
interface ChunkData {
|
interface ChunkData extends Handle {
|
||||||
Object getHandle();
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the maximum height for the chunk.
|
* Get the maximum height for the chunk.
|
||||||
* <p>
|
* <p>
|
||||||
|
|||||||
@@ -3,8 +3,6 @@ package com.dfsek.terra.api.world.generation;
|
|||||||
import com.dfsek.terra.api.platform.world.Chunk;
|
import com.dfsek.terra.api.platform.world.Chunk;
|
||||||
import com.dfsek.terra.api.platform.world.World;
|
import com.dfsek.terra.api.platform.world.World;
|
||||||
|
|
||||||
import java.util.Random;
|
|
||||||
|
|
||||||
public interface TerraBlockPopulator {
|
public interface TerraBlockPopulator {
|
||||||
void populate(World world, Random random, Chunk chunk);
|
void populate(World world, Chunk chunk);
|
||||||
}
|
}
|
||||||
|
|||||||
+2
-2
@@ -34,7 +34,7 @@ public class PopulationManager implements TerraBlockPopulator {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
@SuppressWarnings("try")
|
@SuppressWarnings("try")
|
||||||
public void populate(@NotNull World world, @NotNull Random random, @NotNull Chunk chunk) {
|
public void populate(@NotNull World world, @NotNull Chunk chunk) {
|
||||||
try(ProfileFuture ignored = measure()) {
|
try(ProfileFuture ignored = measure()) {
|
||||||
needsPop.add(new ChunkCoordinate(chunk));
|
needsPop.add(new ChunkCoordinate(chunk));
|
||||||
int x = chunk.getX();
|
int x = chunk.getX();
|
||||||
@@ -86,7 +86,7 @@ public class PopulationManager implements TerraBlockPopulator {
|
|||||||
random.setSeed((long) x * xRand + (long) z * zRand ^ w.getSeed());
|
random.setSeed((long) x * xRand + (long) z * zRand ^ w.getSeed());
|
||||||
Chunk currentChunk = w.getChunkAt(x, z);
|
Chunk currentChunk = w.getChunkAt(x, z);
|
||||||
for(TerraBlockPopulator r : attachedPopulators) {
|
for(TerraBlockPopulator r : attachedPopulators) {
|
||||||
r.populate(w, random, currentChunk);
|
r.populate(w, currentChunk);
|
||||||
}
|
}
|
||||||
needsPop.remove(c);
|
needsPop.remove(c);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -33,7 +33,7 @@ public class CavePopulator implements TerraBlockPopulator {
|
|||||||
|
|
||||||
@SuppressWarnings("try")
|
@SuppressWarnings("try")
|
||||||
@Override
|
@Override
|
||||||
public void populate(@NotNull World world, @NotNull Random r, @NotNull Chunk chunk) {
|
public void populate(@NotNull World world, @NotNull Chunk chunk) {
|
||||||
TerraWorld tw = main.getWorld(world);
|
TerraWorld tw = main.getWorld(world);
|
||||||
WorldHandle handle = main.getWorldHandle();
|
WorldHandle handle = main.getWorldHandle();
|
||||||
BlockData AIR = handle.createBlockData("minecraft:air");
|
BlockData AIR = handle.createBlockData("minecraft:air");
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ import com.dfsek.terra.api.world.generation.TerraBlockPopulator;
|
|||||||
import com.dfsek.terra.biome.UserDefinedBiome;
|
import com.dfsek.terra.biome.UserDefinedBiome;
|
||||||
import com.dfsek.terra.biome.grid.master.TerraBiomeGrid;
|
import com.dfsek.terra.biome.grid.master.TerraBiomeGrid;
|
||||||
import com.dfsek.terra.population.items.flora.FloraLayer;
|
import com.dfsek.terra.population.items.flora.FloraLayer;
|
||||||
|
import com.dfsek.terra.util.PopulationUtil;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
@@ -30,7 +31,7 @@ public class FloraPopulator implements TerraBlockPopulator {
|
|||||||
|
|
||||||
@SuppressWarnings("try")
|
@SuppressWarnings("try")
|
||||||
@Override
|
@Override
|
||||||
public void populate(@NotNull World world, @NotNull Random random, @NotNull Chunk chunk) {
|
public void populate(@NotNull World world, @NotNull Chunk chunk) {
|
||||||
TerraWorld tw = main.getWorld(world);
|
TerraWorld tw = main.getWorld(world);
|
||||||
try(ProfileFuture ignored = tw.getProfiler().measure("FloraTime")) {
|
try(ProfileFuture ignored = tw.getProfiler().measure("FloraTime")) {
|
||||||
if(!tw.isSafe()) return;
|
if(!tw.isSafe()) return;
|
||||||
@@ -43,6 +44,9 @@ public class FloraPopulator implements TerraBlockPopulator {
|
|||||||
layers.put(l, biome.getConfig().getFlora());
|
layers.put(l, biome.getConfig().getFlora());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Random random = PopulationUtil.getRandom(chunk);
|
||||||
|
|
||||||
int iter = 0;
|
int iter = 0;
|
||||||
boolean finished = false;
|
boolean finished = false;
|
||||||
while(!finished) {
|
while(!finished) {
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ public class OrePopulator implements TerraBlockPopulator {
|
|||||||
|
|
||||||
@SuppressWarnings("try")
|
@SuppressWarnings("try")
|
||||||
@Override
|
@Override
|
||||||
public void populate(@NotNull World world, @NotNull Random r, @NotNull Chunk chunk) {
|
public void populate(@NotNull World world, @NotNull Chunk chunk) {
|
||||||
TerraWorld tw = main.getWorld(world);
|
TerraWorld tw = main.getWorld(world);
|
||||||
try(ProfileFuture ignored = tw.getProfiler().measure("OreTime")) {
|
try(ProfileFuture ignored = tw.getProfiler().measure("OreTime")) {
|
||||||
if(!tw.isSafe()) return;
|
if(!tw.isSafe()) return;
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ public class StructurePopulator implements TerraBlockPopulator {
|
|||||||
|
|
||||||
@SuppressWarnings("try")
|
@SuppressWarnings("try")
|
||||||
@Override
|
@Override
|
||||||
public void populate(@NotNull World world, @NotNull Random r, @NotNull Chunk chunk) {
|
public void populate(@NotNull World world, @NotNull Chunk chunk) {
|
||||||
TerraWorld tw = main.getWorld(world);
|
TerraWorld tw = main.getWorld(world);
|
||||||
try(ProfileFuture ignored = tw.getProfiler().measure("StructureTime")) {
|
try(ProfileFuture ignored = tw.getProfiler().measure("StructureTime")) {
|
||||||
int cx = (chunk.getX() << 4);
|
int cx = (chunk.getX() << 4);
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ import com.dfsek.terra.api.world.generation.TerraBlockPopulator;
|
|||||||
import com.dfsek.terra.biome.UserDefinedBiome;
|
import com.dfsek.terra.biome.UserDefinedBiome;
|
||||||
import com.dfsek.terra.biome.grid.master.TerraBiomeGrid;
|
import com.dfsek.terra.biome.grid.master.TerraBiomeGrid;
|
||||||
import com.dfsek.terra.population.items.tree.TreeLayer;
|
import com.dfsek.terra.population.items.tree.TreeLayer;
|
||||||
|
import com.dfsek.terra.util.PopulationUtil;
|
||||||
import net.jafama.FastMath;
|
import net.jafama.FastMath;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
|
||||||
@@ -30,11 +31,12 @@ public class TreePopulator implements TerraBlockPopulator {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
@SuppressWarnings("try")
|
@SuppressWarnings("try")
|
||||||
public void populate(@NotNull World world, @NotNull Random random, @NotNull Chunk chunk) {
|
public void populate(@NotNull World world, @NotNull Chunk chunk) {
|
||||||
TerraWorld tw = main.getWorld(world);
|
TerraWorld tw = main.getWorld(world);
|
||||||
try(ProfileFuture ignored = tw.getProfiler().measure("TreeTime")) {
|
try(ProfileFuture ignored = tw.getProfiler().measure("TreeTime")) {
|
||||||
if(!tw.isSafe()) return;
|
if(!tw.isSafe()) return;
|
||||||
TerraBiomeGrid grid = tw.getGrid();
|
TerraBiomeGrid grid = tw.getGrid();
|
||||||
|
Random random = PopulationUtil.getRandom(chunk);
|
||||||
for(int x = 0; x < 16; x += 2) {
|
for(int x = 0; x < 16; x += 2) {
|
||||||
for(int z = 0; z < 16; z += 2) {
|
for(int z = 0; z < 16; z += 2) {
|
||||||
UserDefinedBiome biome = (UserDefinedBiome) grid.getBiome((chunk.getX() << 4) + x, (chunk.getZ() << 4) + z, GenerationPhase.POPULATE);
|
UserDefinedBiome biome = (UserDefinedBiome) grid.getBiome((chunk.getX() << 4) + x, (chunk.getZ() << 4) + z, GenerationPhase.POPULATE);
|
||||||
|
|||||||
+1
-1
@@ -18,6 +18,6 @@ public class BukkitPopulatorWrapper extends BlockPopulator {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void populate(@NotNull World world, @NotNull Random random, @NotNull Chunk source) {
|
public void populate(@NotNull World world, @NotNull Random random, @NotNull Chunk source) {
|
||||||
delegate.populate(BukkitAdapter.adapt(world), random, BukkitAdapter.adapt(source));
|
delegate.populate(BukkitAdapter.adapt(world), BukkitAdapter.adapt(source));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+5
-5
@@ -27,11 +27,11 @@ public class PopulatorFeature extends Feature<DefaultFeatureConfig> {
|
|||||||
FabricChunkGeneratorWrapper gen = (FabricChunkGeneratorWrapper) chunkGenerator;
|
FabricChunkGeneratorWrapper gen = (FabricChunkGeneratorWrapper) chunkGenerator;
|
||||||
FabricChunkWorldAccess chunk = new FabricChunkWorldAccess(world, pos.getX() >> 4, pos.getZ() >> 4);
|
FabricChunkWorldAccess chunk = new FabricChunkWorldAccess(world, pos.getX() >> 4, pos.getZ() >> 4);
|
||||||
FabricWorld world1 = new FabricWorld(world.toServerWorld(), new FabricChunkGenerator(chunkGenerator));
|
FabricWorld world1 = new FabricWorld(world.toServerWorld(), new FabricChunkGenerator(chunkGenerator));
|
||||||
gen.getCavePopulator().populate(world1, random, chunk);
|
gen.getCavePopulator().populate(world1, chunk);
|
||||||
gen.getStructurePopulator().populate(new FabricSeededWorldAccess(world, world.getSeed(), chunkGenerator), random, chunk);
|
gen.getStructurePopulator().populate(new FabricSeededWorldAccess(world, world.getSeed(), chunkGenerator), chunk);
|
||||||
gen.getOrePopulator().populate(world1, random, chunk);
|
gen.getOrePopulator().populate(world1, chunk);
|
||||||
gen.getTreePopulator().populate(world1, random, chunk);
|
gen.getTreePopulator().populate(world1, chunk);
|
||||||
gen.getFloraPopulator().populate(world1, random, chunk);
|
gen.getFloraPopulator().populate(world1, chunk);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,8 +1,6 @@
|
|||||||
package com.dfsek.terra.region;
|
package com.dfsek.terra.region;
|
||||||
|
|
||||||
import com.dfsek.terra.StandalonePlugin;
|
import com.dfsek.terra.StandalonePlugin;
|
||||||
import com.dfsek.terra.api.math.MathUtil;
|
|
||||||
import com.dfsek.terra.api.util.FastRandom;
|
|
||||||
import com.dfsek.terra.generation.MasterChunkGenerator;
|
import com.dfsek.terra.generation.MasterChunkGenerator;
|
||||||
import com.dfsek.terra.generation.math.SamplerCache;
|
import com.dfsek.terra.generation.math.SamplerCache;
|
||||||
import com.dfsek.terra.platform.DirectChunkData;
|
import com.dfsek.terra.platform.DirectChunkData;
|
||||||
@@ -57,11 +55,11 @@ public class Generator {
|
|||||||
DirectChunkData chunkData = (DirectChunkData) world.getChunkAt(cx, cz);
|
DirectChunkData chunkData = (DirectChunkData) world.getChunkAt(cx, cz);
|
||||||
generator.generateChunkData(world, null, cx, cz, chunkData);
|
generator.generateChunkData(world, null, cx, cz, chunkData);
|
||||||
|
|
||||||
cavePopulator.populate(world, new FastRandom(MathUtil.getCarverChunkSeed(cx, cz, world.getSeed())), chunkData);
|
cavePopulator.populate(world, chunkData);
|
||||||
structurePopulator.populate(world, new FastRandom(MathUtil.getCarverChunkSeed(cx, cz, world.getSeed())), chunkData);
|
structurePopulator.populate(world, chunkData);
|
||||||
orePopulator.populate(world, new FastRandom(MathUtil.getCarverChunkSeed(cx, cz, world.getSeed())), chunkData);
|
orePopulator.populate(world, chunkData);
|
||||||
floraPopulator.populate(world, new FastRandom(MathUtil.getCarverChunkSeed(cx, cz, world.getSeed())), chunkData);
|
floraPopulator.populate(world, chunkData);
|
||||||
treePopulator.populate(world, new FastRandom(MathUtil.getCarverChunkSeed(cx, cz, world.getSeed())), chunkData);
|
treePopulator.populate(world, chunkData);
|
||||||
count++;
|
count++;
|
||||||
|
|
||||||
if(count % 200 == 0) {
|
if(count % 200 == 0) {
|
||||||
|
|||||||
Reference in New Issue
Block a user