Plex-FAWE/worldedit-core/src/main/java/com/boydti/fawe/object/extent/SelectTransform.java

57 lines
1.9 KiB
Java
Raw Normal View History

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;
2018-12-23 16:19:33 +00:00
import com.sk89q.worldedit.math.BlockVector2;
import com.sk89q.worldedit.math.BlockVector3;
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) {
return getExtent(pos.getBlockX(), pos.getBlockY(), pos.getBlockZ());
}
2018-12-23 16:19:33 +00:00
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
2018-12-23 16:19:33 +00:00
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
2018-12-23 16:19:33 +00:00
public boolean setBiome(BlockVector2 position, BaseBiome biome) {
return getExtent(position).setBiome(position, biome);
}
}