This commit is contained in:
Daniel Mills
2020-07-31 13:45:41 -04:00
parent 121653a8f2
commit e5cdd9a7f1
40 changed files with 2769 additions and 54 deletions

View File

@@ -40,6 +40,7 @@ public abstract class ContextualChunkGenerator extends ChunkGenerator implements
{
protected boolean failing;
protected int task;
protected boolean dev;
protected boolean initialized;
protected RNG masterRandom;
protected ChronoLatch perSecond;
@@ -64,6 +65,7 @@ public abstract class ContextualChunkGenerator extends ChunkGenerator implements
initialized = false;
failing = false;
pregenDone = false;
dev = false;
}
protected abstract void onGenerate(RNG masterRandom, int x, int z, ChunkData data, BiomeGrid grid);
@@ -102,20 +104,29 @@ public abstract class ContextualChunkGenerator extends ChunkGenerator implements
private void tick()
{
if(perSecond.flip())
if(dev)
{
if(generated > (fastPregen ? 1950 : 770))
if(perSecond.flip())
{
pregenDone = true;
}
if(generated > (fastPregen ? 1950 : 770))
{
pregenDone = true;
}
if(pregenDone)
{
metrics.getPerSecond().put(generated);
generated = 0;
if(pregenDone)
{
metrics.getPerSecond().put(generated);
generated = 0;
}
}
}
else
{
pregenDone = true;
fastPregen = false;
}
onTick(ticks++);
}
@@ -250,6 +261,12 @@ public abstract class ContextualChunkGenerator extends ChunkGenerator implements
@Override
public ChunkData generateChunkData(World world, Random no, int x, int z, BiomeGrid biomeGrid)
{
if(!dev)
{
pregenDone = true;
fastPregen = false;
}
PrecisionStopwatch sx = PrecisionStopwatch.start();
if(failing)

View File

@@ -168,4 +168,28 @@ public class IrisChunkGenerator extends CeilingChunkGenerator implements IrisCon
return bytes;
}
@Override
public boolean shouldGenerateCaves()
{
return false;
}
@Override
public boolean shouldGenerateDecorations()
{
return false;
}
@Override
public boolean shouldGenerateMobs()
{
return true;
}
@Override
public boolean shouldGenerateStructures()
{
return true;
}
}

View File

@@ -112,6 +112,7 @@ public abstract class ParallelChunkGenerator extends BiomeChunkGenerator
protected void onClose()
{
accelerant.close();
Iris.executors.remove(accelerant);
}
public void onInit(World world, RNG rng)

View File

@@ -266,7 +266,7 @@ public abstract class TerrainChunkGenerator extends ParallelChunkGenerator
}
}
if(onto.equals(Material.STONE) || onto.equals(Material.ANDESITE) || onto.equals(Material.GRANITE) || onto.equals(Material.DIORITE) || onto.equals(Material.BLACKSTONE) || onto.equals(Material.BASALT))
if(onto.equals(Material.STONE) || onto.equals(Material.GRAVEL) || onto.equals(Material.ANDESITE) || onto.equals(Material.GRANITE) || onto.equals(Material.DIORITE) || onto.equals(Material.BLACKSTONE) || onto.equals(Material.BASALT))
{
if(mat.equals(Material.POPPY) || mat.equals(Material.DANDELION) || mat.equals(Material.CORNFLOWER) || mat.equals(Material.ORANGE_TULIP) || mat.equals(Material.PINK_TULIP) || mat.equals(Material.RED_TULIP) || mat.equals(Material.WHITE_TULIP) || mat.equals(Material.FERN) || mat.equals(Material.LARGE_FERN) || mat.equals(Material.GRASS) || mat.equals(Material.TALL_GRASS))
{