From 1ee362a8783a09e7d5cfcb5d2d718c7e64163f80 Mon Sep 17 00:00:00 2001 From: MattBDev <4009945+MattBDev@users.noreply.github.com> Date: Wed, 5 Feb 2020 17:44:33 -0500 Subject: [PATCH] Re-added #false and #true masks --- .../sk89q/worldedit/command/MaskCommands.java | 92 ------------------- .../extension/factory/MaskFactory.java | 5 + .../factory/parser/mask/FalseMaskParser.java | 30 ++++++ .../factory/parser/mask/TrueMaskParser.java | 30 ++++++ 4 files changed, 65 insertions(+), 92 deletions(-) create mode 100644 worldedit-core/src/main/java/com/sk89q/worldedit/extension/factory/parser/mask/FalseMaskParser.java create mode 100644 worldedit-core/src/main/java/com/sk89q/worldedit/extension/factory/parser/mask/TrueMaskParser.java diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/command/MaskCommands.java b/worldedit-core/src/main/java/com/sk89q/worldedit/command/MaskCommands.java index aebe756b9..d6bec57dc 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/command/MaskCommands.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/command/MaskCommands.java @@ -89,22 +89,6 @@ // } // // @Command( -// name = "#false", -// desc = "Always false" -// ) -// public Mask falseMask(Extent extent) { -// return Masks.alwaysFalse(); -// } -// -// @Command( -// name = "#true", -// desc = "Always true" -// ) -// public Mask trueMask(Extent extent) { -// return Masks.alwaysTrue(); -// } -// -// @Command( // name = "#skylight", // desc = "Restrict to specific sky light levels" // ) @@ -162,22 +146,6 @@ // } // // @Command( -// name = "#existing", -// desc = "If there is a non air block" -// ) -// public Mask existing(Extent extent) { -// return new ExistingBlockMask(extent); -// } -// -// @Command( -// name = "#solid", -// desc = "If there is a solid block" -// ) -// public Mask solid(Extent extent) { -// return new SolidBlockMask(extent); -// } -// -// @Command( // name = "#liquid", // desc = "If there is a solid block" // ) @@ -386,64 +354,4 @@ // return new AdjacentMask(mask, (int) min, (int) max); // } // -// @Command( -// name = "<", -// aliases = {"#<", "#below"}, -// desc = "below a specific block" -//) -// public Mask below(@Arg(desc = "Mask") Mask mask) throws ExpressionException { -// OffsetMask offsetMask = new OffsetMask(mask, BlockVector3.at(0, 1, 0)); -// return new MaskIntersection(offsetMask, Masks.negate(mask)); -// } -// -// @Command( -// name = ">", -// aliases = {"#>", "#above"}, -// desc = "above a specific block" -//) -// public Mask above(@Arg(desc = "Mask") Mask mask) throws ExpressionException { -// OffsetMask offsetMask = new OffsetMask(mask, BlockVector3.at(0, -1, 0)); -// return new MaskIntersection(offsetMask, Masks.negate(mask)); -// } -// -// @Command( -// name = "$", -// aliases = {"#biome", "#$"}, -// desc = "in a specific biome", -// descFooter = "in a specific biome. For a list of biomes use //biomelist" -//) -// public Mask biome(Extent extent, @Arg(desc = "BiomeType") BiomeType biome) throws ExpressionException { -// return new BiomeMask(extent, biome); -// } -// -// @Command( -// name = "%", -// aliases = {"#%", "#percent"}, -// desc = "percentage chance" -//) -// public Mask random(@Arg(desc = "double chance") double chance) throws ExpressionException { -// chance = chance / 100; -// return new RandomMask(chance); -// } -// -// @Command( -// name = "=", -// aliases = {"#=", "#expression"}, -// desc = "expression mask" -//) -// public Mask expression(Extent extent, @Arg(desc = "String expression") String input) throws ExpressionException { -// Expression exp = Expression.compile(input, "x", "y", "z"); -// ExpressionEnvironment env = new WorldEditExpressionEnvironment(extent, Vector3.ONE, Vector3.ZERO); -// exp.setEnvironment(env); -// return new ExpressionMask(exp); -// } -// -// @Command( -// name = "!", -// aliases = {"#not", "#negate", "#!"}, -// desc = "Negate another mask" -//) -// public Mask negate(@Arg(desc = "Mask") Mask mask) throws ExpressionException { -// return Masks.negate(mask); -// } //} diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/extension/factory/MaskFactory.java b/worldedit-core/src/main/java/com/sk89q/worldedit/extension/factory/MaskFactory.java index 295c48f43..8d0efea78 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/extension/factory/MaskFactory.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/extension/factory/MaskFactory.java @@ -26,12 +26,14 @@ 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.ExistingMaskParser; import com.sk89q.worldedit.extension.factory.parser.mask.ExpressionMaskParser; +import com.sk89q.worldedit.extension.factory.parser.mask.FalseMaskParser; import com.sk89q.worldedit.extension.factory.parser.mask.LazyRegionMaskParser; import com.sk89q.worldedit.extension.factory.parser.mask.NegateMaskParser; import com.sk89q.worldedit.extension.factory.parser.mask.NoiseMaskParser; import com.sk89q.worldedit.extension.factory.parser.mask.OffsetMaskParser; import com.sk89q.worldedit.extension.factory.parser.mask.RegionMaskParser; import com.sk89q.worldedit.extension.factory.parser.mask.SolidMaskParser; +import com.sk89q.worldedit.extension.factory.parser.mask.TrueMaskParser; import com.sk89q.worldedit.extension.input.InputParseException; import com.sk89q.worldedit.extension.input.NoMatchException; import com.sk89q.worldedit.extension.input.ParserContext; @@ -72,6 +74,9 @@ public final class MaskFactory extends AbstractFactory { register(new ExpressionMaskParser(worldEdit)); register(new BlockCategoryMaskParser(worldEdit)); register(new BiomeMaskParser(worldEdit)); + // Mask Parsers from FAWE + register(new FalseMaskParser(worldEdit)); + register(new TrueMaskParser(worldEdit)); } diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/extension/factory/parser/mask/FalseMaskParser.java b/worldedit-core/src/main/java/com/sk89q/worldedit/extension/factory/parser/mask/FalseMaskParser.java new file mode 100644 index 000000000..a903821bb --- /dev/null +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/extension/factory/parser/mask/FalseMaskParser.java @@ -0,0 +1,30 @@ +package com.sk89q.worldedit.extension.factory.parser.mask; + +import com.google.common.collect.ImmutableList; +import com.sk89q.worldedit.WorldEdit; +import com.sk89q.worldedit.extension.input.ParserContext; +import com.sk89q.worldedit.function.mask.ExistingBlockMask; +import com.sk89q.worldedit.function.mask.Mask; +import com.sk89q.worldedit.function.mask.Masks; +import com.sk89q.worldedit.internal.registry.SimpleInputParser; + +import java.util.List; + +public class FalseMaskParser extends SimpleInputParser { + + private final List aliases = ImmutableList.of("#false"); + + public FalseMaskParser(WorldEdit worldEdit) { + super(worldEdit); + } + + @Override + public List getMatchedAliases() { + return aliases; + } + + @Override + public Mask parseFromSimpleInput(String input, ParserContext context) { + return Masks.alwaysFalse(); + } +} diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/extension/factory/parser/mask/TrueMaskParser.java b/worldedit-core/src/main/java/com/sk89q/worldedit/extension/factory/parser/mask/TrueMaskParser.java new file mode 100644 index 000000000..c1111ace4 --- /dev/null +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/extension/factory/parser/mask/TrueMaskParser.java @@ -0,0 +1,30 @@ +package com.sk89q.worldedit.extension.factory.parser.mask; + +import com.google.common.collect.ImmutableList; +import com.sk89q.worldedit.WorldEdit; +import com.sk89q.worldedit.extension.input.ParserContext; +import com.sk89q.worldedit.function.mask.ExistingBlockMask; +import com.sk89q.worldedit.function.mask.Mask; +import com.sk89q.worldedit.function.mask.Masks; +import com.sk89q.worldedit.internal.registry.SimpleInputParser; + +import java.util.List; + +public class TrueMaskParser extends SimpleInputParser { + + private final List aliases = ImmutableList.of("#true"); + + public TrueMaskParser(WorldEdit worldEdit) { + super(worldEdit); + } + + @Override + public List getMatchedAliases() { + return aliases; + } + + @Override + public Mask parseFromSimpleInput(String input, ParserContext context) { + return Masks.alwaysTrue(); + } +}