Added /listchunks and /delchunks.

This commit is contained in:
sk89q
2010-10-28 10:27:30 -07:00
parent c525ebe760
commit 6173c6c78e
5 changed files with 178 additions and 2 deletions

View File

@ -20,7 +20,11 @@
package com.sk89q.worldedit.regions;
import com.sk89q.worldedit.Vector;
import com.sk89q.worldedit.Vector2D;
import com.sk89q.worldedit.data.ChunkStore;
import java.util.Iterator;
import java.util.Set;
import java.util.HashSet;
/**
*
@ -261,6 +265,29 @@ public class CuboidRegion implements Region {
this.pos2 = pos2;
}
/**
* Get a list of chunks that this region is within.
*
* @return
*/
public Set<Vector2D> getChunks() {
Set<Vector2D> chunks = new HashSet<Vector2D>();
Vector min = getMinimumPoint();
Vector max = getMaximumPoint();
for (int x = min.getBlockX(); x <= max.getBlockX(); x++) {
for (int y = min.getBlockY(); y <= max.getBlockY(); y++) {
for (int z = min.getBlockZ(); z <= max.getBlockZ(); z++) {
Vector pt = new Vector(x, y, z);
chunks.add(ChunkStore.toChunk(pt));
}
}
}
return chunks;
}
/**
* Get the iterator.
*

View File

@ -20,6 +20,8 @@
package com.sk89q.worldedit.regions;
import com.sk89q.worldedit.Vector;
import com.sk89q.worldedit.Vector2D;
import java.util.Set;
/**
*
@ -74,4 +76,10 @@ public interface Region extends Iterable<Vector> {
* @param change
*/
public void contract(Vector change);
/**
* Get a list of chunks.
*
* @return
*/
public Set<Vector2D> getChunks();
}