FloodFillPositionSelector

public class FloodFillPositionSelector implements Component

Class FloodFillPositionSelector. Provides floodfillpositionselector functionality for the Hytale server.

java.lang.Object > FloodFillPositionSelector

Field Summary

chunkAccessor

private ChunkAccessor chunkAccessor

Field chunkAccessor.

minY

private int minY

Field minY.

maxY

private int maxY

Field maxY.

desiredPositionCount

private int desiredPositionCount

Field desiredPositionCount.

chunk

private WorldChunk chunk

Field chunk.

hasRun

private boolean hasRun

Field hasRun.

debug

private Debug debug

Field debug.

irregularCase

private boolean irregularCase

Field irregularCase.

failedPositionTestIndexes

private IntSet failedPositionTestIndexes

Field failedPositionTestIndexes.

calculatePositionsAfter

private double calculatePositionsAfter

Field calculatePositionsAfter.

baseSize

final int baseSize

Field baseSize.

roleSpawnParameters

final RoleSpawnParameters[] roleSpawnParameters

Field roleSpawnParameters.

roleIndex

final int roleIndex

Field roleIndex.

positions

final ObjectArrayList positions

Field positions.

minDistanceFromPlayerSquared

final double minDistanceFromPlayerSquared

Field minDistanceFromPlayerSquared.

targetDistanceFromPlayerSquared

final double targetDistanceFromPlayerSquared

Field targetDistanceFromPlayerSquared.

entry

final WeightedPosition entry

Field entry.

distance

final double distance

Field distance.

targetNumberOfOptions

final int targetNumberOfOptions

Field targetNumberOfOptions.

size

final int size

Field size.

sortBuffer

final WeightedPosition[] sortBuffer

Field sortBuffer.

entry2

final WeightedPosition entry2

Field entry2.

position

final Vector3i position

Field position.

suppressionController

final SpawnSuppressionController suppressionController

Field suppressionController.

indexChunk

final long indexChunk

Field indexChunk.

suppressionEntry

final ChunkSuppressionEntry suppressionEntry

Field suppressionEntry.

totalFailed

final int totalFailed

Field totalFailed.

sizeHalf

final int sizeHalf

Field sizeHalf.

worldX

final int worldX

Field worldX.

worldY

final int worldY

Field worldY.

worldZ

final int worldZ

Field worldZ.

yRange

final int[] yRange

Field yRange.

map

final BitSet map

Field map.

initialEntry

final int[] initialEntry

Field initialEntry.

state

final int[] state

Field state.

index

final int index

Field index.

newChunk

final WorldChunk newChunk

Field newChunk.

entry3

final int[] entry3

Field entry3.

entry4

final int[] entry4

Field entry4.

openSpots

final int openSpots

Field openSpots.

offsetOriginX

final int offsetOriginX

Field offsetOriginX.

offsetOriginZ

final int offsetOriginZ

Field offsetOriginZ.

chunkSuppressionMap

final Long2ObjectConcurrentHashMap chunkSuppressionMap

Field chunkSuppressionMap.

roleIndexes

final int[] roleIndexes

Field roleIndexes.

spawnable

final Builder spawnable

Field spawnable.

positionList

final ObjectArrayList positionList

Field positionList.

nextResolution

final int nextResolution

Field nextResolution.

originalIndex

final int originalIndex

Field originalIndex.

positionCount

final int positionCount

Field positionCount.

parentX

final int parentX

Field parentX.

parentZ

final int parentZ

Field parentZ.

x

final int x

Field x.

z

final int z

Field z.

originIndex

final int originIndex

Field originIndex.

spawnBlockSet

final IntSet spawnBlockSet

Field spawnBlockSet.

spawnFluidTag

final int spawnFluidTag

Field spawnFluidTag.

sb

final StringBuilder sb

Field sb.

centre

final int centre

Field centre.

selector

final FloodFillPositionSelector selector

Field selector.

weight

private double weight

Field weight.

buffer

protected WeightedPosition[] buffer

Field buffer.

Method Detail

getComponentType

public FloodFillPositionSelector> getComponentType ()

Method getComponentType.

FloodFillPositionSelector

public public FloodFillPositionSelector (final World world, @Nonnull final BeaconSpawnWrapper spawnWrapper)

Method FloodFillPositionSelector.

Parameters:
final World world
@Nonnull final BeaconSpawnWrapper spawnWrapper

BitSet

public new BitSet (this.heightGrid.length / i)

Method BitSet.

Parameters:
this.heightGrid.length / i

