diff --git a/src/main/java/com/sk89q/worldedit/masks/AbstractMask.java b/src/main/java/com/sk89q/worldedit/masks/AbstractMask.java new file mode 100644 index 000000000..0be57ccab --- /dev/null +++ b/src/main/java/com/sk89q/worldedit/masks/AbstractMask.java @@ -0,0 +1,11 @@ +package com.sk89q.worldedit.masks; + +import com.sk89q.worldedit.LocalPlayer; +import com.sk89q.worldedit.LocalSession; +import com.sk89q.worldedit.Vector; + +public abstract class AbstractMask implements Mask { + @Override + public void prepare(LocalSession session, LocalPlayer player, Vector target) { + } +} diff --git a/src/main/java/com/sk89q/worldedit/masks/BiomeTypeMask.java b/src/main/java/com/sk89q/worldedit/masks/BiomeTypeMask.java index d86ac3334..c7d36e92b 100644 --- a/src/main/java/com/sk89q/worldedit/masks/BiomeTypeMask.java +++ b/src/main/java/com/sk89q/worldedit/masks/BiomeTypeMask.java @@ -5,12 +5,10 @@ import java.util.Set; import com.sk89q.worldedit.BiomeType; import com.sk89q.worldedit.EditSession; -import com.sk89q.worldedit.LocalPlayer; -import com.sk89q.worldedit.LocalSession; import com.sk89q.worldedit.Vector; import com.sk89q.worldedit.Vector2D; -public class BiomeTypeMask implements Mask { +public class BiomeTypeMask extends AbstractMask { private final Set biomes; public BiomeTypeMask() { @@ -21,9 +19,6 @@ public class BiomeTypeMask implements Mask { this.biomes = biomes; } - public void prepare(LocalSession session, LocalPlayer player, Vector target) { - } - public boolean matches2D(EditSession editSession, Vector2D pos) { BiomeType biome = editSession.getWorld().getBiome(pos); return biomes.contains(biome); diff --git a/src/main/java/com/sk89q/worldedit/masks/BlockMask.java b/src/main/java/com/sk89q/worldedit/masks/BlockMask.java index 95bca93c2..e852a9990 100644 --- a/src/main/java/com/sk89q/worldedit/masks/BlockMask.java +++ b/src/main/java/com/sk89q/worldedit/masks/BlockMask.java @@ -5,12 +5,10 @@ import java.util.HashSet; import java.util.Set; import com.sk89q.worldedit.EditSession; -import com.sk89q.worldedit.LocalPlayer; -import com.sk89q.worldedit.LocalSession; import com.sk89q.worldedit.Vector; import com.sk89q.worldedit.blocks.BaseBlock; -public class BlockMask implements Mask { +public class BlockMask extends AbstractMask { private final Set blocks; public BlockMask() { @@ -34,9 +32,6 @@ public class BlockMask implements Mask { blocks.addAll(blocks); } - public void prepare(LocalSession session, LocalPlayer player, Vector target) { - } - @Override public boolean matches(EditSession editSession, Vector pos) { BaseBlock block = editSession.getBlock(pos); diff --git a/src/main/java/com/sk89q/worldedit/masks/CombinedMask.java b/src/main/java/com/sk89q/worldedit/masks/CombinedMask.java index 148557830..fb12c8246 100644 --- a/src/main/java/com/sk89q/worldedit/masks/CombinedMask.java +++ b/src/main/java/com/sk89q/worldedit/masks/CombinedMask.java @@ -26,7 +26,7 @@ import com.sk89q.worldedit.LocalPlayer; import com.sk89q.worldedit.LocalSession; import com.sk89q.worldedit.Vector; -public class CombinedMask implements Mask { +public class CombinedMask extends AbstractMask { private final List masks = new ArrayList(); public CombinedMask() { diff --git a/src/main/java/com/sk89q/worldedit/masks/ExistingBlockMask.java b/src/main/java/com/sk89q/worldedit/masks/ExistingBlockMask.java index d32de39fa..ea9e8f448 100644 --- a/src/main/java/com/sk89q/worldedit/masks/ExistingBlockMask.java +++ b/src/main/java/com/sk89q/worldedit/masks/ExistingBlockMask.java @@ -20,15 +20,10 @@ package com.sk89q.worldedit.masks; import com.sk89q.worldedit.EditSession; -import com.sk89q.worldedit.LocalPlayer; -import com.sk89q.worldedit.LocalSession; import com.sk89q.worldedit.Vector; import com.sk89q.worldedit.blocks.BlockID; -public class ExistingBlockMask implements Mask { - public void prepare(LocalSession session, LocalPlayer player, Vector target) { - } - +public class ExistingBlockMask extends AbstractMask { @Override public boolean matches(EditSession editSession, Vector pos) { return editSession.getBlockType(pos) != BlockID.AIR; diff --git a/src/main/java/com/sk89q/worldedit/masks/InvertedMask.java b/src/main/java/com/sk89q/worldedit/masks/InvertedMask.java index e58db6ed3..9ffc5213e 100644 --- a/src/main/java/com/sk89q/worldedit/masks/InvertedMask.java +++ b/src/main/java/com/sk89q/worldedit/masks/InvertedMask.java @@ -5,7 +5,7 @@ import com.sk89q.worldedit.LocalPlayer; import com.sk89q.worldedit.LocalSession; import com.sk89q.worldedit.Vector; -public class InvertedMask implements Mask { +public class InvertedMask extends AbstractMask { private final Mask mask; public InvertedMask(Mask mask) { diff --git a/src/main/java/com/sk89q/worldedit/masks/Mask.java b/src/main/java/com/sk89q/worldedit/masks/Mask.java index 277e61f94..d5a448736 100644 --- a/src/main/java/com/sk89q/worldedit/masks/Mask.java +++ b/src/main/java/com/sk89q/worldedit/masks/Mask.java @@ -26,7 +26,9 @@ import com.sk89q.worldedit.Vector; /** * Base matcher for the block filtering framework. Implementing classes - * can be used to filter blocks to set or replace + * can be used to filter blocks to set or replace. + *

+ * Do NOT implement this interface. Extend {@link AbstractMask} instead. * * @author sk89q */ diff --git a/src/main/java/com/sk89q/worldedit/masks/RandomMask.java b/src/main/java/com/sk89q/worldedit/masks/RandomMask.java index 3425c6035..65c71af47 100644 --- a/src/main/java/com/sk89q/worldedit/masks/RandomMask.java +++ b/src/main/java/com/sk89q/worldedit/masks/RandomMask.java @@ -1,21 +1,15 @@ package com.sk89q.worldedit.masks; import com.sk89q.worldedit.EditSession; -import com.sk89q.worldedit.LocalPlayer; -import com.sk89q.worldedit.LocalSession; import com.sk89q.worldedit.Vector; -public class RandomMask implements Mask { +public class RandomMask extends AbstractMask { private final double ratio; public RandomMask(double ratio) { this.ratio = ratio; } - @Override - public void prepare(LocalSession session, LocalPlayer player, Vector target) { - } - @Override public boolean matches(EditSession editSession, Vector pos) { return Math.random() < ratio; diff --git a/src/main/java/com/sk89q/worldedit/masks/RegionMask.java b/src/main/java/com/sk89q/worldedit/masks/RegionMask.java index f9260dc07..b734e7ae3 100644 --- a/src/main/java/com/sk89q/worldedit/masks/RegionMask.java +++ b/src/main/java/com/sk89q/worldedit/masks/RegionMask.java @@ -20,21 +20,16 @@ package com.sk89q.worldedit.masks; import com.sk89q.worldedit.EditSession; -import com.sk89q.worldedit.LocalPlayer; -import com.sk89q.worldedit.LocalSession; import com.sk89q.worldedit.Vector; import com.sk89q.worldedit.regions.Region; -public class RegionMask implements Mask { +public class RegionMask extends AbstractMask { private final Region region; public RegionMask(Region region) { this.region = region.clone(); } - public void prepare(LocalSession session, LocalPlayer player, Vector target) { - } - @Override public boolean matches(EditSession editSession, Vector pos) { return region.contains(pos); diff --git a/src/main/java/com/sk89q/worldedit/masks/UnderOverlayMask.java b/src/main/java/com/sk89q/worldedit/masks/UnderOverlayMask.java index c84bbf47e..7c77a75da 100644 --- a/src/main/java/com/sk89q/worldedit/masks/UnderOverlayMask.java +++ b/src/main/java/com/sk89q/worldedit/masks/UnderOverlayMask.java @@ -31,7 +31,7 @@ import com.sk89q.worldedit.blocks.BaseBlock; * * @author 1337 */ -public class UnderOverlayMask implements Mask { +public class UnderOverlayMask extends AbstractMask { private final int yMod; private Mask mask;