BlockSelection

public class BlockSelection implements NetworkSerializable, MetricProvider

Class BlockSelection. Provides blockselection functionality for the Hytale server.

java.lang.Object > BlockSelection

Field Summary

x

private int x

Field x.

y

private int y

Field y.

z

private int z

Field z.

anchorX

private int anchorX

Field anchorX.

anchorY

private int anchorY

Field anchorY.

anchorZ

private int anchorZ

Field anchorZ.

prefabId

private int prefabId

Field prefabId.

min

private Vector3i min

Field min.

max

private Vector3i max

Field max.

xLength

final int xLength

Field xLength.

yLength

final int yLength

Field yLength.

zLength

final int zLength

Field zLength.

blockX

final int blockX

Field blockX.

blockY

final int blockY

Field blockY.

blockZ

final int blockZ

Field blockZ.

blockId

final int blockId

Field blockId.

packed

final long packed

Field packed.

value

final BlockHolder value

Field value.

x1

final int x1

Field x1.

y1

final int y1

Field y1.

z1

final int z1

Field z1.

blockHolder

final BlockHolder blockHolder

Field blockHolder.

fluidStore

final FluidHolder fluidStore

Field fluidStore.

holder

final Holder holder

Field holder.

block

final BlockHolder block

Field block.

blockType

final BlockType blockType

Field blockType.

state

final StateData state

Field state.

position

final Vector3i position

Field position.

blockState

final BlockState blockState

Field blockState.

registry

final ComponentRegistry registry

Field registry.

data

final ComponentRegistry.Data data

Field data.

systemIndexes

final BitSet systemIndexes

Field systemIndexes.

o

final Object o

Field o.

system

final BlockModule.MigrationSystem system

Field system.

o2

final Object o2

Field o2.

system2

final BlockModule.MigrationSystem system2

Field system2.

transformComponent

final TransformComponent transformComponent

Field transformComponent.

dirtyChunks

final LongSet dirtyChunks

Field dirtyChunks.

totalBlocks

final int totalBlocks

Field totalBlocks.

counter

final AtomicInteger counter

Field counter.

newBlockId

final int newBlockId

Field newBlockId.

oldBlockId

final int oldBlockId

Field oldBlockId.

blockChunk

final BlockChunk blockChunk

Field blockChunk.

newBlockType

final BlockType newBlockType

Field newBlockType.

height

final short height

Field height.

sectionY

final int sectionY

Field sectionY.

store

final Store store

Field store.

column

final ChunkColumn column

Field column.

section

final Ref section

Field section.

fluidSection

final FluidSection fluidSection

Field fluidSection.

ref

final Ref ref

Field ref.

before

final BlockSelection before

Field before.

chunkStore

final Store chunkStore

Field chunkStore.

chunkColumn

final ChunkColumn chunkColumn

Field chunkColumn.

blockSection

final BlockSection blockSection

Field blockSection.

supportValue

final int supportValue

Field supportValue.

filler

final int filler

Field filler.

rotation

final int rotation

Field rotation.

oldFluidId

final int oldFluidId

Field oldFluidId.

oldFluidLevel

final byte oldFluidLevel

Field oldFluidLevel.

entity

final Ref entity

Field entity.

prefabPlaceEntityEvent

final PrefabPlaceEntityEvent prefabPlaceEntityEvent

Field prefabPlaceEntityEvent.

entityRef

final Ref entityRef

Field entityRef.

selection

final BlockSelection selection

Field selection.

mutable

final Vector3i mutable

Field mutable.

blockRotation

final RotationTuple blockRotation

Field blockRotation.

rotationTuple

final RotationTuple rotationTuple

Field rotationTuple.

rotatedFiller

final int rotatedFiller

Field rotatedFiller.

copy

final Holder copy

Field copy.

headRotationComponent

final HeadRotation headRotationComponent

Field headRotationComponent.

finalOriginOfRotation

final Vector3f finalOriginOfRotation

Field finalOriginOfRotation.

pitchRad

final double pitchRad

Field pitchRad.

yawRad

final double yawRad

Field yawRad.

rollRad