setCalculatePositionsAfter

public void setCalculatePositionsAfter (final double calculatePositionsAfter)

Method setCalculatePositionsAfter.

Parameters:
final double calculatePositionsAfter

tickCalculatePositionsAfter

public boolean tickCalculatePositionsAfter (final float dt)

Method tickCalculatePositionsAfter.

Parameters:
final float dt

hasPositionsForRole

public boolean hasPositionsForRole (final int roleIndex)

Method hasPositionsForRole.

Parameters:
final int roleIndex

prepareSpawnContext

public boolean prepareSpawnContext (@Nonnull final Vector3d playerPosition, final int spawnsThisRound, final int roleIndex, @Nonnull final SpawningContext spawningContext, @Nonnull final BeaconSpawnWrapper spawnWrapper)

Method prepareSpawnContext.

Parameters:
@Nonnull final Vector3d playerPosition
final int spawnsThisRound
final int roleIndex
@Nonnull final SpawningContext spawningContext
@Nonnull final BeaconSpawnWrapper spawnWrapper

shouldRebuildCache

public boolean shouldRebuildCache ()

Method shouldRebuildCache.

forceRebuildCache

public void forceRebuildCache ()

Method forceRebuildCache.

init

public void init ()

Method init.

buildPositionCache

public void buildPositionCache (@Nonnull final Vector3d origin, @Nonnull final FloodFillEntryPoolSimple pool)

Method buildPositionCache.

Parameters:
@Nonnull final Vector3d origin
@Nonnull final FloodFillEntryPoolSimple pool

floodFill

private void floodFill (int worldX, int worldY, int worldZ, int setX, int setZ, @Nonnull final FloodFillEntryPoolSimple pool)

Method floodFill.

Parameters:
int worldX
int worldY
int worldZ
int setX
int setZ
@Nonnull final FloodFillEntryPoolSimple pool

findPositions

private void findPositions (final int originX, final int originZ)

Method findPositions.

Parameters:
final int originX
final int originZ

WeightedPosition

public new WeightedPosition (x, y, z)

Method WeightedPosition.

Parameters:
x x
y y
z z

buildLowerResolutionMap

private int buildLowerResolutionMap (@Nonnull final BitSet targetMap, final int mapSize, @Nonnull final BitSet parentMap, final int parentMapSize)

Method buildLowerResolutionMap.

Parameters:
@Nonnull final BitSet targetMap
final int mapSize
@Nonnull final BitSet parentMap
final int parentMapSize

pickOpenSegment

private int pickOpenSegment (final int lowResolutionIndex, final int lowResolutionMapSize, @Nonnull final BitSet higherResolutionMap, final int highResolutionMapSize)

Method pickOpenSegment.

Parameters:
final int lowResolutionIndex
final int lowResolutionMapSize
@Nonnull final BitSet higherResolutionMap
final int highResolutionMapSize

shiftIndexAwayFromWall

private int shiftIndexAwayFromWall (final int index)

Method shiftIndexAwayFromWall.

Parameters:
final int index

canSpawn

private boolean canSpawn (final int x, final int y, final int z, final int roleIndex, @Nullable final ChunkSuppressionEntry suppressionEntry)

Method canSpawn.

Parameters:
final int x
final int y
final int z
final int roleIndex
@Nullable final ChunkSuppressionEntry suppressionEntry

debugDumpBaseFloodFill

private String debugDumpBaseFloodFill ()

Method debugDumpBaseFloodFill.

if

public else if (this.positionIndexes.contains(index)

Method if.

Parameters:
this.positionIndexes.contains(index this.positionIndexes.contains(index

debugDumpLowResolutionMap

private String debugDumpLowResolutionMap (@Nonnull final BitSet map, final int size)

Method debugDumpLowResolutionMap.

Parameters:
@Nonnull final BitSet map
final int size

getPositionIndex

static int getPositionIndex (final int x, final int z, final int size)

Method getPositionIndex.

Parameters:
final int x
final int z
final int size

xFromIndex

static int xFromIndex (final int index, final int size)

Method xFromIndex.

Parameters:
final int index
final int size

zFromIndex

static int zFromIndex (final int index, final int size)

Method zFromIndex.

Parameters:
final int index
final int size

clone

public Component clone ()

Method clone.

getWeight

public double getWeight ()

Method getWeight.

SortBufferProvider

public public SortBufferProvider ()

Method SortBufferProvider.

getBuffer

public WeightedPosition[] getBuffer (final int size)

Method getBuffer.

Parameters:
final int size