/* * 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.WorldEditException; import com.sk89q.worldedit.entity.BaseEntity; import com.sk89q.worldedit.entity.Entity; import com.sk89q.worldedit.function.operation.Operation; import com.sk89q.worldedit.math.BlockVector2; import com.sk89q.worldedit.math.BlockVector3; import com.sk89q.worldedit.regions.Region; import com.sk89q.worldedit.util.Location; import com.sk89q.worldedit.world.biome.BiomeType; import com.sk89q.worldedit.world.biome.BiomeTypes; import com.sk89q.worldedit.world.block.BaseBlock; import com.sk89q.worldedit.world.block.BlockState; import com.sk89q.worldedit.world.block.BlockStateHolder; import com.sk89q.worldedit.world.block.BlockTypes; import java.util.Collections; import java.util.List; 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 { @Override public BlockVector3 getMinimumPoint() { return BlockVector3.ZERO; } @Override public BlockVector3 getMaximumPoint() { return BlockVector3.ZERO; } @Override public List getEntities(Region region) { return Collections.emptyList(); } @Override public List getEntities() { return Collections.emptyList(); } @Nullable @Override public Entity createEntity(Location location, BaseEntity entity) { return null; } @Override public BlockState getBlock(BlockVector3 position) { return BlockTypes.AIR.getDefaultState(); } @Override public BaseBlock getFullBlock(BlockVector3 position) { return getBlock(position).toBaseBlock(); } @Override public BiomeType getBiome(BlockVector2 position) { return BiomeTypes.THE_VOID; } @Override public > boolean setBlock(BlockVector3 position, B block) throws WorldEditException { return false; } @Override public boolean setBiome(BlockVector2 position, BiomeType biome) { return false; } @Nullable @Override public Operation commit() { return null; } }