Class CollisionResult

java.lang.Object
com.hypixel.hytale.server.core.modules.collision.CollisionResult
All Implemented Interfaces:
BoxBlockIterator.BoxIterationConsumer

public class CollisionResult extends Object implements BoxBlockIterator.BoxIterationConsumer
  • Field Details

    • BLOCK_COLLISION_DATA_COMPARATOR

      public static final Comparator<BlockCollisionData> BLOCK_COLLISION_DATA_COMPARATOR
    • collisionConfig

      @Nonnull private final CollisionConfig collisionConfig
    • blockCollisions

      @Nonnull private final CollisionDataArray<BlockCollisionData> blockCollisions
    • blockSlides

      @Nonnull private final CollisionDataArray<BlockCollisionData> blockSlides
    • blockTriggers

      @Nonnull private final CollisionDataArray<BlockCollisionData> blockTriggers
    • characterCollisions

      @Nonnull private final CollisionDataArray<CharacterCollisionData> characterCollisions
    • movingBoxBoxCollision

      @Nonnull private final MovingBoxBoxCollisionEvaluator movingBoxBoxCollision
    • boxBlockIntersection

      @Nonnull private final BoxBlockIntersectionEvaluator boxBlockIntersection
    • collisionEntities

      public List<Entity> collisionEntities
    • continueAfterCollision

      private boolean continueAfterCollision
    • haveNoCollision

      private boolean haveNoCollision
    • logger

      private com.hypixel.hytale.logger.HytaleLogger logger
    • slideStart

      public double slideStart
    • slideEnd

      public double slideEnd
    • isSliding

      public boolean isSliding
    • validate

      public int validate
    • checkForCharacterCollisions

      private boolean checkForCharacterCollisions
    • walkableMaterialMask

      private int walkableMaterialMask
    • isNonWalkable

      public Predicate<CollisionConfig> isNonWalkable
    • lastTriggers

      private it.unimi.dsi.fastutil.longs.LongSet lastTriggers
    • newTriggers

      private it.unimi.dsi.fastutil.longs.LongSet newTriggers
  • Constructor Details

    • CollisionResult

      public CollisionResult()
    • CollisionResult

      public CollisionResult(boolean enableSlides, boolean enableCharacters)
  • Method Details

    • getConfig

      @Nonnull public CollisionConfig getConfig()
    • getCollisionEntities

      public List<Entity> getCollisionEntities()
    • setCollisionEntities

      public void setCollisionEntities(List<Entity> collisionEntities)
    • getBoxBlockIntersection

      @Nonnull public BoxBlockIntersectionEvaluator getBoxBlockIntersection()
    • getMovingBoxBoxCollision

      @Nonnull public MovingBoxBoxCollisionEvaluator getMovingBoxBoxCollision()
    • allocCharacterCollision

      public CharacterCollisionData allocCharacterCollision()
    • addCollision

      public void addCollision(@Nonnull IBlockCollisionEvaluator blockCollisionEvaluator, int index)
    • newCollision

      public BlockCollisionData newCollision()
    • addSlide

      public void addSlide(@Nonnull IBlockCollisionEvaluator blockCollisionEvaluator, int index)
    • newSlide

      public BlockCollisionData newSlide()
    • addTrigger

      public void addTrigger(@Nonnull IBlockCollisionEvaluator blockCollisionEvaluator, int index)
    • newTrigger

      public BlockCollisionData newTrigger()
    • reset

      public void reset()
    • process

      public void process()
    • getBlockCollisionCount

      public int getBlockCollisionCount()
    • getBlockCollision

      public BlockCollisionData getBlockCollision(int i)
    • getFirstBlockCollision

      @Nullable public BlockCollisionData getFirstBlockCollision()
    • forgetFirstBlockCollision

      @Nullable public BlockCollisionData forgetFirstBlockCollision()
    • getCharacterCollisionCount

      public int getCharacterCollisionCount()
    • getFirstCharacterCollision

      @Nullable public CharacterCollisionData getFirstCharacterCollision()
    • forgetFirstCharacterCollision

      @Nullable public CharacterCollisionData forgetFirstCharacterCollision()
    • pruneTriggerBlocks

      public void pruneTriggerBlocks(double distance)
    • getTriggerBlocks

      @Nonnull public CollisionDataArray<BlockCollisionData> getTriggerBlocks()
    • defaultTriggerBlocksProcessing

      public int defaultTriggerBlocksProcessing(@Nonnull InteractionManager manager, @Nonnull Entity entity, @Nonnull Ref<EntityStore> ref, boolean executeTriggers, @Nonnull ComponentAccessor<EntityStore> componentAccessor)
    • doCollisionInteraction

      private void doCollisionInteraction(@Nonnull InteractionManager manager, @Nonnull InteractionType type, @Nonnull Ref<EntityStore> ref, @Nonnull String interactions, @Nonnull BlockPosition pos, @Nonnull ComponentAccessor<EntityStore> componentAccessor)
    • next

      public boolean next()
      Specified by:
      next in interface BoxBlockIterator.BoxIterationConsumer
    • accept

      public boolean accept(long x, long y, long z)
      Specified by:
      accept in interface BoxBlockIterator.BoxIterationConsumer
    • processCollisionResult

      private void processCollisionResult(boolean haveCollision, int hitboxIndex)
    • iterateBlocks

      public void iterateBlocks(@Nonnull Box collider, @Nonnull Vector3d pos, @Nonnull Vector3d direction, double length, boolean stopOnCollisionFound)
    • acquireCollisionModule

      public void acquireCollisionModule()
    • disableSlides

      public void disableSlides()
    • enableSlides

      public void enableSlides()
    • disableCharacterCollisions

      public void disableCharacterCollisions()
    • enableCharacterCollsions

      public void enableCharacterCollsions()
    • isCheckingForCharacterCollisions

      public boolean isCheckingForCharacterCollisions()
    • enableTriggerBlocks

      public void enableTriggerBlocks()
    • disableTriggerBlocks

      public void disableTriggerBlocks()
    • isCheckingTriggerBlocks

      public boolean isCheckingTriggerBlocks()
    • enableDamageBlocks

      public void enableDamageBlocks()
    • disableDamageBlocks

      public void disableDamageBlocks()
    • isCheckingDamageBlocks

      public boolean isCheckingDamageBlocks()
    • setDamageBlocking

      public boolean setDamageBlocking(boolean blocking)
    • isDamageBlocking

      public boolean isDamageBlocking()
    • setCollisionByMaterial

      public void setCollisionByMaterial(int collidingMaterials)
    • setCollisionByMaterial

      public void setCollisionByMaterial(int collidingMaterials, int walkableMaterials)
    • getCollisionByMaterial

      public int getCollisionByMaterial()
    • setDefaultCollisionBehaviour

      public void setDefaultCollisionBehaviour()
    • setDefaultBlockCollisionPredicate

      public void setDefaultBlockCollisionPredicate()
    • setDefaultNonWalkablePredicate

      public void setDefaultNonWalkablePredicate()
    • setNonWalkablePredicate

      public void setNonWalkablePredicate(Predicate<CollisionConfig> classifier)
    • setWalkableByMaterial

      public void setWalkableByMaterial(int walkableMaterial)
    • updateDamageWalkableFlag

      protected void updateDamageWalkableFlag()
    • setDefaultWalkableBehaviour

      public void setDefaultWalkableBehaviour()
    • setDefaultPlayerSettings

      public void setDefaultPlayerSettings()
    • isComputeOverlaps

      public boolean isComputeOverlaps()
    • setComputeOverlaps

      public void setComputeOverlaps(boolean computeOverlaps)
    • getLogger

      public com.hypixel.hytale.logger.HytaleLogger getLogger()
    • shouldLog

      public boolean shouldLog()
    • setLogger

      public void setLogger(com.hypixel.hytale.logger.HytaleLogger logger)