This commit is contained in:
Jesse Boyd
2019-07-18 02:31:13 +10:00
parent 68ea3d6e99
commit 905fbf5a0b
34 changed files with 402 additions and 489 deletions

View File

@ -24,6 +24,7 @@ import com.sk89q.worldedit.extension.factory.parser.mask.BiomeMaskParser;
import com.sk89q.worldedit.extension.factory.parser.mask.BlockCategoryMaskParser;
import com.sk89q.worldedit.extension.factory.parser.mask.BlockStateMaskParser;
import com.sk89q.worldedit.extension.factory.parser.mask.BlocksMaskParser;
import com.sk89q.worldedit.extension.factory.parser.mask.DefaultMaskParser;
import com.sk89q.worldedit.extension.factory.parser.mask.ExistingMaskParser;
import com.sk89q.worldedit.extension.factory.parser.mask.ExpressionMaskParser;
import com.sk89q.worldedit.extension.factory.parser.mask.LazyRegionMaskParser;
@ -58,20 +59,19 @@ public final class MaskFactory extends AbstractFactory<Mask> {
* @param worldEdit the WorldEdit instance
*/
public MaskFactory(WorldEdit worldEdit) {
super(worldEdit, new BlocksMaskParser(worldEdit));
super(worldEdit, new DefaultMaskParser(worldEdit));
register(new ExistingMaskParser(worldEdit));
register(new SolidMaskParser(worldEdit));
register(new LazyRegionMaskParser(worldEdit));
register(new RegionMaskParser(worldEdit));
register(new OffsetMaskParser(worldEdit));
register(new NoiseMaskParser(worldEdit));
register(new BlockStateMaskParser(worldEdit));
register(new NegateMaskParser(worldEdit));
register(new ExpressionMaskParser(worldEdit));
register(new BlockCategoryMaskParser(worldEdit));
register(new BiomeMaskParser(worldEdit));
// register(new ExistingMaskParser(worldEdit));
// register(new SolidMaskParser(worldEdit));
// register(new LazyRegionMaskParser(worldEdit));
// register(new RegionMaskParser(worldEdit));
// register(new OffsetMaskParser(worldEdit));
// register(new NoiseMaskParser(worldEdit));
// register(new BlockStateMaskParser(worldEdit));
// register(new NegateMaskParser(worldEdit));
// register(new ExpressionMaskParser(worldEdit));
register(new BlockCategoryMaskParser(worldEdit)); // TODO implement in DefaultMaskParser
// register(new BiomeMaskParser(worldEdit));
}
@Override
@ -96,7 +96,7 @@ public final class MaskFactory extends AbstractFactory<Mask> {
case 0:
throw new NoMatchException("No match for '" + input + "'");
case 1:
return masks.get(0);
return masks.get(0).optimize();
default:
return new MaskIntersection(masks).optimize();
}