> ## Documentation Index
> Fetch the complete documentation index at: https://docs.borntocraftstudio.net/llms.txt
> Use this file to discover all available pages before exploring further.

# Miscellaneous Events

> Various events including input detection and advancement grants.

Events that cover general interactions and system states.

## Event Library

<CardGroup cols={2}>
  <Card title="Player Input" icon="keyboard" href="#player-input-event">
    Triggers on key presses (WASD, Space, Shift).
  </Card>

  <Card title="Advancement" icon="trophy" href="#advancement-grant-event">
    Triggers when earning an advancement.
  </Card>

  <Card title="Recipe Unlock" icon="scroll" href="#recipe-unlock-event">
    Triggers when learning a recipe.
  </Card>

  <Card title="Elytra Glide" icon="paper-plane" href="#player-elytra-event">
    Triggers when starting to glide.
  </Card>

  <Card title="Fact Check" icon="check-double" href="#fact-check-events">
    Triggers when a tracked fact updates.
  </Card>

  <Card title="Experience Orb" icon="sparkles" href="#experience-orb-pickup-event">
    Triggers when collecting XP.
  </Card>
</CardGroup>

## Configuration

### `player_input_event`

Triggers when a player presses a specific control key.

<ResponseField name="inputType" type="PlayerInputType">
  The input to detect: `FORWARD`, `BACKWARD`, `LEFT`, `RIGHT`, `JUMP`, `SNEAK`, `SPRINT`.
</ResponseField>

### `advancement_grant_event`

Triggers when a player completes an advancement.

<ResponseField name="advancement" type="String">
  The advancement ID (e.g., `minecraft:story/mine_stone`).
</ResponseField>

<ResponseField name="isChallenge" type="Boolean">
  If true, matches only challenge advancements.
</ResponseField>

### `experience_orb_pickup_event`

Triggers when picking up an experience orb.

<ResponseField name="minExperience" type="Int">
  Minimum XP in the orb.
</ResponseField>

### `fact_check_events`

Monitors variable changes in real-time.

<ResponseField name="fact" type="String">
  The fact to monitor (e.g. `placeholder_fact`).
</ResponseField>

<ResponseField name="value" type="String">
  The target value to check against.
</ResponseField>

## Examples

<CodeGroup>
  ```yaml Double Jump theme={null}
  player_input_event:
    inputType: JUMP
    actions:
      - velocity_action:
          vector: "0, 1.0, 0"
  ```

  ```yaml Level Up theme={null}
  experience_orb_pickup_event:
    minExperience: 10
    actions:
      - sound_action:
          sound: ENTITY_PLAYER_LEVELUP
  ```
</CodeGroup>
