Iterate features

This commit is contained in:
Daniel Mills 2021-08-10 03:29:27 -04:00
parent 099b50dbfa
commit 2f450b7ea0
3 changed files with 16 additions and 2 deletions

View File

@ -25,7 +25,6 @@ import com.volmit.iris.core.command.pregen.CommandIrisPregen;
import com.volmit.iris.core.command.studio.CommandIrisStudio;
import com.volmit.iris.core.command.what.CommandIrisWhat;
import com.volmit.iris.core.command.world.CommandIrisCreate;
import com.volmit.iris.core.command.world.CommandIrisFix;
import com.volmit.iris.core.command.world.CommandIrisUpdateWorld;
import com.volmit.iris.core.command.world.CommandIrisVerify;
import com.volmit.iris.util.collection.KList;

View File

@ -53,7 +53,7 @@ public class CommandIrisWhatFeatures extends MortarCommand {
if (IrisToolbelt.isIrisWorld(c.getWorld())) {
int m = 1;
for (IrisFeaturePositional i : ((Engine) IrisToolbelt.access(c.getWorld()).getEngine()).getEngineParallax().getFeaturesInChunk(c)) {
for (IrisFeaturePositional i : ((Engine) IrisToolbelt.access(c.getWorld()).getEngine()).getMantle().getFeaturesInChunk(c)) {
sender.sendMessage("#" + m++ + " " + new JSONObject(new Gson().toJson(i)).toString(4));
}
} else {

View File

@ -43,6 +43,7 @@ import com.volmit.iris.util.math.RNG;
import com.volmit.iris.util.parallel.BurstExecutor;
import com.volmit.iris.util.parallel.MultiBurst;
import org.bukkit.Bukkit;
import org.bukkit.Chunk;
import org.bukkit.block.TileState;
import org.bukkit.block.data.BlockData;
@ -225,4 +226,18 @@ public interface EngineMantle extends IObjectPlacer {
getMantle().flag(x>>4, z>>4, MantleFlag.UPDATE, true);
getMantle().set(x,y,z,true);
}
@ChunkCoordinates
default KList<IrisFeaturePositional> getFeaturesInChunk(Chunk c)
{
return getFeaturesInChunk(c.getX(), c.getZ());
}
@ChunkCoordinates
default KList<IrisFeaturePositional> getFeaturesInChunk(int x, int z)
{
KList<IrisFeaturePositional> pos = new KList<>();
getMantle().iterateChunk(x, z, IrisFeaturePositional.class, (a,b,c,f) -> pos.add(f), MantleFlag.FEATURE);
return pos;
}
}