This commit is contained in:
Daniel Mills 2021-08-10 03:43:24 -04:00
parent 87e1e55da7
commit 97a62752c6
3 changed files with 9 additions and 3 deletions

View File

@ -378,7 +378,7 @@ public class IrisEngine extends BlockPopulator implements Engine {
getRavineModifier().modify(x, z, vblocks, multicore); getRavineModifier().modify(x, z, vblocks, multicore);
getPostModifier().modify(x, z, vblocks, multicore); getPostModifier().modify(x, z, vblocks, multicore);
getDecorantActuator().actuate(x, z, blocks, multicore); getDecorantActuator().actuate(x, z, blocks, multicore);
getMantle().insertMatter(x>>4, z>>4, blocks); getMantle().insertMatter(x>>4, z>>4, BlockData.class, blocks);
getDepositModifier().modify(x, z, blocks, multicore); getDepositModifier().modify(x, z, blocks, multicore);
} }
case ISLANDS -> { case ISLANDS -> {

View File

@ -42,6 +42,7 @@ import com.volmit.iris.util.mantle.TectonicPlate;
import com.volmit.iris.util.math.RNG; import com.volmit.iris.util.math.RNG;
import com.volmit.iris.util.parallel.BurstExecutor; import com.volmit.iris.util.parallel.BurstExecutor;
import com.volmit.iris.util.parallel.MultiBurst; import com.volmit.iris.util.parallel.MultiBurst;
import com.volmit.iris.util.scheduling.PrecisionStopwatch;
import org.bukkit.Bukkit; import org.bukkit.Bukkit;
import org.bukkit.Chunk; import org.bukkit.Chunk;
import org.bukkit.block.TileState; import org.bukkit.block.TileState;
@ -215,9 +216,13 @@ public interface EngineMantle extends IObjectPlacer {
} }
@ChunkCoordinates @ChunkCoordinates
default void insertMatter(int x, int z, Hunk<BlockData> blocks) default <T> void insertMatter(int x, int z, Class<T> t, Hunk<T> blocks)
{ {
if (!getEngine().getDimension().isUseMantle()) {
return;
}
getMantle().iterateChunk(x, z, t, blocks::set);
} }
@BlockCoordinates @BlockCoordinates

View File

@ -174,6 +174,7 @@ public class MantleChunk {
public <T> void iterate(Class<T> type, Consumer4<Integer, Integer, Integer,T> iterator) { public <T> void iterate(Class<T> type, Consumer4<Integer, Integer, Integer,T> iterator) {
for(int i = 0; i < sections.length(); i++) for(int i = 0; i < sections.length(); i++)
{ {
int bs = (i << 4);
Matter matter = get(i); Matter matter = get(i);
if(matter != null) if(matter != null)
@ -182,7 +183,7 @@ public class MantleChunk {
if(t != null) if(t != null)
{ {
t.iterateSync(iterator); t.iterateSync((a, b, c, f) -> iterator.accept(a,b + bs, c, f));
} }
} }
} }