创建

基础

TrMenu 的菜单是以 YAML (.yml) 文件格式配置、读取加载的

因此,创建一个新的菜单,你可以通过新建一个 YAML 文件开始

路径

菜单文件可以放在默认菜单目录 (menus)中或自定义路径(需要自行配置)

菜单文件名(不包括拓展名后缀)即是菜单的唯一 ID,

重复 ID 的菜单仍然会被加载,但会影响开启命令的正常工作

配置

菜单的配置项将在接下来的章节详细解析

请先浏览下方所提供的示例模式,快速了解菜单基本结构

# 容器显示的标题
Title: 'TrMenu'

# 容器标题刷新的时间
Title-Update: 40

# 菜单布局
Layout: []

# 菜单布局 - 玩家容器
PlayerInventory: []

# 菜单选项
Options:
  # 是否启用参数
  Arguments: false
  # 默认参数填充
  Default-Arguments: [ ]
  # 非上锁槽位
  Free-Slots:
    - 71
    - 72
  # 默认页码
  Default-Layout: 0
  # 是否隐藏玩家容器物品
  Hide-Player-Inventory: false
  # 最小点击延时
  Min-Click-Delay: 200
  # 强制依赖的 PlaceholderAPI 拓展
  Depend-Expansions: [ 'server', 'player', 'progress', 'animations' ]

# 菜单绑定
Bindings:
  # 命令
  Commands:
    - '(?i)example(-)?(gui)?(s)?'
  # 物品特征
  Items:
    - 'material:compass'
    - 'material:clock,lore:OPEN_MENU'
    - 'texture:eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNDRmNDUyZDk5OGVhYmFjNDY0MmM2YjBmZTVhOGY0ZTJlNjczZWRjYWUyYTZkZmQ5ZTZhMmU4NmU3ODZlZGFjMCJ9fX0='

# 菜单事件反应
Events:
  # 开启事件
  Open:
    - condition: 'perm *trmenu.use'
      actions:
        - 'sound: BLOCK_CHEST_OPEN-1-0'
      deny:
        - 'sound: ENTITY_ITEM_BREAK-1-0'
        - 'title: `&c&lPermission Required` `&7&lYou need permission &6&ltrmenu.use &7&lto open this menu` 15 20 15'
        - 'return'
  # 关闭事件
  Close:
    - 'sound: BLOCK_CHEST_CLOSE-1-0'

# 菜单的图标主体
Icons:
  # 图标 Id
  'Close':
    # 显示属性更新频率
    update: []
    # 子图标重新计算频率
    refresh: -1
    # 显示部分
    display: []
    # 动作部分
    actions: []

# 定时任务
Tasks:
  # 任务 ID
  tikTok:
    # 任务周期 (in ticks)
    period: 80
    # 任务反应 (reactions)
    task:
      - condition: '$ sender.isOp()'
        actions:
          - 'sound: BLOCK_NOTE_BLOCK_BIT-1-2'

# 内置自定义 JavaScript 函数
Functions:
  id: 'content'

结构

  • 标题

    • 单个或多个标题

    • 标题更新周期

  • 布局

    • 菜单布局

    • 玩家容器布局

  • 选项

    • 默认补全参数

    • 默认布局页码

    • 是否隐藏玩家容器物品

    • 自由槽位

    • 防频繁点击间隔

    • 需要依赖的 PlaceholderAPI 拓展

  • 绑定

    • 绑定正则命令

    • 绑定物品特征

  • 事件

    • 开启菜单执行动作

    • 关闭菜单执行动作

  • 图标

  • 内置脚本

  • 周期任务

菜单国际化(社区版新增)

太复杂了,自己去看TrMenu PR #64

最后更新于