Class CollisionResult
java.lang.Object
com.hypixel.hytale.server.core.modules.collision.CollisionResult
- All Implemented Interfaces:
BoxBlockIterator.BoxIterationConsumer
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final Comparator<BlockCollisionData> private final CollisionDataArray<BlockCollisionData> private final CollisionDataArray<BlockCollisionData> private final CollisionDataArray<BlockCollisionData> private final BoxBlockIntersectionEvaluatorprivate final CollisionDataArray<CharacterCollisionData> private booleanprivate final CollisionConfigprivate booleanprivate booleanbooleanprivate it.unimi.dsi.fastutil.longs.LongSetprivate com.hypixel.hytale.logger.HytaleLoggerprivate final MovingBoxBoxCollisionEvaluatorprivate it.unimi.dsi.fastutil.longs.LongSetdoubledoubleintprivate int -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleanaccept(long x, long y, long z) voidvoidaddCollision(IBlockCollisionEvaluator blockCollisionEvaluator, int index) voidaddSlide(IBlockCollisionEvaluator blockCollisionEvaluator, int index) voidaddTrigger(IBlockCollisionEvaluator blockCollisionEvaluator, int index) intdefaultTriggerBlocksProcessing(InteractionManager manager, Entity entity, Ref<EntityStore> ref, boolean executeTriggers, ComponentAccessor<EntityStore> componentAccessor) voidvoidvoidvoidprivate voiddoCollisionInteraction(InteractionManager manager, InteractionType type, Ref<EntityStore> ref, String interactions, BlockPosition pos, ComponentAccessor<EntityStore> componentAccessor) voidvoidvoidvoidgetBlockCollision(int i) intintintcom.hypixel.hytale.logger.HytaleLoggerbooleanbooleanbooleanbooleanbooleanvoiditerateBlocks(Box collider, Vector3d pos, Vector3d direction, double length, boolean stopOnCollisionFound) newSlide()booleannext()voidprocess()private voidprocessCollisionResult(boolean haveCollision, int hitboxIndex) voidpruneTriggerBlocks(double distance) voidreset()voidsetCollisionByMaterial(int collidingMaterials) voidsetCollisionByMaterial(int collidingMaterials, int walkableMaterials) voidsetCollisionEntities(List<Entity> collisionEntities) voidsetComputeOverlaps(boolean computeOverlaps) booleansetDamageBlocking(boolean blocking) voidvoidvoidvoidvoidvoidsetLogger(com.hypixel.hytale.logger.HytaleLogger logger) voidsetNonWalkablePredicate(Predicate<CollisionConfig> classifier) voidsetWalkableByMaterial(int walkableMaterial) booleanprotected void
-
Field Details
-
BLOCK_COLLISION_DATA_COMPARATOR
-
collisionConfig
-
blockCollisions
-
blockSlides
-
blockTriggers
-
characterCollisions
-
movingBoxBoxCollision
-
boxBlockIntersection
-
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
-
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
-
getCollisionEntities
-
setCollisionEntities
-
getBoxBlockIntersection
-
getMovingBoxBoxCollision
-
allocCharacterCollision
-
addCollision
-
newCollision
-
addSlide
-
newSlide
-
addTrigger
-
newTrigger
-
reset
public void reset() -
process
public void process() -
getBlockCollisionCount
public int getBlockCollisionCount() -
getBlockCollision
-
getFirstBlockCollision
-
forgetFirstBlockCollision
-
getCharacterCollisionCount
public int getCharacterCollisionCount() -
getFirstCharacterCollision
-
forgetFirstCharacterCollision
-
pruneTriggerBlocks
public void pruneTriggerBlocks(double distance) -
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:
nextin interfaceBoxBlockIterator.BoxIterationConsumer
-
accept
public boolean accept(long x, long y, long z) - Specified by:
acceptin interfaceBoxBlockIterator.BoxIterationConsumer
-
processCollisionResult
private void processCollisionResult(boolean haveCollision, int hitboxIndex) -
iterateBlocks
-
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
-
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)
-