Added //gmask to set a *GLOBAL* mask that affects nearly ALL operations. Now you can confine //sphere to a region or create //walls that do not replace existing blocks.

This commit is contained in:
sk89q
2011-06-04 12:16:10 -07:00
parent e1da7c41ad
commit aa17d2f0e0
4 changed files with 78 additions and 0 deletions

View File

@ -38,6 +38,7 @@ import com.sk89q.worldedit.cui.CUIPointBasedRegion;
import com.sk89q.worldedit.cui.CUIEvent;
import com.sk89q.worldedit.cui.SelectionPointEvent;
import com.sk89q.worldedit.cui.SelectionShapeEvent;
import com.sk89q.worldedit.masks.Mask;
import com.sk89q.worldedit.regions.CuboidRegionSelector;
import com.sk89q.worldedit.regions.Region;
import com.sk89q.worldedit.regions.RegionSelector;
@ -74,6 +75,7 @@ public class LocalSession {
private boolean beenToldVersion = false;
private boolean hasCUISupport = false;
private boolean fastMode = false;
private Mask mask;
private TimeZone timezone = TimeZone.getDefault();
/**
@ -660,6 +662,7 @@ public class LocalSession {
new EditSession(player.getWorld(),
getBlockChangeLimit(), blockBag);
editSession.setFastMode(fastMode);
editSession.setMask(mask);
return editSession;
}
@ -681,4 +684,22 @@ public class LocalSession {
public void setFastMode(boolean fastMode) {
this.fastMode = fastMode;
}
/**
* Get the mask.
*
* @return mask, may be null
*/
public Mask getMask() {
return mask;
}
/**
* Set a mask.
*
* @param mask mask or null
*/
public void setMask(Mask mask) {
this.mask = mask;
}
}