ToDo:
  - On Advancement Menu Open
  - Brushable (https://hub.spigotmc.org/javadocs/spigot/org/bukkit/block/data/Brushable.html)

Events:
  - [on] vault display[ing] item:
    - alternate syntax(es):
      - [on] display[ing] vault item
    - description: 'Called when a vault changes its displayed item inside the block.'
    - cancellable: true
    - event values:
      - event-block
      - event-location
      - event-world
      - event-item
  - [on] thunder [state] change:
    - description: 'Called when the state of thunder in a world changes. This is called before it actually changes, so using the thunder state expression will give its past state.'
    - cancellable: true
    - event values:
      - event-world
  - [on] craft[ing] in player[[']s] inv[entory]:
    - description: 'Called when a player crafts in their player inventory.'
    - cancellable: true
    - event values:
      - event-player
      - event-item

Conditions:
  - %player% is (block clipping|clipping through blocks)
    - alternate syntax(es):
      - %player% is not (block clipping|clipping through blocks)
    - description: 'Checks if the player's hitbox is intersecting a solid block's hitbox. (NOTE: This does have issues with the on player move event)'

Expressions:
  - [the] thunder state of %world%:
    - alternate syntax(es):
      - %world%'s thunder state
    - description: 'Gets/Sets the thunder state in the given world.'
    - returns: boolean
  - [the] swim[ming] state of %player%:
    - alternate syntax(es):
      - [the] %player%['s] swim[ming] state
    - description: 'Gets a player's swimming state. This value can be set according to javadocs, but no noticeable change happens when you do.'
    - returns: boolean
  - [the] [item] pick[ ]up state of %player%:
    - alternate syntax(es):
      - [the] %player%['s] [item] pick[ ]up state
    - description: 'Gets/Sets a living entity's item pick up state.'
    - returns: boolean
  - [the] eye height of %entity%:
    - alternate syntax(es):
      - [the] %entity%['s] eye height
    - description: 'Gets a living entity's eye height from their location. (From the bottom of their hitbox)'
    - returns: number
  - [the] [dripstone] thickness of %block%:
    - alternate syntax(es):
      - %block%['s] [dripstone] thickness
    - description: 'Gets the thickness of a dripstone block. Uses custom type dripstoneThickness'
    - returns: dripstoneThickness
  - [the] max[imum] air of %livingentity%:
    - alternate syntax(es):
      - [the] %livingentity%['s] max[imum] air
    - description: 'Gets/Sets the maximum air for a living entity in ticks. This does NOT set their leftover air to maximum, so it will slowly climb upwards if increased.'
    - returns: integer

Types:
  - DripstoneThickness:
    - Values: tip merge, tip, frustum, middle, base