Class SpawnPositionCandidateBuffer

java.lang.Object
com.hypixel.hytale.server.spawning.util.SpawnPositionCandidateBuffer

public final class SpawnPositionCandidateBuffer extends Object
Stores reusable deduplicated candidates and their status.
  • Constructor Details

    • SpawnPositionCandidateBuffer

      public SpawnPositionCandidateBuffer()
  • Method Details

    • size

      public int size()
    • hasRemainingCapacity

      public boolean hasRemainingCapacity()
    • isCandidateLimitReached

      public boolean isCandidateLimitReached()
    • clear

      public void clear()
    • ensureCapacity

      public void ensureCapacity(int capacity)
    • append

      public int append(double x, double y, double z, double clearanceMinimumY, double clearanceMaximumY, double validOriginMinimumY, double validOriginMaximumY, double submergedHeight, int windowX, int windowZ, int spanIndex, SpawnPositionCandidateKind kind, boolean primary)
    • getX

      public double getX(int candidateIndex)
    • getY

      public double getY(int candidateIndex)
    • getZ

      public double getZ(int candidateIndex)
    • getClearanceMinimumY

      public double getClearanceMinimumY(int candidateIndex)
    • getClearanceMaximumY

      public double getClearanceMaximumY(int candidateIndex)
    • getValidOriginMinimumY

      public double getValidOriginMinimumY(int candidateIndex)
    • getValidOriginMaximumY

      public double getValidOriginMaximumY(int candidateIndex)
    • getSubmergedHeight

      public double getSubmergedHeight(int candidateIndex)
      The height of the liquid above the body bottom of a candidate placed in water, zero for other placements.
    • getWindowX

      public int getWindowX(int candidateIndex)
    • getWindowZ

      public int getWindowZ(int candidateIndex)
    • getSpanIndex

      public int getSpanIndex(int candidateIndex)
    • getKind

      public SpawnPositionCandidateKind getKind(int candidateIndex)
    • isPrimary

      public boolean isPrimary(int candidateIndex)
    • isExact

      public boolean isExact(int candidateIndex)
    • isValidated

      public boolean isValidated(int candidateIndex)
    • isAccepted

      public boolean isAccepted(int candidateIndex)
    • isSelected

      public boolean isSelected(int candidateIndex)
    • fitsSupportedCandidate

      public boolean fitsSupportedCandidate(int candidateIndex, double y, double boundingMinimumY, double boundingMaximumY)
    • fitsFloatingCandidate

      public boolean fitsFloatingCandidate(int candidateIndex, double y, double boundingMinimumY, double boundingMaximumY)
      Checks a candidate that does not rest on the floor of its span, so only containment applies.
    • recordValidation

      public void recordValidation(int candidateIndex, boolean accepted)
    • markSelected

      public void markSelected(int candidateIndex)
    • getRejection

      public SpawnPositionCandidateRejection getRejection(int candidateIndex)
    • setRejection

      public void setRejection(int candidateIndex, SpawnPositionCandidateRejection rejection)