Made some masks use Extents rather than EditSessions.

This commit is contained in:
sk89q
2014-03-29 21:07:02 -07:00
parent 70f409975e
commit e7bbd1ac53
7 changed files with 91 additions and 16 deletions

View File

@ -1,6 +1,7 @@
package com.sk89q.worldedit.masks;
import com.sk89q.worldedit.EditSession;
import com.sk89q.worldedit.Extent;
import com.sk89q.worldedit.Vector;
import com.sk89q.worldedit.blocks.BaseBlock;
@ -8,7 +9,7 @@ import java.util.Collection;
import java.util.HashSet;
import java.util.Set;
public class BlockMask extends AbstractMask {
public class BlockMask extends ExtentAwareMask {
private final Set<BaseBlock> blocks;
@ -42,7 +43,8 @@ public class BlockMask extends AbstractMask {
@Override
public boolean matches(EditSession editSession, Vector pos) {
BaseBlock block = editSession.getBlock(pos);
Extent extent = getExtent(editSession);
BaseBlock block = extent.getBlock(pos);
return blocks.contains(block)
|| blocks.contains(new BaseBlock(block.getType(), -1));
}