# Functions

## Accessed through the JumpLib global

<table data-full-width="true"><thead><tr><th>Return Value</th><th>Function</th><th>Notes</th></tr></thead><tbody><tr><td>boolean</td><td>CanJump(Entity entity)</td><td><ul><li>Returns true if the entity is not jumping or the current jump has the OVERWRITABLE flag</li></ul></td></tr><tr><td>boolean</td><td>Jump(Entity entity, JumpConfig config, boolean force = false)</td><td><ul><li>Makes the entity jump using the provided config</li><li>Force argument ignores all PRE_ENTITY_JUMP callback returns</li></ul></td></tr><tr><td>boolean</td><td>TryJump(Entity entity, JumpConfig config)</td><td><ul><li>Calls JumpLib.Jump if JumpLib.CanJump returns true</li></ul></td></tr><tr><td>boolean</td><td>QuitJump(Entity entity)</td><td><ul><li>Immediately ends the current jump</li><li>Returns true if a jump was cancelled, false otherwise (if not jumping)</li></ul></td></tr><tr><td>boolean</td><td>Pitfall(EntityPlayer player, Vector position, int damage = 1)</td><td><ul><li>Begins pitfall sequence</li></ul></td></tr><tr><td>boolean</td><td>IsPitfalling(EntityPlayer player)</td><td></td></tr><tr><td>JumpData</td><td>GetData(Entity entity)</td><td><ul><li>Returns a non-writable JumpData table</li><li>Use JumpLib.Internal.GetData to get a writable InternalJumpData table</li></ul></td></tr><tr><td>boolean</td><td>SetHeight(Entity entity, float height, JumpConfig config = nil)</td><td><ul><li>Sets height of an entity if already jumping</li><li>If not already jumping, and config is provided, a jump with the proved config is started at the provided height</li></ul></td></tr><tr><td>void</td><td>ClearTag(Entity entity, string tag)</td><td><ul><li>Removes a tag from the current jump</li></ul></td></tr><tr><td>boolean</td><td>SetSpeed(Entity entity, float speed)</td><td><ul><li>Sets speed of current jump</li><li>Can be modified in PRE_ENTITY_SET_FALLSPEED</li><li>Ignored by jumps with the IGNORE_FALLSPEED_MODIFIERS flag</li></ul></td></tr><tr><td>Vector</td><td>GetOffset(Entity entity, Vector yOffset = 0)</td><td><ul><li>Returns a render offset for non-laser entities that is automatically adjusted for reflections</li><li>Returns a position offset for lasers</li></ul></td></tr><tr><td>boolean</td><td>IsFalling(Entity entity)</td><td></td></tr><tr><td>void</td><td>Update(Entity, entity)</td><td><ul><li>Updates the current jump by 1 frame</li></ul></td></tr><tr><td>table</td><td>RunCallbackWithParam(JumpCallback id, entity Entity, ...)</td><td><ul><li>Runs a callback with JumpLib's special optional parameter and returns a table of all function returns</li></ul></td></tr></tbody></table>

## Accessed through JumpLib.Internal

<table data-full-width="true"><thead><tr><th></th><th></th><th></th></tr></thead><tbody><tr><td>boolean</td><td>IsOrbital(EntityFamiliar familiar)</td><td></td></tr><tr><td>boolean</td><td>IsFollower(EntityFamiliar follower)</td><td></td></tr><tr><td>void</td><td>ScheduleFunction(function fn, int delay, boolean persistent = false)</td><td></td></tr><tr><td>InternalJumpData</td><td>GetData(Entity entity)</td><td><ul><li>Returns writable InternalJumpData</li></ul></td></tr><tr><td>void</td><td>RemoveCallbacks()</td><td><ul><li>Please don't use this</li></ul></td></tr><tr><td>void</td><td>UpdateCollision(Entity entity)</td><td></td></tr><tr><td>EntityPlayer?</td><td>GetPlayerFromEntity(Entity entity)</td><td><ul><li>Checks entity.Parent, entity.SpawnerEntity, and familiar.Player</li></ul></td></tr></tbody></table>

