This commit is contained in:
Daniel Mills 2020-12-14 09:22:44 -05:00
parent 712be51888
commit b52c71c0f3
4 changed files with 37 additions and 11 deletions

View File

@ -4,7 +4,7 @@
<modelVersion>4.0.0</modelVersion>
<groupId>com.volmit</groupId>
<artifactId>Iris</artifactId>
<version>1.1.5</version>
<version>1.1.6</version>
<name>Iris</name>
<properties>
<skip.copy>false</skip.copy>

View File

@ -49,7 +49,7 @@ public class IrisSettings
public boolean ignoreWorldEdit = false;
@DontObfuscate
public boolean useGleamPregenerator = true;
public boolean useGleamPregenerator = false;
@DontObfuscate
public boolean disableNMS = false;

View File

@ -1,8 +1,10 @@
package com.volmit.iris.generator;
import com.volmit.iris.Iris;
import com.volmit.iris.IrisSettings;
import com.volmit.iris.scaffold.engine.*;
import com.volmit.iris.scaffold.hunk.Hunk;
import com.volmit.iris.scaffold.parallel.MultiBurst;
import com.volmit.iris.util.J;
import com.volmit.iris.util.PrecisionStopwatch;
import com.volmit.iris.util.RNG;
@ -107,21 +109,46 @@ public class IrisEngine extends BlockPopulator implements Engine
public void generate(int x, int z, Hunk<BlockData> vblocks, Hunk<BlockData> postblocks, Hunk<Biome> vbiomes) {
try
{
boolean multicore = !IrisSettings.get().isUseGleamPregenerator(); //TODO: LATER
s.acquire(1);
PrecisionStopwatch p = PrecisionStopwatch.start();
Hunk<Biome> biomes = vbiomes;
Hunk<BlockData> blocks = vblocks.synchronize().listen((xx,y,zz,t) -> catchBlockUpdates(x+xx,y+getMinHeight(),z+zz, t));
Hunk<BlockData> pblocks = postblocks.synchronize().listen((xx,y,zz,t) -> catchBlockUpdates(x+xx,y+getMinHeight(),z+zz, t));
Hunk<BlockData> fringe = Hunk.fringe(blocks, pblocks);
getFramework().getEngineParallax().generateParallaxArea(x, z);
getFramework().getBiomeActuator().actuate(x, z, biomes);
getFramework().getTerrainActuator().actuate(x, z, blocks);
getFramework().getCaveModifier().modify(x, z, blocks);
getFramework().getRavineModifier().modify(x, z, blocks);
if(multicore)
{
MultiBurst.burst.burst(
() -> getFramework().getEngineParallax().generateParallaxArea(x, z),
() -> getFramework().getBiomeActuator().actuate(x, z, biomes),
() -> getFramework().getTerrainActuator().actuate(x, z, blocks)
);
MultiBurst.burst.burst(
() -> getFramework().getCaveModifier().modify(x, z, blocks),
() -> getFramework().getRavineModifier().modify(x, z, blocks),
() -> getFramework().getPostModifier().modify(x, z, blocks),
() -> getFramework().getDecorantActuator().actuate(x, z, fringe),
() -> getFramework().getEngineParallax().insertParallax(x, z, fringe)
);
}
else
{
getFramework().getEngineParallax().generateParallaxArea(x, z);
getFramework().getBiomeActuator().actuate(x, z, biomes);
getFramework().getTerrainActuator().actuate(x, z, blocks);
getFramework().getCaveModifier().modify(x, z, blocks);
getFramework().getRavineModifier().modify(x, z, blocks);
getFramework().getPostModifier().modify(x, z, blocks);
getFramework().getDecorantActuator().actuate(x, z, fringe);
getFramework().getEngineParallax().insertParallax(x, z, fringe);
}
getFramework().getDepositModifier().modify(x, z, blocks);
getFramework().getPostModifier().modify(x, z, blocks);
getFramework().getDecorantActuator().actuate(x, z, fringe);
getFramework().getEngineParallax().insertParallax(x, z, fringe);
getMetrics().getTotal().put(p.getMilliseconds());
s.release(1);
getFramework().recycle();

View File

@ -87,7 +87,6 @@ public class IrisEngineFramework implements EngineFramework {
{
getEngine().getParallax().cleanup();
getData().getObjectLoader().clean();
Iris.verbose("Ran Cleanup");
}
catch(Throwable e)