mirror of
https://github.com/VolmitSoftware/Iris.git
synced 2025-07-18 18:23:06 +00:00
Cleanup for new engine
This commit is contained in:
parent
4c0e918559
commit
2c830eacdd
@ -1,10 +1,12 @@
|
||||
package com.volmit.iris.gen.v2;
|
||||
|
||||
import java.util.Random;
|
||||
import java.util.function.Predicate;
|
||||
|
||||
import com.volmit.iris.Iris;
|
||||
import com.volmit.iris.gen.v2.scaffold.stream.utility.ProfiledStream;
|
||||
import com.volmit.iris.gen.v2.generator.IrisComplex;
|
||||
import org.bukkit.Chunk;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.World;
|
||||
import org.bukkit.block.Biome;
|
||||
import org.bukkit.block.data.BlockData;
|
||||
|
||||
@ -15,9 +17,10 @@ import com.volmit.iris.object.IrisBiome;
|
||||
import com.volmit.iris.object.IrisDecorator;
|
||||
import com.volmit.iris.object.IrisDimension;
|
||||
import com.volmit.iris.util.RNG;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.generator.BlockPopulator;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
public class IrisTerrainGenerator
|
||||
public class IrisTerrainGenerator extends BlockPopulator
|
||||
{
|
||||
private long seed;
|
||||
private IrisDataManager data;
|
||||
@ -43,6 +46,38 @@ public class IrisTerrainGenerator
|
||||
complex.flash(seed, dimension, data);
|
||||
}
|
||||
|
||||
public void generateTerrain(int x, int z, Hunk<BlockData> blocks)
|
||||
{
|
||||
fill2D(complex.getHeightFluidStream(), blocks, x, z, complex.getTerrainStream());
|
||||
}
|
||||
|
||||
public void generateBiome(int x, int z, Hunk<Biome> blocks)
|
||||
{
|
||||
fill2DYLock(complex.getMaxHeightStream(), blocks, x, z, complex.getTrueBiomeDerivativeStream());
|
||||
}
|
||||
|
||||
public void generate(int x, int z, Hunk<BlockData> blocks, Hunk<Biome> biomes)
|
||||
{
|
||||
generateTerrain(x, z, blocks);
|
||||
generateBiome(x, z, biomes);
|
||||
}
|
||||
|
||||
public void generateParallax()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public void generatePost(int x, int z, Hunk<BlockData> blocks)
|
||||
{
|
||||
generateDecorations(x, z, blocks);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void populate(@NotNull World world, @NotNull Random random, @NotNull Chunk chunk)
|
||||
{
|
||||
generatePost(chunk.getX(), chunk.getZ(), Hunk.viewBlocks(chunk));
|
||||
}
|
||||
|
||||
private <V, T> void fill2D(ProceduralStream<T> t, Hunk<V> h, double x, double z, ProceduralStream<V> v)
|
||||
{
|
||||
t.fill2D(h, x * 16, z * 16, v, parallelism);
|
||||
@ -128,25 +163,4 @@ public class IrisTerrainGenerator
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public void generateTerrain(int x, int z, Hunk<BlockData> blocks)
|
||||
{
|
||||
fill2D(complex.getHeightFluidStream(), blocks, x, z, complex.getTerrainStream());
|
||||
}
|
||||
|
||||
public void generateBiome(int x, int z, Hunk<Biome> blocks)
|
||||
{
|
||||
fill2DYLock(complex.getMaxHeightStream(), blocks, x, z, complex.getTrueBiomeDerivativeStream());
|
||||
}
|
||||
|
||||
public void generate(int x, int z, Hunk<BlockData> blocks, Hunk<Biome> biomes)
|
||||
{
|
||||
generateTerrain(x, z, blocks);
|
||||
generateBiome(x, z, biomes);
|
||||
generateDecorations(x, z, blocks);
|
||||
}
|
||||
|
||||
public void printMetrics(Player p) {
|
||||
ProfiledStream.print(Iris::verbose, complex.getTerrainStream());
|
||||
}
|
||||
}
|
||||
|
@ -1,21 +1,25 @@
|
||||
package com.volmit.iris.gen.v2;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Random;
|
||||
import java.util.UUID;
|
||||
|
||||
import com.volmit.iris.util.J;
|
||||
import com.volmit.iris.util.KList;
|
||||
import net.minecraft.server.v1_16_R2.MinecraftServer;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.World;
|
||||
import org.bukkit.WorldCreator;
|
||||
import org.bukkit.block.Biome;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.generator.BlockPopulator;
|
||||
import org.bukkit.generator.ChunkGenerator;
|
||||
|
||||
import com.volmit.iris.Iris;
|
||||
import com.volmit.iris.gen.v2.scaffold.hunk.Hunk;
|
||||
import com.volmit.iris.util.Form;
|
||||
import com.volmit.iris.util.PrecisionStopwatch;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
public class TestGen
|
||||
{
|
||||
@ -29,6 +33,12 @@ public class TestGen
|
||||
return true;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
public List<BlockPopulator> getDefaultPopulators(@NotNull World world) {
|
||||
return new KList<BlockPopulator>().qadd(tg);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ChunkData generateChunkData(World world, Random random, int x, int z, BiomeGrid biome)
|
||||
{
|
||||
@ -52,9 +62,5 @@ public class TestGen
|
||||
return c;
|
||||
}
|
||||
}).createWorld(), 0, 200, 0));
|
||||
|
||||
J.s(() -> {
|
||||
tg.printMetrics(p);
|
||||
}, 200);
|
||||
}
|
||||
}
|
||||
|
@ -1,6 +0,0 @@
|
||||
package com.volmit.iris.gen.v2.scaffold;
|
||||
|
||||
public interface TerrainGenerator
|
||||
{
|
||||
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user