final double rollRad

Field rollRad.

inverse

final Matrix4d inverse

Field inverse.

tempVec

final Vector3d tempVec

Field tempVec.

bx

final int bx

Field bx.

by

final int by

Field by.

bz

final int bz

Field bz.

array

final int[][] array

Field array.

corners

final int[][] corners

Field corners.

rx

final int rx

Field rx.

ry

final int ry

Field ry.

rz

final int rz

Field rz.

selection2

final BlockSelection selection2

Field selection2.

snappedYaw

final Rotation snappedYaw

Field snappedYaw.

snappedPitch

final Rotation snappedPitch

Field snappedPitch.

snappedRoll

final Rotation snappedRoll

Field snappedRoll.

sx

final int sx

Field sx.

sy

final int sy

Field sy.

sz

final int sz

Field sz.

packedSource

final long packedSource

Field packedSource.

fillerX

final int fillerX

Field fillerX.

fillerY

final int fillerY

Field fillerY.

fillerZ

final int fillerZ

Field fillerZ.

fluid

final FluidHolder fluid

Field fluid.

yawRadF

final float yawRadF

Field yawRadF.

pitchRadF

final float pitchRadF

Field pitchRadF.

rollRadF

final float rollRadF

Field rollRadF.

headRotationComp

final HeadRotation headRotationComp

Field headRotationComp.

bodyRotation

final Vector3f bodyRotation

Field bodyRotation.

headRot

final Vector3f headRot

Field headRot.

variantRotation

final VariantRotation variantRotation

Field variantRotation.

headRotation

final Vector3f headRotation

Field headRotation.

packet

final EditorBlocksChange packet

Field packet.

blockCount

final int blockCount

Field blockCount.

blockList

final List blockList

Field blockList.

fluidList

final List fluidList

Field fluidList.

it

final LongIterator it

Field it.

id

final String id

Field id.

baseBlockHolder

final BlockHolder baseBlockHolder

Field baseBlockHolder.

baseBlock

final BlockType baseBlock

Field baseBlock.

baseId

final String baseId

Field baseId.

hitbox

final BlockBoundingBoxes hitbox

Field hitbox.

hitbox2

final BlockBoundingBoxes hitbox2

Field hitbox2.

worldX

final int worldX

Field worldX.

worldY

final int worldY

Field worldY.

worldZ

final int worldZ

Field worldZ.

fillerBlockHolder

final BlockHolder fillerBlockHolder

Field fillerBlockHolder.

fillerBlock

final BlockType fillerBlock

Field fillerBlock.

holder2

final Holder holder2

Field holder2.

Method Detail

BlockSelection

public public BlockSelection ()

Method BlockSelection.

IllegalArgumentException

