public class ExtentBuffer extends AbstractBufferingExtent
Extent
and allows retrieval of the changed blocks,
without modifying the underlying extent.Constructor and Description |
---|
ExtentBuffer(Extent delegate)
Create a new extent buffer that will buffer every change.
|
ExtentBuffer(Extent delegate,
Mask mask)
Create a new extent buffer that will buffer changes that meet the criteria
of the given mask.
|
Modifier and Type | Method and Description |
---|---|
protected BaseBlock |
getBufferedFullBlock(BlockVector3 position)
Gets a block from the buffer, or null if not buffered.
|
<T extends BlockStateHolder<T>> |
setBlock(BlockVector3 location,
T block)
Change the block at the given location to the given block.
|
getBlock, getBufferedBlock, getFullBlock, setDelegateBlock
commit, commitBefore, createEntity, fullySupports3DBiomes, getBiome, getEntities, getEntities, getExtent, getMaximumPoint, getMinimumPoint, setBiome
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getBiome
setBiome
public ExtentBuffer(Extent delegate)
delegate
- the delegate extent for InputExtent.getBlock(BlockVector3)
, etc. callspublic ExtentBuffer(Extent delegate, Mask mask)
delegate
- the delegate extent for InputExtent.getBlock(BlockVector3)
, etc. callsmask
- the maskprotected BaseBlock getBufferedFullBlock(BlockVector3 position)
AbstractBufferingExtent
getBufferedFullBlock
in class AbstractBufferingExtent
position
- The positionpublic <T extends BlockStateHolder<T>> boolean setBlock(BlockVector3 location, T block) throws WorldEditException
OutputExtent
BlockStateHolder
to the world, so future changes to the
BlockStateHolder
do not affect the world until this method is called again.
The return value of this method indicates whether the change was probably successful. It may not be successful if, for example, the location is out of the bounds of the extent. It may be unsuccessful if the block passed is the same as the one in the world. However, the return value is only an estimation and it may be incorrect, but it could be used to count, for example, the approximate number of changes.
setBlock
in interface OutputExtent
setBlock
in class AbstractBufferingExtent
location
- position of the blockblock
- block to setWorldEditException
- thrown on an error