2018-08-12 14:03:07 +00:00
|
|
|
package com.boydti.fawe.object.extent;
|
|
|
|
|
|
|
|
import com.sk89q.worldedit.WorldEditException;
|
2018-08-10 10:29:06 +00:00
|
|
|
|
2018-08-12 14:03:07 +00:00
|
|
|
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;
|
2018-12-23 16:19:33 +00:00
|
|
|
import com.sk89q.worldedit.math.BlockVector2;
|
|
|
|
import com.sk89q.worldedit.math.BlockVector3;
|
2018-08-12 14:03:07 +00:00
|
|
|
import com.sk89q.worldedit.util.Location;
|
|
|
|
import com.sk89q.worldedit.world.biome.BaseBiome;
|
|
|
|
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);
|
|
|
|
|
2018-12-23 16:19:33 +00:00
|
|
|
public Extent getExtent(BlockVector3 pos) {
|
2018-08-12 14:03:07 +00:00
|
|
|
return getExtent(pos.getBlockX(), pos.getBlockY(), pos.getBlockZ());
|
|
|
|
}
|
|
|
|
|
2018-12-23 16:19:33 +00:00
|
|
|
public Extent getExtent(BlockVector2 pos) {
|
2018-08-12 14:03:07 +00:00
|
|
|
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
|
2018-12-23 16:19:33 +00:00
|
|
|
public boolean setBlock(BlockVector3 position, BlockStateHolder block) throws WorldEditException {
|
2018-08-12 14:03:07 +00:00
|
|
|
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
|
2018-12-23 16:19:33 +00:00
|
|
|
public boolean setBiome(BlockVector2 position, BaseBiome biome) {
|
2018-08-12 14:03:07 +00:00
|
|
|
return getExtent(position).setBiome(position, biome);
|
|
|
|
}
|
|
|
|
}
|