public new IllegalArgumentException ("Cannot duplicate a BlockSelection with this method! Use clone()

Method IllegalArgumentException.

Parameters:
"Cannot duplicate a BlockSelection with this method! Use clone(

getX

public int getX ()

Method getX.

getY

public int getY ()

Method getY.

getZ

public int getZ ()

Method getZ.

getAnchorX

public int getAnchorX ()

Method getAnchorX.

getAnchorY

public int getAnchorY ()

Method getAnchorY.

getAnchorZ

public int getAnchorZ ()

Method getAnchorZ.

getSelectionMin

public Vector3i getSelectionMin ()

Method getSelectionMin.

getSelectionMax

public Vector3i getSelectionMax ()

Method getSelectionMax.

hasSelectionBounds

public boolean hasSelectionBounds ()

Method hasSelectionBounds.

getBlockCount

public int getBlockCount ()

Method getBlockCount.

getFluidCount

public int getFluidCount ()

Method getFluidCount.

getSelectionVolume

public int getSelectionVolume ()

Method getSelectionVolume.

getEntityCount

public int getEntityCount ()

Method getEntityCount.

setPosition

public void setPosition (final int x, final int y, final int z)

Method setPosition.

Parameters:
final int x
final int y
final int z

setAnchorAtWorldPos

public void setAnchorAtWorldPos (final int anchorX, final int anchorY, final int anchorZ)

Method setAnchorAtWorldPos.

Parameters:
final int anchorX
final int anchorY
final int anchorZ

setAnchor

public void setAnchor (final int anchorX, final int anchorY, final int anchorZ)

Method setAnchor.

Parameters:
final int anchorX
final int anchorY
final int anchorZ

setSelectionArea

public void setSelectionArea (@Nonnull final Vector3i min, @Nonnull final Vector3i max)

Method setSelectionArea.

Parameters:
@Nonnull final Vector3i min
@Nonnull final Vector3i max

setPrefabId

public void setPrefabId (final int id)

Method setPrefabId.

Parameters:
final int id

copyPropertiesFrom

public void copyPropertiesFrom (@Nonnull final BlockSelection other)

Method copyPropertiesFrom.

Parameters:
@Nonnull final BlockSelection other

canPlace

public boolean canPlace (@Nonnull final World world, @Nonnull final Vector3i position, @Nullable final IntList mask)

Method canPlace.

Parameters:
@Nonnull final World world
@Nonnull final Vector3i position
@Nullable final IntList mask

matches

public boolean matches (@Nonnull final World world, @Nonnull final Vector3i position)

Method matches.

Parameters:
@Nonnull final World world
@Nonnull final Vector3i position

compare

public boolean compare (@Nonnull final BlockComparingIterator iterator)

Method compare.

Parameters:
@Nonnull final BlockComparingIterator iterator

hasBlockAtWorldPos

public boolean hasBlockAtWorldPos (final int x, final int y, final int z)

Method hasBlockAtWorldPos.

Parameters:
final int x
final int y
final int z

hasBlockAtLocalPos

public boolean hasBlockAtLocalPos (final int x, final int y, final int z)

Method hasBlockAtLocalPos.

Parameters:
final int x
final int y
final int z

getBlockAtWorldPos

public int getBlockAtWorldPos (final int x, final int y, final int z)

Method getBlockAtWorldPos.

Parameters:
final int x
final int y
final int z

getBlockAtLocalPos

private int getBlockAtLocalPos (final int x, final int y, final int z)

Method getBlockAtLocalPos.

Parameters:
final int x
final int y
final int z

getBlockHolderAtWorldPos

public BlockHolder getBlockHolderAtWorldPos (final int x, final int y, final int z)

Method getBlockHolderAtWorldPos.

Parameters:
final int x
final int y
final int z

getBlockHolderAtLocalPos

private BlockHolder getBlockHolderAtLocalPos (final int x, final int y, final int z)

Method getBlockHolderAtLocalPos.

Parameters:
final int x
final int y
final int z

getFluidAtWorldPos

public int getFluidAtWorldPos (final int x, final int y, final int z)

Method getFluidAtWorldPos.

Parameters:
final int x
final int y
final int z

getFluidAtLocalPos

private int getFluidAtLocalPos (final int x, final int y, final int z)

Method getFluidAtLocalPos.

Parameters:
final int x
final int y
final int z

getFluidLevelAtWorldPos

public byte getFluidLevelAtWorldPos (final int x, final int y, final int z)

Method getFluidLevelAtWorldPos.

Parameters:
final int x
final int y
final int z

getFluidLevelAtLocalPos

private byte getFluidLevelAtLocalPos (final int x, final int y, final int z)

Method getFluidLevelAtLocalPos.

Parameters:
final int x
final int y
final int z

getSupportValueAtWorldPos

public int getSupportValueAtWorldPos (final int x, final int y, final int z)

Method getSupportValueAtWorldPos.

Parameters:
final int x
final int y
final int z

getSupportValueAtLocalPos

private int getSupportValueAtLocalPos (final int x, final int y, final int z)

Method getSupportValueAtLocalPos.

Parameters:
final int x
final int y
final int z

getStateAtWorldPos

public Holder getStateAtWorldPos (final int x, final int y, final int z)

Method getStateAtWorldPos.

Parameters:
final int x
final int y
final int z

getStateAtLocalPos

private Holder getStateAtLocalPos (final int x, final int y, final int z)

Method getStateAtLocalPos.

Parameters:
final int x
final int y
final int z

forEachBlock

public void forEachBlock (@Nonnull final BlockIterator iterator)

Method forEachBlock.

Parameters:
@Nonnull final BlockIterator iterator

forEachFluid

public void forEachFluid (@Nonnull final FluidIterator iterator)

Method forEachFluid.

Parameters:
@Nonnull final FluidIterator iterator

forEachEntity

public void forEachEntity (final Consumer> consumer)

Method forEachEntity.

Parameters:
final Consumer> consumer

copyFromAtWorld

public void copyFromAtWorld (final int x, final int y, final int z, @Nonnull final WorldChunk other, @Nullable final BlockPhysics blockPhysics)

Method copyFromAtWorld.

Parameters:
final int x
final int y
final int z
@Nonnull final WorldChunk other
@Nullable final BlockPhysics blockPhysics

addEmptyAtWorldPos

public void addEmptyAtWorldPos (final int x, final int y, final int z)

Method addEmptyAtWorldPos.

Parameters:
final int x
final int y
final int z

addBlockAtWorldPos

public void addBlockAtWorldPos (final int x, final int y, final int z, final int block, final int rotation, final int filler, final int supportValue)

Method addBlockAtWorldPos.

Parameters:
final int x
final int y
final int z
final int block
final int rotation
final int filler
final int supportValue

addBlockAtLocalPos

public void addBlockAtLocalPos (final int x, final int y, final int z, final int block, final int rotation, final int filler, final int supportValue)

Method addBlockAtLocalPos.

Parameters:
final int x
final int y
final int z
final int block
final int rotation
final int filler
final int supportValue

addBlock0

private void addBlock0 (final int x, final int y, final int z, final int block, final int rotation, final int filler, final int supportValue, final Holder state)

Method addBlock0.

Parameters:
final int x
final int y
final int z
final int block
final int rotation
final int filler
final int supportValue
final Holder state

BlockHolder

public new BlockHolder (block, rotation, filler, supportValue, state)

Method BlockHolder.

Parameters:
block block
rotation rotation
filler filler
supportValue supportValue
state state

addFluidAtWorldPos

public void addFluidAtWorldPos (final int x, final int y, final int z, final int fluidId, final byte fluidLevel)

Method addFluidAtWorldPos.

Parameters:
final int x
final int y
final int z
final int fluidId
final byte fluidLevel

addFluidAtLocalPos

public void addFluidAtLocalPos (final int x, final int y, final int z, final int fluidId, final byte fluidLevel)

Method addFluidAtLocalPos.

Parameters:
final int x
final int y
final int z
final int fluidId
final byte fluidLevel

addFluid0

private void addFluid0 (final int x, final int y, final int z, final int fluidId, final byte fluidLevel)

Method addFluid0.

Parameters:
final int x
final int y
final int z
final int fluidId
final byte fluidLevel

FluidHolder

public new FluidHolder (fluidId, fluidLevel)

Method FluidHolder.

Parameters:
fluidId fluidId
fluidLevel fluidLevel

addEntity0

private void addEntity0 (final Holder holder)

Method addEntity0.

Parameters:
final Holder holder

reserializeBlockStates

public void reserializeBlockStates (final ChunkStore store, final boolean destructive)

Method reserializeBlockStates.

Parameters:
final ChunkStore store
final boolean destructive

Vector3i

public new Vector3i (BlockUtil.unpackX(k)

Method Vector3i.

Parameters:
BlockUtil.unpackX(k BlockUtil.unpackX(k

BsonDocument

public new BsonDocument ()

Method BsonDocument.

RuntimeException

public new RuntimeException ("Failed to read block state: " + String.valueOf(b)

Method RuntimeException.

Parameters:
"Failed to read block state: " + String.valueOf(b

addEntityFromWorld

public void addEntityFromWorld (@Nonnull final Holder entityHolder)

Method addEntityFromWorld.

Parameters:
@Nonnull final Holder entityHolder

addEntityHolderRaw

public void addEntityHolderRaw (final Holder entityHolder)

Method addEntityHolderRaw.

Parameters:
final Holder entityHolder

placeNoReturn

public void placeNoReturn (@Nonnull final World world, final Vector3i position, final ComponentAccessor componentAccessor)

Method placeNoReturn.

Parameters:
@Nonnull final World world
final Vector3i position
final ComponentAccessor componentAccessor

placeBlockNoReturn

private void placeBlockNoReturn (final String feedbackKey, final CommandSender feedback, @Nonnull final FeedbackConsumer feedbackConsumer, @Nonnull final World outerWorld, @Nullable final BlockMask blockMask, @Nonnull final LongSet dirtyChunks, @Nonnull final BlockTypeAssetMap assetMap, final int totalBlocks, final int counter, final long chunkIndex, @Nonnull final WorldChunk chunk, final int blockX, final int blockY, final int blockZ, final int newBlockId, final int newRotation, final int newFiller, final Holder holder, final ComponentAccessor componentAccessor)

Method placeBlockNoReturn.

Parameters:
final String feedbackKey
final CommandSender feedback
@Nonnull final FeedbackConsumer feedbackConsumer
@Nonnull final World outerWorld
@Nullable final BlockMask blockMask
@Nonnull final LongSet dirtyChunks
@Nonnull final BlockTypeAssetMap assetMap
final int totalBlocks
final int counter
final long chunkIndex
@Nonnull final WorldChunk chunk
final int blockX
final int blockY
final int blockZ
final int newBlockId
final int newRotation
final int newFiller
final Holder holder
final ComponentAccessor componentAccessor

if

public else if (height < blockY && newBlockId != 0 && newBlockType != null && newBlockType.getOpacity()

Method if.

Parameters:
height < blockY && newBlockId != 0 && newBlockType != null && newBlockType.getOpacity(

placeFluidNoReturn

private void placeFluidNoReturn (final String feedbackKey, final CommandSender feedback, @Nonnull final FeedbackConsumer feedbackConsumer, @Nonnull final World outerWorld, final BlockMask blockMask, @Nonnull final LongSet dirtyChunks, final BlockTypeAssetMap assetMap, final int totalBlocks, final int counter, final long chunkIndex, @Nonnull final WorldChunk chunk, final int blockX, final int blockY, final int blockZ, final int newFluidId, final byte newFluidLevel, final ComponentAccessor componentAccessor)

Method placeFluidNoReturn.

Parameters:
final String feedbackKey
final CommandSender feedback
@Nonnull final FeedbackConsumer feedbackConsumer
@Nonnull final World outerWorld
final BlockMask blockMask
@Nonnull final LongSet dirtyChunks
final BlockTypeAssetMap assetMap
final int totalBlocks
final int counter
final long chunkIndex
@Nonnull final WorldChunk chunk
final int blockX
final int blockY
final int blockZ
final int newFluidId
final byte newFluidLevel
final ComponentAccessor componentAccessor

clearFluidAtPosition

private void clearFluidAtPosition (@Nonnull final World world, @Nonnull final WorldChunk chunk, final int blockX, final int blockY, final int blockZ)

Method clearFluidAtPosition.

Parameters:
@Nonnull final World world
@Nonnull final WorldChunk chunk
final int blockX
final int blockY
final int blockZ

place

public BlockSelection place (final CommandSender feedback, @Nonnull final World outerWorld)

Method place.

Parameters:
final CommandSender feedback
@Nonnull final World outerWorld

placeBlock

private void placeBlock (final CommandSender feedback, @Nonnull final World outerWorld, @Nullable final BlockMask blockMask, @Nonnull final BlockSelection before, @Nonnull final LongSet dirtyChunks, @Nonnull final BlockTypeAssetMap assetMap, final long chunkIndex, @Nonnull final WorldChunk chunk, final int blockX, final int blockY, final int blockZ, final int localX, final int localY, final int localZ, final int newBlockId, final int newRotation, final int newFiller, final Holder holder, final int newSupportValue)

Method placeBlock.

Parameters:
final CommandSender feedback
@Nonnull final World outerWorld
@Nullable final BlockMask blockMask
@Nonnull final BlockSelection before
@Nonnull final LongSet dirtyChunks
@Nonnull final BlockTypeAssetMap assetMap
final long chunkIndex
@Nonnull final WorldChunk chunk
final int blockX
final int blockY
final int blockZ
final int localX
final int localY
final int localZ
final int newBlockId
final int newRotation
final int newFiller
final Holder holder
final int newSupportValue

placeFluid

private void placeFluid (final CommandSender feedback, @Nonnull final World outerWorld, @Nonnull final BlockSelection before, @Nonnull final LongSet dirtyChunks, final IndexedLookupTableAssetMap assetMap, final long chunkIndex, @Nonnull final WorldChunk chunk, final int blockX, final int blockY, final int blockZ, final int localX, final int localY, final int localZ, final int newFluidId, final byte newFluidLevel)

Method placeFluid.

Parameters:
final CommandSender feedback
@Nonnull final World outerWorld
@Nonnull final BlockSelection before
@Nonnull final LongSet dirtyChunks
final IndexedLookupTableAssetMap assetMap
final long chunkIndex
@Nonnull final WorldChunk chunk
final int blockX
final int blockY
final int blockZ
final int localX
final int localY
final int localZ
final int newFluidId
final byte newFluidLevel

placeEntities

private void placeEntities (@Nonnull final World world, @Nonnull final Vector3i pos)

Method placeEntities.

Parameters:
@Nonnull final World world
@Nonnull final Vector3i pos

placeEntity

private Ref placeEntity (@Nonnull final World world, @Nonnull final Holder entityHolder, @Nonnull final Vector3i pos, final int prefabId)

Method placeEntity.

Parameters:
@Nonnull final World world
@Nonnull final Holder entityHolder
@Nonnull final Vector3i pos
final int prefabId

rotate

public BlockSelection rotate (@Nonnull final Axis axis, final int angle)

Method rotate.

Parameters:
@Nonnull final Axis axis
final int angle

rotateArbitrary

public BlockSelection rotateArbitrary (final float yawDegrees, final float pitchDegrees, final float rollDegrees)

Method rotateArbitrary.

Parameters:
final float yawDegrees
final float pitchDegrees
final float rollDegrees

flip

public BlockSelection flip (@Nonnull final Axis axis)

Method flip.

Parameters:
@Nonnull final Axis axis

relativize

public BlockSelection relativize ()

Method relativize.

cloneSelection

public BlockSelection cloneSelection ()

Method cloneSelection.

add

public void add (@Nonnull final BlockSelection other)

Method add.

Parameters:
@Nonnull final BlockSelection other

toMetricResults

public MetricResults toMetricResults ()

Method toMetricResults.

toPacket

public EditorBlocksChange toPacket ()

Method toPacket.

BlockChange

public new BlockChange (x1 - this.anchorX, y1 - this.anchorY, z1 - this.anchorZ, block.blockId, (byte)

Method BlockChange.

Parameters:
x1 - this.anchorX
y1 - this.anchorY
z1 - this.anchorZ
block.blockId block.blockId
(byte (byte

FluidChange

public new FluidChange (x1 - this.anchorX, y1 - this.anchorY, z1 - this.anchorZ, fluidId, fluidLevel)

Method FluidChange.

Parameters:
x1 - this.anchorX
y1 - this.anchorY
z1 - this.anchorZ
fluidId fluidId
fluidLevel fluidLevel

toSelectionPacket

public EditorBlocksChange toSelectionPacket ()

Method toSelectionPacket.

toPacketWithSelection

public EditorBlocksChange toPacketWithSelection ()

Method toPacketWithSelection.

tryFixFiller

public void tryFixFiller (final boolean allowDestructive)

Method tryFixFiller.

Parameters:
final boolean allowDestructive

reserializeEntities

public void reserializeEntities (@Nonnull final Store store, final boolean destructive)

Method reserializeEntities.

Parameters:
@Nonnull final Store store
final boolean destructive

toString

public String toString ()

Method toString.

cloneBlockHolder

public BlockHolder cloneBlockHolder ()

Method cloneBlockHolder.