public interface ImmutableBlockVolume extends UnmodifiableBlockVolume
BlockVolume
Modifier and Type | Method and Description |
---|---|
ImmutableBlockVolume |
getBlockView(DiscreteTransform3 transform)
Returns a new volume that is viewed through some transformation.
|
ImmutableBlockVolume |
getBlockView(com.flowpowered.math.vector.Vector3i newMin,
com.flowpowered.math.vector.Vector3i newMax)
Returns a new volume that is the same or smaller than the current volume.
|
BlockVolumeWorker<? extends ImmutableBlockVolume> |
getBlockWorker()
Gets a new block worker for this block volume.
|
default ImmutableBlockVolume |
getImmutableBlockCopy()
Returns an immutable copy of the blocks stored in this volume.
|
default ImmutableBlockVolume |
getRelativeBlockView()
Returns a new volume that is translated so that
BlockVolume.getBlockMin() returns Vector3i.ZERO . |
getUnmodifiableBlockView
containsBlock, containsBlock, getBlock, getBlock, getBlockCopy, getBlockCopy, getBlockMax, getBlockMin, getBlockSize, getBlockType, getBlockType
ImmutableBlockVolume getBlockView(com.flowpowered.math.vector.Vector3i newMin, com.flowpowered.math.vector.Vector3i newMax)
getBlockView
in interface BlockVolume
getBlockView
in interface UnmodifiableBlockVolume
newMin
- The new minimum coordinates in this volumenewMax
- The new maximum coordinates in this volumePositionOutOfBoundsException
- If the new minimum and maximum are
outside the current volumeImmutableBlockVolume getBlockView(DiscreteTransform3 transform)
getBlockView
in interface BlockVolume
getBlockView
in interface UnmodifiableBlockVolume
transform
- The transformation to be applieddefault ImmutableBlockVolume getRelativeBlockView()
BlockVolume.getBlockMin()
returns Vector3i.ZERO
. This
does not copy the blocks, it only provides a new view of the storage.getRelativeBlockView
in interface BlockVolume
getRelativeBlockView
in interface UnmodifiableBlockVolume
default ImmutableBlockVolume getImmutableBlockCopy()
BlockVolume
getImmutableBlockCopy
in interface BlockVolume
BlockVolumeWorker<? extends ImmutableBlockVolume> getBlockWorker()
BlockVolume
getBlockWorker
in interface BlockVolume
getBlockWorker
in interface UnmodifiableBlockVolume