From b941e21d4d31205374a88843b69b4e0f8c343be4 Mon Sep 17 00:00:00 2001 From: sk89q Date: Sat, 5 Apr 2014 21:49:03 -0700 Subject: [PATCH] Added NullExtent that drops changes. --- .../sk89q/worldedit/extent/NullExtent.java | 68 +++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 src/main/java/com/sk89q/worldedit/extent/NullExtent.java diff --git a/src/main/java/com/sk89q/worldedit/extent/NullExtent.java b/src/main/java/com/sk89q/worldedit/extent/NullExtent.java new file mode 100644 index 000000000..f291bc2f2 --- /dev/null +++ b/src/main/java/com/sk89q/worldedit/extent/NullExtent.java @@ -0,0 +1,68 @@ +/* + * WorldEdit, a Minecraft world manipulation toolkit + * Copyright (C) sk89q + * Copyright (C) WorldEdit team and contributors + * + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU Lesser General Public License as published by the + * Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License + * for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this program. If not, see . + */ + +package com.sk89q.worldedit.extent; + +import com.sk89q.worldedit.Vector; +import com.sk89q.worldedit.WorldEditException; +import com.sk89q.worldedit.blocks.BaseBlock; +import com.sk89q.worldedit.function.operation.Operation; + +import javax.annotation.Nullable; + +/** + * An extent that returns air blocks for all blocks and does not + * pass on any changes. + */ +public class NullExtent implements Extent { + + private final Vector nullPoint = new Vector(0, 0, 0); + + @Override + public Vector getMinimumPoint() { + return nullPoint; + } + + @Override + public Vector getMaximumPoint() { + return nullPoint; + } + + @Override + public BaseBlock getBlock(Vector position) { + return new BaseBlock(0); + } + + @Override + public BaseBlock getLazyBlock(Vector position) { + return new BaseBlock(0); + } + + @Override + public boolean setBlock(Vector position, BaseBlock block) throws WorldEditException { + return false; + } + + @Nullable + @Override + public Operation commit() { + return null; + } + +}