CollisionModule

public class CollisionModule extends JavaPlugin

Class CollisionModule. Provides collisionmodule functionality for the Hytale server.

java.lang.Object > JavaPlugin > CollisionModule

Field Summary

extentMax

private double extentMax

Field extentMax.

minimumThickness

private double minimumThickness

Field minimumThickness.

config

final CollisionModuleConfig config

Field config.

defaultBox

final BlockBoundingBoxes.RotatedVariantBoxes defaultBox

Field defaultBox.

maximumExtent

final double maximumExtent

Field maximumExtent.

world

final World world

Field world.

isFarDistance

final boolean isFarDistance

Field isFarDistance.

coll

final CollisionConfig coll

Field coll.

minMax

final Vector2d minMax

Field minMax.

collisionEntities

final List collisionEntities

Field collisionEntities.

entity

final Entity entity

Field entity.

ref

final Ref ref

Field ref.

archetype

final Archetype archetype

Field archetype.

isProjectile

final boolean isProjectile

Field isProjectile.

entityTransformComponent

final TransformComponent entityTransformComponent

Field entityTransformComponent.

entityBoundingBoxComponent

final BoundingBox entityBoundingBoxComponent

Field entityBoundingBoxComponent.

position

final Vector3d position

Field position.

boundingBox

final Box boundingBox

Field boundingBox.

boxBlockIntersectionEvaluator

final BoxBlockIntersectionEvaluator boxBlockIntersectionEvaluator

Field boxBlockIntersectionEvaluator.

name

final String name

Field name.

_pos

final Vector3d _pos

Field _pos.

boundingBoxX

final int boundingBoxX

Field boundingBoxX.

boundingBoxY

final int boundingBoxY

Field boundingBoxY.

boundingBoxZ

final int boundingBoxZ

Field boundingBoxZ.

numDetails

final int numDetails

Field numDetails.

blockBox

final BoxBlockIntersectionEvaluator blockBox

Field blockBox.

code

final int code

Field code.

haveCollision

final boolean haveCollision

Field haveCollision.

name2

final String name2

Field name2.

code2

final int code2

Field code2.

haveCollision2

final boolean haveCollision2

Field haveCollision2.

isWalkable

final Predicate isWalkable

Field isWalkable.

_triggerBlocks

final boolean _triggerBlocks

Field _triggerBlocks.

_intersections

final boolean _intersections

Field _intersections.

savedCollisionState

final int savedCollisionState

Field savedCollisionState.

saveCheckTriggerState

final boolean saveCheckTriggerState

Field saveCheckTriggerState.

saveCheckDamageBlock

final boolean saveCheckDamageBlock

Field saveCheckDamageBlock.

boxBlockIntersection

final BoxBlockIntersectionEvaluator boxBlockIntersection

Field boxBlockIntersection.

_collider

final Box _collider

Field _collider.

_t

final Object _t

Field _t.

data

final BlockCollisionData data

Field data.

Method Detail

get

static CollisionModule get ()

Method get.

CollisionModule

public public CollisionModule (@Nonnull final JavaPluginInit init)

Method CollisionModule.

Parameters:
@Nonnull final JavaPluginInit init

getConfig

public CollisionModuleConfig getConfig ()

Method getConfig.

setup

protected void setup ()

Method setup.

HitboxCommand

public new HitboxCommand ()

Method HitboxCommand.

KDTree

public new KDTree (Ref::isValid)

Method KDTree.

Parameters:
Ref::isValid Ref::isValid

getTangiableEntitySpatialComponent

public EntityStore>> getTangiableEntitySpatialComponent ()

Method getTangiableEntitySpatialComponent.

onLoadedAssetsEvent

private void onLoadedAssetsEvent (@Nonnull final LoadedAssetsEvent> event)

Method onLoadedAssetsEvent.

Parameters:
@Nonnull final LoadedAssetsEvent> event

handleLoadedHitbox

private void handleLoadedHitbox (@Nonnull final BlockBoundingBoxes box)

Method handleLoadedHitbox.

Parameters:
@Nonnull final BlockBoundingBoxes box

unit

public 1 unit (%s units)

Method unit.

Parameters:
%s units

findCollisions

