Permalink
Browse files

Allow a pattern for the leave-id of //move

  • Loading branch information...
me4502 committed Dec 22, 2018
1 parent 8d07877 commit d6977aeae4f951c3961c3f58b433487188909d4d
@@ -1222,11 +1222,11 @@ public int stackCuboidRegion(Region region, BlockVector3 dir, int count, boolean
* @param dir the direction
* @param distance the distance to move
* @param copyAir true to copy air blocks
* @param replacement the replacement block to fill in after moving, or null to use air
* @param replacement the replacement pattern to fill in after moving, or null to use air
* @return number of blocks moved
* @throws MaxChangedBlocksException thrown if too many blocks are changed
*/
public int moveRegion(Region region, BlockVector3 dir, int distance, boolean copyAir, BlockStateHolder replacement) throws MaxChangedBlocksException {
public int moveRegion(Region region, BlockVector3 dir, int distance, boolean copyAir, Pattern replacement) throws MaxChangedBlocksException {
checkNotNull(region);
checkNotNull(dir);
checkArgument(distance >= 1, "distance >= 1 required");
@@ -1235,7 +1235,7 @@ public int moveRegion(Region region, BlockVector3 dir, int distance, boolean cop

// Remove the original blocks
com.sk89q.worldedit.function.pattern.Pattern pattern = replacement != null ?
new BlockPattern(replacement) :
replacement :
new BlockPattern(BlockTypes.AIR.getDefaultState());
BlockReplace remove = new BlockReplace(this, pattern);

@@ -1266,11 +1266,11 @@ public int moveRegion(Region region, BlockVector3 dir, int distance, boolean cop
* @param dir the direction
* @param distance the distance to move
* @param copyAir true to copy air blocks
* @param replacement the replacement block to fill in after moving, or null to use air
* @param replacement the replacement pattern to fill in after moving, or null to use air
* @return number of blocks moved
* @throws MaxChangedBlocksException thrown if too many blocks are changed
*/
public int moveCuboidRegion(Region region, BlockVector3 dir, int distance, boolean copyAir, BlockStateHolder replacement) throws MaxChangedBlocksException {
public int moveCuboidRegion(Region region, BlockVector3 dir, int distance, boolean copyAir, Pattern replacement) throws MaxChangedBlocksException {
return moveRegion(region, dir, distance, copyAir, replacement);
}

@@ -276,7 +276,7 @@ public void move(Player player, EditSession editSession, LocalSession session,
@Selection Region region,
@Optional("1") @Range(min = 1) int count,
@Optional(Direction.AIM) @Direction(includeDiagonals = true) BlockVector3 direction,
@Optional("air") BlockStateHolder replace,
@Optional("air") Pattern replace,
@Switch('s') boolean moveSelection) throws WorldEditException {

int affected = editSession.moveRegion(region, direction, count, true, replace);

0 comments on commit d6977ae

Please sign in to comment.