Plex-FAWE/worldedit-core/src/main/java/com/boydti/fawe/object/extent/SelectTransform.java
2019-04-03 16:53:58 +11:00

57 lines
1.9 KiB
Java

package com.boydti.fawe.object.extent;
import com.sk89q.worldedit.WorldEditException;
import com.sk89q.worldedit.world.block.BlockState;
import com.sk89q.worldedit.entity.BaseEntity;
import com.sk89q.worldedit.entity.Entity;
import com.sk89q.worldedit.extent.AbstractDelegateExtent;
import com.sk89q.worldedit.extent.Extent;
import com.sk89q.worldedit.extent.NullExtent;
import com.sk89q.worldedit.math.BlockVector2;
import com.sk89q.worldedit.math.BlockVector3;
import com.sk89q.worldedit.util.Location;
import com.sk89q.worldedit.world.biome.BiomeType;
import com.sk89q.worldedit.world.block.BlockStateHolder;
import javax.annotation.Nullable;
public abstract class SelectTransform extends ResettableExtent {
public SelectTransform() {
super(new NullExtent());
}
public abstract AbstractDelegateExtent getExtent(int x, int y, int z);
public abstract AbstractDelegateExtent getExtent(int x, int z);
public Extent getExtent(BlockVector3 pos) {
return getExtent(pos.getBlockX(), pos.getBlockY(), pos.getBlockZ());
}
public Extent getExtent(BlockVector2 pos) {
return getExtent(pos.getBlockX(), pos.getBlockZ());
}
@Override
public boolean setBlock(int x, int y, int z, BlockStateHolder block) throws WorldEditException {
return getExtent(x, y, z).setBlock(x, y, z, block);
}
@Override
public boolean setBlock(BlockVector3 position, BlockStateHolder block) throws WorldEditException {
return getExtent(position).setBlock(position, block);
}
@Nullable
@Override
public Entity createEntity(Location position, BaseEntity entity) {
return getExtent(position.getBlockX(), position.getBlockY(), position.getBlockZ()).createEntity(position, entity);
}
@Override
public boolean setBiome(BlockVector2 position, BiomeType biome) {
return getExtent(position).setBiome(position, biome);
}
}