Moved containsFuzzy from EditSession to BaseBlock.

This commit is contained in:
TomyLobo 2013-12-03 23:36:37 +01:00
parent d467bf1386
commit 68b8218bea
2 changed files with 15 additions and 16 deletions

View File

@ -19,7 +19,6 @@
package com.sk89q.worldedit; package com.sk89q.worldedit;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections; import java.util.Collections;
import java.util.Deque; import java.util.Deque;
import java.util.HashMap; import java.util.HashMap;
@ -542,18 +541,6 @@ public class EditSession {
return countBlocks(region, passOn); return countBlocks(region, passOn);
} }
private static boolean containsFuzzy(Collection<BaseBlock> collection, Object o) {
// allow -1 data in the searchBlocks to match any type
for (BaseBlock b : collection) {
if (o instanceof BaseBlock) {
if (b.equalsFuzzy((BaseBlock) o)) {
return true;
}
}
}
return false;
}
/** /**
* Count the number of blocks of a list of types in a region. * Count the number of blocks of a list of types in a region.
* *
@ -582,7 +569,7 @@ public class EditSession {
Vector pt = new Vector(x, y, z); Vector pt = new Vector(x, y, z);
BaseBlock compare = new BaseBlock(getBlockType(pt), getBlockData(pt)); BaseBlock compare = new BaseBlock(getBlockType(pt), getBlockData(pt));
if (containsFuzzy(searchBlocks, compare)) { if (BaseBlock.containsFuzzy(searchBlocks, compare)) {
++count; ++count;
} }
} }
@ -591,7 +578,7 @@ public class EditSession {
} else { } else {
for (Vector pt : region) { for (Vector pt : region) {
BaseBlock compare = new BaseBlock(getBlockType(pt), getBlockData(pt)); BaseBlock compare = new BaseBlock(getBlockType(pt), getBlockData(pt));
if (containsFuzzy(searchBlocks, compare)) { if (BaseBlock.containsFuzzy(searchBlocks, compare)) {
++count; ++count;
} }
} }

View File

@ -22,6 +22,8 @@ package com.sk89q.worldedit.blocks;
import com.sk89q.worldedit.CuboidClipboard.FlipDirection; import com.sk89q.worldedit.CuboidClipboard.FlipDirection;
import com.sk89q.worldedit.foundation.Block; import com.sk89q.worldedit.foundation.Block;
import java.util.Collection;
/** /**
* Represents a block. * Represents a block.
* *
@ -161,7 +163,7 @@ public class BaseBlock extends Block {
/** /**
* @param iter * @param iter
* @return * @return
* @deprecated This method is silly * @deprecated This method is silly, use {@link #containsFuzzy(java.util.Collection, BaseBlock)} instead.
*/ */
@Deprecated @Deprecated
public boolean inIterable(Iterable<BaseBlock> iter) { public boolean inIterable(Iterable<BaseBlock> iter) {
@ -172,4 +174,14 @@ public class BaseBlock extends Block {
} }
return false; return false;
} }
public static boolean containsFuzzy(Collection<BaseBlock> collection, BaseBlock o) {
// allow masked data in the searchBlocks to match various types
for (BaseBlock b : collection) {
if (b.equalsFuzzy(o)) {
return true;
}
}
return false;
}
} }