Oh the commands

This commit is contained in:
Daniel Mills
2020-08-01 04:36:57 -04:00
parent e5cdd9a7f1
commit 3b76bb64a9
34 changed files with 1427 additions and 792 deletions

View File

@@ -9,9 +9,7 @@ import org.bukkit.block.data.BlockData;
import com.volmit.iris.Iris;
import com.volmit.iris.object.IrisBiome;
import com.volmit.iris.object.IrisBiomeMutation;
import com.volmit.iris.object.IrisDepositGenerator;
import com.volmit.iris.object.IrisObjectPlacement;
import com.volmit.iris.object.IrisRegion;
import com.volmit.iris.object.atomics.AtomicSliver;
import com.volmit.iris.object.atomics.AtomicSliverMap;
import com.volmit.iris.object.atomics.AtomicWorldData;
@@ -254,7 +252,6 @@ public abstract class ParallaxChunkGenerator extends TerrainChunkGenerator imple
getAccelerant().queue(key, () ->
{
IrisBiome b = sampleTrueBiome((i * 16) + 7, (j * 16) + 7).getBiome();
IrisRegion r = sampleRegion((i * 16) + 7, (j * 16) + 7);
RNG ro = random.nextParallelRNG(496888 + i + j);
int g = 1;
@@ -300,45 +297,6 @@ public abstract class ParallaxChunkGenerator extends TerrainChunkGenerator imple
lockq.unlock();
}
for(IrisDepositGenerator k : getDimension().getDeposits())
{
for(int l = 0; l < ro.i(k.getMinPerChunk(), k.getMaxPerChunk()); l++)
{
lockq.lock();
q.add(() ->
{
k.generate((i * 16) + ro.nextInt(16), (j * 16) + ro.nextInt(16), ro, this);
});
lockq.unlock();
}
}
for(IrisDepositGenerator k : r.getDeposits())
{
for(int l = 0; l < ro.i(k.getMinPerChunk(), k.getMaxPerChunk()); l++)
{
lockq.lock();
q.add(() ->
{
k.generate((i * 16) + ro.nextInt(16), (j * 16) + ro.nextInt(16), ro, this);
});
lockq.unlock();
}
}
for(IrisDepositGenerator k : b.getDeposits())
{
for(int l = 0; l < ro.i(k.getMinPerChunk(), k.getMaxPerChunk()); l++)
{
lockq.lock();
q.add(() ->
{
k.generate((i * 16) + ro.nextInt(16), (j * 16) + ro.nextInt(16), ro, this);
});
lockq.unlock();
}
}
if(getDimension().isCaves())
{
int bx = (i * 16) + ro.nextInt(16);

View File

@@ -15,6 +15,7 @@ import com.volmit.iris.object.DecorationPart;
import com.volmit.iris.object.InferredType;
import com.volmit.iris.object.IrisBiome;
import com.volmit.iris.object.IrisBiomeDecorator;
import com.volmit.iris.object.IrisDepositGenerator;
import com.volmit.iris.object.IrisRegion;
import com.volmit.iris.object.atomics.AtomicSliver;
import com.volmit.iris.util.BiomeMap;
@@ -64,12 +65,6 @@ public abstract class TerrainChunkGenerator extends ParallelChunkGenerator
return glCave.genCaves(x, z, x & 15, z & 15, null);
}
@Override
protected void onGenerate(RNG random, int x, int z, ChunkData data, BiomeGrid grid)
{
super.onGenerate(random, x, z, data, grid);
}
@Override
protected void onGenerateColumn(int cx, int cz, int rx, int rz, int x, int z, AtomicSliver sliver, BiomeMap biomeMap, int onlyY)
{
@@ -256,6 +251,36 @@ public abstract class TerrainChunkGenerator extends ParallelChunkGenerator
}
}
@Override
protected void onGenerate(RNG random, int x, int z, ChunkData data, BiomeGrid grid)
{
super.onGenerate(random, x, z, data, grid);
RNG ro = random.nextParallelRNG((x * x * x) - z);
IrisRegion region = sampleRegion((x * 16) + 7, (z * 16) + 7);
IrisBiome biome = sampleTrueBiome((x * 16) + 7, (z * 16) + 7).getBiome();
for(IrisDepositGenerator k : getDimension().getDeposits())
{
k.generate(data, ro, this);
}
for(IrisDepositGenerator k : region.getDeposits())
{
for(int l = 0; l < ro.i(k.getMinPerChunk(), k.getMaxPerChunk()); l++)
{
k.generate(data, ro, this);
}
}
for(IrisDepositGenerator k : biome.getDeposits())
{
for(int l = 0; l < ro.i(k.getMinPerChunk(), k.getMaxPerChunk()); l++)
{
k.generate(data, ro, this);
}
}
}
protected boolean canPlace(Material mat, Material onto)
{
if(onto.equals(Material.GRASS_PATH))