Method findCollisions.

Parameters:
@Nonnull final Box collider
@Nonnull final Vector3d pos
@Nonnull final Vector3d v
@Nonnull final CollisionResult result
@Nonnull final ComponentAccessor componentAccessor

findBlockCollisionsIterative

static void findBlockCollisionsIterative (@Nonnull final World world, @Nonnull final Box collider, @Nonnull final Vector3d pos, @Nonnull final Vector3d v, final boolean stopOnCollisionFound, @Nonnull final CollisionResult result)

Method findBlockCollisionsIterative.

Parameters:
@Nonnull final World world
@Nonnull final Box collider
@Nonnull final Vector3d pos
@Nonnull final Vector3d v
final boolean stopOnCollisionFound
@Nonnull final CollisionResult result

findCharacterCollisions

static void findCharacterCollisions (@Nonnull final Vector3d pos, @Nonnull final Vector3d v, @Nonnull final CollisionResult result, @Nonnull final ComponentAccessor componentAccessor)

Method findCharacterCollisions.

Parameters:
@Nonnull final Vector3d pos
@Nonnull final Vector3d v
@Nonnull final CollisionResult result
@Nonnull final ComponentAccessor componentAccessor

findBlockCollisionsShortDistance

static void findBlockCollisionsShortDistance (@Nonnull final World world, @Nonnull final Box collider, @Nonnull final Vector3d pos, @Nonnull final Vector3d v, @Nonnull final CollisionResult result)

Method findBlockCollisionsShortDistance.

Parameters:
@Nonnull final World world
@Nonnull final Box collider
@Nonnull final Vector3d pos
@Nonnull final Vector3d v
@Nonnull final CollisionResult result

processCollision

static void processCollision (@Nonnull final CollisionResult result, @Nonnull final Vector3d pos, @Nonnull final BoxBlockIntersectionEvaluator boxBlockIntersectionEvaluator, boolean haveCollision, final int hitboxIndex)

Method processCollision.

Parameters:
@Nonnull final CollisionResult result
@Nonnull final Vector3d pos
@Nonnull final BoxBlockIntersectionEvaluator boxBlockIntersectionEvaluator
boolean haveCollision
final int hitboxIndex

findIntersections

public void findIntersections (@Nonnull final World world, @Nonnull final Box collider, @Nonnull final Vector3d pos, @Nonnull final CollisionResult result, final boolean triggerBlocks, final boolean intersections)

Method findIntersections.

Parameters:
@Nonnull final World world
@Nonnull final Box collider
@Nonnull final Vector3d pos
@Nonnull final CollisionResult result
final boolean triggerBlocks
final boolean intersections

validatePosition

public int validatePosition (@Nonnull final World world, @Nonnull final Box collider, @Nonnull final Vector3d pos, @Nonnull final CollisionResult result)

Method validatePosition.

Parameters:
@Nonnull final World world
@Nonnull final Box collider
@Nonnull final Vector3d pos
@Nonnull final CollisionResult result

if

public else if (CollisionMath.isDisjoint(code)

Method if.

Parameters:
CollisionMath.isDisjoint(code CollisionMath.isDisjoint(code

addImmediateCollision

static void addImmediateCollision (@Nonnull final Vector3d pos, @Nonnull final CollisionResult result, @Nonnull final CollisionConfig coll, final int i)

Method addImmediateCollision.

Parameters:
@Nonnull final Vector3d pos
@Nonnull final CollisionResult result
@Nonnull final CollisionConfig coll
final int i

isBelowMovementThreshold

static boolean isBelowMovementThreshold (@Nonnull final Vector3d v)

Method isBelowMovementThreshold.

Parameters:
@Nonnull final Vector3d v

logOverlap

static void logOverlap (@Nonnull final Vector3d pos, @Nonnull final Box collider, @Nonnull final CollisionConfig coll, @Nonnull final Box hitBox, final int x, final int y, final int z, final int index, final int intersectType)

Method logOverlap.

Parameters:
@Nonnull final Vector3d pos
@Nonnull final Box collider
@Nonnull final CollisionConfig coll
@Nonnull final Box hitBox
final int x
final int y
final int z
final int index
final int intersectType