Content generated with AI — it may contain mistakes.

Menus

3D menus

spatial/<id>.yml: panels standing in the world, with a menu block that holds what they contain.

spatial/<id>.yml is a menu drawn as panels standing in the world in front of the player. It needs a Java 1.21.4 or newer client. The layout (panels, grids, lists, carousels, theme) is ExyliaLib's spatial format; a menu block holds what the menu contains. The first load writes every layout key the file left out, with comments.

title: "{primary}&lWARPS"
panels:
  warps:
    at: [0, 0, 0]
    size: [3.6, 1.5]
    title: "{secondary}&lWHERE TO?"
    content: {type: GRID, source: warps, columns: 4, rows: 2}
    footers:
      - {label: "{success}Shop", action: shop}
      - {label: "{error}Leave", action: leave}   # leave closes it
preview: {visible: false}
carousel: {source: ""}
menu:
  command: warps3d
  fallback: warps_chest
  lists:
    warps:                                       # what source reads
      entries:
        spawn:
          priority: 1
          if: "perm('warp.spawn')"
          material: COMPASS
          name: "{info}Spawn"
          subtitle: "{letters_black}Safe zone"
          require: "balance() >= 10"
          deny: ["[MESSAGE] {error}You need 10 coins."]
          click: ["[MONEY] take 10", "[CLOSE]", "[PLAYER] spawn"]
  buttons:
    shop: ["[SCREEN] shop"]                      # what action reads

The menu block

KeyDoes
command, aliases, permission, require, deny, fallback, min-client, args, on-openThe opening keys, here under menu:. See Opening and fallbacks.
lists.<name>.entriesThe entries a panel's source: <name> reads. Each takes the keys of a chest slot (priority, if, material, name, require, deny, click) and a subtitle.
buttons.<name>The interaction lines a panel's action: <name> runs.

A 3D entry has one click, so right: filters never run. Look at a piece and sneak to leave. /screensadmin check says when a panel reads a list the block does not have.

The example is spatial/warps_3d.yml, opened with /warps3d; a client that cannot draw it gets hub_chest. The panels, anchor, freeze and hide-others keys are ExyliaLib's spatial layout.

Something missing on this page? Tell us on Discord