diff --git a/src/main/java/com/sk89q/worldedit/extension/input/ParserContext.java b/src/main/java/com/sk89q/worldedit/extension/input/ParserContext.java index 49b345d71..9d2b56f19 100644 --- a/src/main/java/com/sk89q/worldedit/extension/input/ParserContext.java +++ b/src/main/java/com/sk89q/worldedit/extension/input/ParserContext.java @@ -42,6 +42,26 @@ public class ParserContext { private boolean restricted = true; private boolean preferringWildcard; + /** + * Create a new instance. + */ + public ParserContext() { + } + + /** + * Creates a copy of another instance. + * + * @param other the other instance + */ + public ParserContext(ParserContext other) { + setExtent(other.getExtent()); + setSession(other.getSession()); + setWorld(other.getWorld()); + setActor(other.getActor()); + setRestricted(other.isRestricted()); + setPreferringWildcard(other.isPreferringWildcard()); + } + /** * Get the {@link Extent} set on this context. * diff --git a/src/main/java/com/sk89q/worldedit/extension/registry/DefaultMaskParser.java b/src/main/java/com/sk89q/worldedit/extension/registry/DefaultMaskParser.java index b85b9ff1f..d8521fb9c 100644 --- a/src/main/java/com/sk89q/worldedit/extension/registry/DefaultMaskParser.java +++ b/src/main/java/com/sk89q/worldedit/extension/registry/DefaultMaskParser.java @@ -132,7 +132,9 @@ class DefaultMaskParser extends InputParser { } default: - return new BlockMask(extent, worldEdit.getBlockRegistry().parseFromListInput(component, context)); + ParserContext tempContext = new ParserContext(context); + tempContext.setRestricted(false); + return new BlockMask(extent, worldEdit.getBlockRegistry().parseFromListInput(component, tempContext)); } }