狡诈师
本帖最后由 爱国民主 于 2019-7-18 15:31 编辑

首页前言

项目翻译参与者

  • z1224748848
  • 爱国民主



欢迎来到 AnimatedMenu 维基百科!

此维基百科旨在帮助您理解插件并学习新玩法
无论您使用的是
Animated Menu 还是 Animated Menu Plus
此维基百科都尽可能帮到各位使用者

该维基百科并没有完全完工
但是,
旧教程页面 已经记录了绝大多数配置选项
如果您在这里或旧文档中依然没有找到您想要的帮助信息, 请私信告知作者. (推荐通过
SpigotMC 论坛向作者发送一个私信)


2021.12 数据,可能有更多内容
首页前言

项目翻译参与者

  • z1224748848
  • 爱国民主



欢迎来到 AnimatedMenu 维基百科!
此维基百科旨在帮助您理解插件并学习新玩法
无论您使用的是 Animated Menu 还是 Animated Menu Plus
此维基百科都尽可能帮到各位使用者


该维基百科并没有完全完工
但是, 旧教程页面 已经记录了绝大多数配置选项
如果您在这里或旧文档中依然没有找到您想要的帮助信息, 请私信告知作者. (推荐通过 SpigotMC 论坛向作者发送一个私信)



插件信息

插件原帖:https://www.spigotmc.org/resources/animated-menu.4690/
站内转载:http://www.mcbbs.net/thread-810991-1-1.html
官方维基:https://github.com/megamichiel/AnimatedMenu/wiki




菜单

在插件初次启动时, 将会根据您使用的插件为免费或付费版自动在 "plugins" 文件夹中创建一个名为 "AnimatedMenu" 或者 "AnimatedMenuPlus" 的插件配置文件夹.


在此文件夹中, 您能找到另一个叫做 "menus" 的文件夹
里面包含一些 .yml 示例菜单等文件 (此处示例菜单文件名为 "example.yml" 或 "plus-example.yml").


您可以复制/粘贴已有菜单文件或创建一个新文件来新建一个菜单 (请确保文件以 .yml 结尾, 否则插件不会加载此文件).


一个最基础的菜单应当看起来是这样子的:

代码:

  1. Title: '&6菜单标题'
  2. # 可选项
  3. Menu-Type: chest
  4. Rows: 5
  5. Items:
  6. - ...

但是, 还有更多选项可以添加到菜单文件中. 在此篇目中详细介绍了这些配置选项.


标题与标题刷新延迟

这是会显示在菜单Gui顶部的标题. 不仅支持动态,也支持占位符变量


代码:

  1. Title: '&6%player_name%'
  2. # 或
  3. Title:
  4. 1: '&aTitle #1'
  5. 2: '&bTitle #2'

  6. # 可选项, 默认为 20. 在每次标题更新之间的延迟.
  7. Title-Update-Delay: 40
  8. # 或
  9. Title-Update-Delay: 2s

我个人推荐不要手动配置 Title-Update-Delay 为超级低的值
因为更新菜单标题部分的代码并不是很完美. 这项功能是稳定的
但是每次更新菜单标题时都会附带重新设置一遍菜单物品, 所以如果更新较频繁的话可能会造成一些卡顿.


菜单类型与行数

Menu-Type 决定了菜单的种类. 如果设置为 chest, 您就可以使用 Rows 配置选项来指定箱子菜单的行数. 可选值: hopper, dispenser, dropper, workbench.


若使用 AnimatedMenu Plus 插件, 当一个菜单类型当前不可用时, 您也可以这样写: "custom:点击查找所需菜单类型"


代码:

  1. # 可选项, 默认为 chest.
  2. Menu-Type: chest
  3. # 可选项, 默认为 6. 仅当 Menu-Type 被设置为 chest 时有效.
  4. Rows: 3
  5. # 或, 如果您拥有 AnimatedMenu Plus.
  6. Menu-Type: 'custom:brewing:minecraft:brewing_stand'

权限与无权限消息

在打开菜单时要求拥有的一项由 Permission 配置选项决定的权限节点


如果玩家在没有此权限节点的情况下尝试打开该菜单
会向他们发送一条由 Permission-Message 配置选项决定的提示信息(支持变量).


代码:

  1. Permission: 'some.random.permission'
  2. # Optional
  3. Permission-Message: '&c你没有权限打开菜单'
菜单打开器 (包含 Item, Name, Lore 和/或 Slot 配置选项)

一个用于打开菜单的物品.


代码:

  1. Menu-Opener:
  2. Item: 'compass'
  3. Name: '&6选择服务器'
  4. Lore:
  5. - '&a点我!'
  6. # 在玩家加入服务器时自动放入 5 号栏位. 请注意! 这将会覆盖当前存在该栏位中的物品!
  7. Slot: 5
  8. # 或 (又旧又丑, 我更推荐上面的配置方法)
  9. Menu-Opener: 'compass'
  10. Menu-Opener-Name: '&6选择服务器'
  11. Menu-Opener-Lore:
  12. - '&a点我!'
  13. Menu-Opener-Slot: 5
在加入时打开

若设置为 true, 此菜单将在玩家进入服务器时自动打开.


代码:

  1. Open-On-Join: true
打开音效

当菜单打开时播放的一个音效 (格式为 '<音效名> <音量> <音调>' , 其中 <音量> 和 <音调> 为可选项)
<音效名> 可以为 Spigot 音效Minecraft 原生音效 中的任何一个.


代码:

  1. Open-Sound: 'ENTITY_BAT_TAKEOFF 1 2'
  2. # 或
  3. Open-Sound: 'ENTITY_BAT_TAKEOFF'

关于命令隐藏

若设置为 true, 此菜单将不会在 /animatedmenu open/item 命令中显示.


代码:

  1. Hide-From-Command: true
关于菜单命令 (包含 Name, Usage, Description 和/或 Fallback 配置选项)

一个用于打开此菜单的命令.


代码:

  1. Command: 'selector; compass'
  2. # 或
  3. Command:
  4. Name: 'selector; compass'
  5. # 可选项, 命令用法
  6. Usage: '/\<command\>'
  7. # 可选项, 命令描述
  8. Description: 'Open the navigation menu'
  9. # 可选回退命令, 当命令带有过多参数或者命令执行者非玩家时代理执行.
  10. # 与 Name 配置项一一对应, 所以 'say' 是 'selector' (的回退命令)而 'me' 是 'compass' 的回退命令.
  11. # 举个例子, '/compass I like trains' 实际上将会执行 '/me I like trains'
  12. Fallback: 'say; me'

点击冷却

再次点击此菜单上任何物品之前需要等待的冷却时间.


代码:

  1. Click-Delay: 100
  2. # 或
  3. Click-Delay: 5s
物品

一个 菜单物品 的列表. 支持两种声明方法:


代码:

  1. # 新方法, 物品键列表. 这个方法可以让文件变得更小一点.
  2. Items:
  3. - Material: 'diamond-sword'
  4. Name: '&bItem 1'
  5. Slot: 1

  6. - Material: 'gold-sword'
  7. Name: '&eItem 2'
  8. Slot: 2

  9. # 旧方法, 子键列表. 使用此方法使得修复某个出错的菜单物品更容易, 因为控制台将会输出出错的子键名, 而不是其在列表中的位置. 这可以让你能更方便的找到指定的菜单物品 (使用 CTRL+F).
  10. Items:
  11. diamondSword:
  12.     Material: 'diamond-sword'
  13.     Name: '&bItem 1'
  14.     Slot: 1

  15. goldSword:
  16.     Material: 'gold-sword'
  17.     Name: '&eItem 2'
  18.     Slot: 2
世界限制(付费版功能)

以逗号分隔的一个允许打开此菜单的世界列表. 若以 ! 开头则代表黑名单而不是白名单.


代码:

  1. # 使菜单能在 world, world_nether 和 world_the_end 世界中打开.
  2. Worlds: 'world, world_nether, world_the_end'
  3. # 使菜单能在除了 lobby 世界之外的任何世界打开.
  4. Worlds: '!lobby'
可视脚本(付费版功能)

一种条件判断 JavaScript 代码, 并且仅在玩家在此判断中返回 true(即满足条件), 才允许打开此菜单, 支持变量
请注意当你想要使用任何文本值(变量也一样), 你应该使用英文(半角)双引号包起来(即 &quot; &quot; ). 这仅适用于 文本, 数字则不需要.


代码:

  1. # Only open when the player has at least $100
  2. View-Script: '%vault_eco_money% >= 100'
  3. # Only open when the player has name 'megamichiel'
  4. View-Script: '"%player_name%" == "megamichiel"'
打开和关闭菜单时的触发(付费版功能)

在此菜单打开/关闭时执行的命令. 你能在 点击操作处理器 一节中查询到更多信息.


代码:

  1. Open-Commands:
  2. - 'sound: ENTITY_BAT_TAKEOFF 1 2'

自动关闭菜单

自动关闭菜单的等待时长.


代码:

  1. Auto-Close: 200
  2. # 或
  3. Auto-Close: 10s
SQL查询等待与其对应提示消息(付费版功能)

在打开菜单前列出 AnimationLib 的 SQL 查询结果来刷新内容.
教程敬请期待.


保存导航(付费版功能)

当设置为 true 时, 关闭此菜单将会自动打开上一个菜单. 在多页或多类别下的商店菜单中很有用.


代码:

  1. Save-Navigation: true
开启动画(付费版功能)

当物品被加载入菜单时, 展现的动画形式 (格式为 '&lt;动画类型&gt;:&lt;播放速度&gt;' , 其中&lt;播放速度&gt; 为可选项).
&lt;动画类型&gt; 可选值有: down, up, right, left, down-right, up-left, down-left, up-right, out, in, snake-down, snake-up, snake-right, snake-left.


代码:

  1. Open-Animation: out
  2. # 或
  3. Open-Animation: snake-down:0.5
空白占位物品(付费版功能)

放在空白格位的物品. 与 菜单物品 有相同的配置格式(只是没有 Slot 配置选项).
它拥有一个专属的配置选项: Single. 若设置为 true, 将为菜单中的每个空格位加载单个物品, 以略微提升性能.
请注意, 菜单的刷新都会重加载一遍物品.


代码:

  1. Empty-Item:
  2. Material: 'stained-glass-pane:1:gray'
  3. Name: '&7'
  4. # Optional
  5. Single: true
关于变量

AnimatedMenu 主要使用 AnimationLib 来提供变量.所以不靠它的插件本身的变量. AnimationLib 还需要 PlaceholderAPIMVdWPlaceholderAPI 来作为前置.
你可以使用 %placeholder% 来为文本添加一个变量.
AnimatedMenu 本身提供了以下变量:


服务器状态变量

以下列出变量都可以含有一个 &lt;id&gt; . 若要使用此特性, 在插件的 config.yml 中你需要再按照以下格式配置:

代码:

  1. Connections:
  2. <id>:
  3.     IP: '<ip>:<port>'
  4.     # ... 更多信息可在特定变量中看到
&lt;id&gt; 可以为任何内容, 只需确保在变量中填入相同的值即可.


%animatedmenu_motd_&lt;id&gt;% 或 %animatedmenu_motd_&lt;ip&gt;:&lt;port&gt;%
获取目标服务器的 Motd.


%animatedmenu_motd1_&lt;id&gt;% 或 %animatedmenu_motd1_&lt;ip&gt;:&lt;port&gt;%
获取目标服务器的 Motd 的第一行.


%animatedmenu_motd2_&lt;id&gt;% 或 %animatedmenu_motd2_&lt;ip&gt;:&lt;port&gt;%
获取目标服务器的 Motd 的第二行. 若 Motd 只有一行, 将会返回一个空的字符串.


%animatedmenu_onlineplayers_&lt;id&gt;% 或 %animatedmenu_onlineplayers_&lt;ip&gt;:&lt;port&gt;%
获取目标服务器的在线人数.


%animatedmenu_maxplayers_&lt;id&gt;% 或 %animatedmenu_maxplayers_&lt;ip&gt;:&lt;port&gt;%
获取目标服务器的最大在线人数.


%animatedmenu_status_&lt;id&gt;%
获取目标服务器的状态.
在配置文件中, 你需要多配置两个配置选项, &quot;Online&quot; 和 &quot;Offline&quot;:

代码:

  1. Connections:
  2. example:
  3.     IP: <ip>:<port>
  4.     Online: '&aOnline'
  5.     Offline: '&cOffline'
  6. # 这样写你就能使用 %animatedmenu_status_example% 这个变量了.
%animatedmenu_motdcheck_&lt;id&gt;%
若目标 Motd 包含特定的内容则返回对应值.
在配置文件中, 你需要将需要映射值的文本与对应值配置好.

代码:

  1. Connections:
  2. example:
  3.     IP: <ip>:<port>
  4.     # In game(游戏进行中)? 返回红色羊毛.
  5.     '&cIn Game': 'wool:1:14'
  6.     # Waiting(等待加入)? 返回绿色羊毛!
  7.     '&aWaiting': 'wool:1:5'
  8.     # 目标 Motd 不属于以上任何情况(即默认返回值).
  9.     Default: 'wool:1:14'
  10.     # 服务器离线
  11.     Offline: 'wool:1:14'

  12. # 然后你就可以在 Material 中使用这个变量了:
  13. Material: '%animatedmenu_motdcheck_example%'


其它

%animatedmenu_worldplayers_&lt;world&gt;%
获取目标世界的玩家数量.


%animatedmenu_shownplayers_&lt;world&gt;%
获取目标世界的玩家数量.
不包含使用 Essentials 的 /vanish 指令隐身的玩家.



菜单物品

入门
菜单物品的添加老实说相当简单.在 菜单-物品 一节中你可以找到向菜单添加物品的方法.
为了简单起见, 我会在此页面多放一些示例以帮助理解

代码:

  1. Slot: 1
  2. Material: 'diamond-sword:1:0'
  3. Name: '&bDiamond Sword'

在菜单的 .yml 文件中为:

代码:

  1. Items:
  2. - Slot: 1
  3. Material: 'diamond-sword:1:0'
  4. Name: '&bDiamond Sword'
  5. ...
或:

代码:

  1. Items:
  2. diamondSword:
  3.     Slot: 1
  4.     Material: 'diamond-sword:1:0'
  5.     Name: '&bDiamond Sword'
  6. ...

格位与X/Y坐标

格位(Slot) 就是物品在菜单上的位置.你也可以通过使用 X 配置键和 Y 配置键, 来分别指定物品的横轴坐标和纵轴坐标.作为 X 和 Y 的替换方案, 你也可以在 Slot 配置键中按照这样的格式配置: '&lt;X&gt;, &lt;Y&gt;'.

代码:

  1. Slot: 23
  2. # 或
  3. X: 5
  4. Y: 3
  5. # 或
  6. Slot: '5, 3'

使用 AnimatedMenu Plus, 格位可以为一个列表, 一个范围 (\&lt;from&gt;-\&lt;to&gt;) 并且支持变量. 它也可以动态化.
你也可以使用一些特殊的变量:


  • {first_empty_&lt;from&gt;}: 第一个空格为, 从 &lt;from&gt; 中设定的值开始 (from 为可选项)
  • {last_empty_&lt;from&gt;}: 最后一个空格位, 从 &lt;from&gt; 中设定的值开始 (from 为可选项)
  • {random_&lt;from&gt;_&lt;to&gt;}: 从 &lt;from&gt; 到 &lt;to&gt; 中的随机一个格位 (from 和 to 都是可选项)
  • {random_empty}: 随机一个空格位.
  • {highest_amount} 和 {lowest_amount}: 第一个空格位 或者 具有比该物品数量更小(highest_amount)或更大(lowest_amount)的一个物品前(每个物品向右移动1格).
  • {highest_weight} 和 {lowest_weight}: 与上一个相同, 不过比较的是 权重(Weights) 而不是数量.

    代码:

    1. Slot:
    2. #如下配置将会把物品填充在菜单的 1-9, 14 以及第一个空格位, 并且每秒还会在 10, 11 或 12 格位三者之一中填充物品.
    3. - '1-9'
    4. - 14
    5. - '{first_empty}'
    6. - 1: 10
    7. 2: 11
    8. 3: 12
    9. Delay: 1s


权重与其刷新延迟 (付费版功能)


物品的 权重(Weight), 用于 格位(Slot) 的变量.只是一个支持变量的数字而已. Weight-Delay 指定了权重的刷新延迟.

代码:

  1. Weight: '%player_health%'
  2. Weight-Delay: '5s'

状态与其刷新延迟(付费版功能)

一个非常有用的特性, 这允许物品根据变量而变化.状态(State) 配置键用于指定当前物品的状态并且支持变量, State-Delay 则指定了状态刷新的延迟.States 的所有子配置键同样也支持变量, 并且你需要在这里定义一个基础物品(用于在切换到当前状态时显示).或其他值. 除了 State, States 和 State-Delay 的配置键中定义的值都会被加载为 States 的子配置键中的默认值.State 也支持包含特殊前缀的值, 每个返回值是 '是' 或 '否' 的特殊前缀:


  • 'permission: &lt;权限&gt;' - 玩家是否拥有指定权限
  • 'money|points|gems|tokens|coins: &lt;值&gt;' - 玩家是否至少拥有指定数量的货币. '|' 的意思是 .
  • 'level: &lt;等级&gt;' - 玩家是否至少达到指定的等级
    请注意, 基本上 除了 格位(Slot)权重(Weight) 配置键之外的其他菜单物品配置键都能作为一个状态的子配置键. 这些配置键都必须先在该物品中被定义后才可再由状态来改变.

    代码:

    1. Slot: 5
    2. # 两种状态下都会加载
    3. Name: '&6Bed Wars 1'
    4. Frame-Delay: 5s
    5. # 获取服务器的 Motd
    6. State: '%animatedmenu_motd_localhost:25565%'
    7. # 每5秒更新一次状态
    8. State-Delay: 5s
    9. States:
    10. '&cIn Game':
    11. Material: 'wool:%animatedmenu_onlineplayers_localhost:25565%:red'
    12. Lore:
    13. - '&cIn Game'
    14. '&aWaiting':
    15. Material: 'wool:%animatedmenu_onlineplayers_localhost:25565%:green'
    16. Lore:
    17. - '&aWaiting'
    18. - '&7Click to join'
    19. Commands:
    20. - 'server: bedwars1'
    21. offline:
    22. Material: 'wool:1:red'
    23. Lore:
    24. - '&cOffline'


帧刷新延迟

跳转到物品动画值的下一帧的延迟. 在付费版中, 此值可以通过在任意动态值下添加 &quot;Delay&quot; 子配置键的方式覆写.你可以在对应配置键的示例中看到.

代码:

  1. Frame-Delay: 100
  2. # 或, 使用 AnimatedMenu plus
  3. Frame-Delay: 5s

刷新延迟

刷新此物品的延迟. 帧刷新延迟 同样也会导致物品的刷新, 但是可以使用此配置键来让此物品的刷新更快速.举个例子, 用于刷新变量.

代码:

  1. Refresh-Delay: 100
  2. # 或, 使用 AnimatedMenu plus
  3. Refresh-Delay: 5s

材质

物品的材质, 格式为 &lt;种类&gt;:&lt;数量&gt;:&lt;附加值&gt; (&lt;数量&gt; 和 &lt;附加值&gt; 都为可选项).可动态化并且支持变量.
AnimatedMenu Plus 允许使用一些预先配置好的命名数据来作为值. 若要这么做, 请查看 'AnimatedMenu Plus' 插件文件夹中的 'data-values.yml' 文件.

代码:

  1. # 1 个附加值为 50 的钻石剑
  2. Material: 'diamond-sword:1:50'
  3. # 或
  4. Material:
  5. 1: 'wool:1:5'
  6. 2: 'wool:1:14'
  7. # 使用 AnimatedMenu Plus
  8. Delay: 5s
  9. # 或, 使用 AnimatedMenu plus
  10. Material: stained-glass-pane:1:gray

显示名

物品显示的名字. 可动态化并且支持变量.

代码:

  1. Name: '&a%player_name%'
  2. # 或
  3. Name:
  4. 1: '&aI am green'
  5. 2: '&cI am red'
  6. # 使用 AnimatedMenu Plus
  7. Delay: 1s

Lore

物品的 Lore. 可动态化并且支持变量.
AnimatedMenu Plus 可以 &quot;模块化&quot; 物品的 Lore.这样就可以做到只动态化 Lore 的一部分.
只要在某行写上 'file: &lt;文件名&gt;', 就可以从 &quot;plugins/AnimatedMenu(Plus)/images&quot; 文件夹中读取指定的图片文件并且写入 Lore 中.
AnimatedMenu Plus 甚至支持自定义化程度更高得图片加载功能. 详情请参阅第二个 YML 文件片段 (三号示例).

代码:

  1. Lore:
  2. - '&aLore line 1'
  3. - '&bLore line 2'
  4. - 'file: file.png'
  5. # 或者
  6. Lore:
  7. 1:
  8. - '&aLore line 1'
  9. - '&bLore line 2'
  10. 2:
  11. - '&bLore line 1'
  12. - '&aLore line 2'
  13. Delay: 2s
或者, 使用 AnimatedMenu Plus:

代码:

  1. Lore:
  2. - '&aLore line 1'
  3. - 1:
  4. - '&bLore line 2'
  5. 2:
  6. - '&cLore line 2'
  7. Delay: 5s
  8. - 1: '&dLore line 3'
  9. 2: '&eLore line 3'
  10. # 2.5 秒
  11. Delay: 2s10t
  12. - Image: somefile.gif
  13. # 同样也支持文件夹. 这将会加载文件夹中的所有图片文件 (包括 gif 动图)
  14. - Image: somefolder
  15. # 像素
  16. Pixel: '[]'
  17. # 透明像素
  18. Transparent: '&0[]'
  19. # 当文件夹中的多个图片具有不同的高度时, 填充在较小图片末尾的空白行.
  20. Blank: '&0-----------'
  21. # 跳转到下一张图片之间的延迟
  22. Delay: 20
  23. # 当设置为 true 时, 将从列表中随机选取图片而不是顺序循环显示图片.
  24. Random: true

附魔

附魔列表, 格式为 &lt;附魔名&gt;:&lt;等级&gt; (&lt;等级&gt; 为可选项)./enchant 和 Spigot页面 中列出的附魔名皆支持.
在付费版中, 此项配置可动画化并且等级支持变量.

代码:

  1. Enchantments:
  2. - unbreaking:3
  3. - efficiency:5
  4. # 或, 使用 Animated Menu Plus
  5. Enchantments:
  6. 1:
  7. - unbreaking:3
  8. 2:
  9. # 玩家自身每提升 10 等级, 额外提升 1 级效率附魔.
  10. - 'efficiency:\(:#:%player_level% / 10)'
  11. Delay: 5s

颜色

皮革护甲的颜色. 在 AnimatedMenu Plus 中可动态化.
格式为 'R, G, B' (R, G 和 B 三者的值都在 0 到 255 之间) 或 'RRGGBB' (HEX 颜色值, 在颜色采集工具中常以 # 开头表示)

代码:

  1. # 红色
  2. Color: '255, 0, 0'
  3. # 或, 使用 AnimatedMenu Plus
  4. Color:
  5. # 红色
  6. 1: '255, 0, 0'
  7. # 绿色
  8. 2: '00FF00'
  9. # 蓝色
  10. 3: '0000FF'
  11. Delay: 5s

头颅

头颅的主人(将会显示其主任的皮肤头颅). 支持变量并且在 AnimatedMenu Plus 中可动态化.
配置方式可为以下任意一种:
  • 'hdb:&lt;id&gt;' - HeadDatabase 中的头颅.
  • 玩家的 UUID - 可以带或不带连字符.
  • 玩家ID.
  • Base64 编码的皮肤材质数据.一个 give 命令的例子: /give @p skull 1 3 {SkullOwner:{Id:&quot;0461c835-179c-473a-9c1a-90133873ef86&quot;,Properties:{textures:[{Value:&quot;eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZTgxYTM5OWU0ZDJlOGYxYTgyOGUxYzRiYzRjYTk5ZWZlZDE1MDhmM2Y0MjFkOTg4NzQ3Mj**TY0ZDgzIn19fQ==&quot;}]}}} 以下就是目标数据eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZTgxYTM5OWU0ZDJlOGYxYTgyOGUxYzRiYzRjYTk5ZWZlZDE1MDhmM2Y0MjFkOTg4NzQ3Mj**TY0ZDgzIn19fQ==
  • 皮肤链接(Skin URL).

    代码:

    1. Skull-Owner: 'Notch'
    2. # 或
    3. Skull-Owner: '%player_uuid%'
    4. # 或, 使用 AnimatedMenu Plus
    5. Skull-Owner:
    6. 1: 'hdb:1234'
    7. 2: 'hdb:5678'
    8. Delay: 5s


生物蛋类型
生物蛋的 实体种类.在 AnimatedMenu Plus 中可动态化.

旗帜样式

旗帜或盾牌的图案样式. 在 AnimatedMenu Plus 中可动态化.
要设计一个旗帜样式, 前往 Miners Need Cool Shoes 网站然后设计出你想要的图案.接着, 复制出下图中框出的部分填入配置文件中:

代码:

  1. Banner-Pattern: 'paaxawaCai'
  2. # 或, 使用 AnimatedMenu Plus
  3. Banner-Pattern:
  4. 1: 'paaxawaCai'
  5. 2: 'paaimoet'
  6. Delay: 10s

烟火之星颜色

烟火之星的颜色. 与 (皮革护甲)颜色有相同的配置格式在 AnimatedMenu Plus 中支持动态化.

隐藏选项

隐藏物品一些属性的标识. 在 AnimatedMenu Plus 可动态化.
可以为(下者二选一):
  • 一个数字, 与 Items HideFlags 相同. 在这篇文章中写道: {HideFlags:1-63} (1 = Enchantments(附魔), 2 = Attributes modifiers(属性改动), 4 = Unbreakable(无法破坏), 8 = CanDestroy(可以破坏的物品), 16 = CanPlaceOn(可以放置的物品), 32 = Others(其他), 比如药水效果 &amp; 盾牌样式信息)
  • 一个隐藏标识名的逗号分隔列表, 基于 Bukkit 中的名字: enchants, attributes, unbreakable, destroys, _placed_on_ 和 _potion_effects_.

    代码:

    1. Hide-Flags: 63
    2. # 或
    3. Hide-Flags: 'enchants, unbreakable'
    4. # 或, 使用 AnimatedMenu Plus
    5. Hide-Flags:
    6. 1: 63
    7. 2: 'enchants, unbreakable'
    8. Delay: 5s


可视权限

看见此物品所需的权限节点. 支持变量.以 '-' 来反向使用 (即没有此权限才能看到此物品).

代码:

  1. View-Permission: 'some.item.permission'
  2. # 或
  3. View-Permission: '-some.item.permission'

可视脚本(付费版功能)

一种条件判断 JavaScript 代码, 并且仅在玩家在此判断中返回 true(即满足条件), 才能看见此物品.支持变量.请注意当你想要使用任何文本值(变量也一样), 你应该使用英文(半角)双引号包起来.这仅适用于 文本, 数字则不需要, 谨记!

代码:

  1. # 数字, 所以不需要 ""
  2. View-Script: '%vault_eco_balance% > 20'
  3. # 世界名, 所以需要 ""
  4. View-Script: '"%player_world%" == "world"'

不可破坏

当设置为 true 时, 此物品将不会显示耐久条.将 隐藏选项 设置为 unbreakable 搭配食用更佳, 这对于在菜单中显示自定义材质的物品非常有用.
如果你正在使用 AnimatedMenu Plus 并且设置了 NBT标签, 此配置选项值将会被忽略.

代码:

  1. Unbreakable: true
  2. # 可选项, 隐藏此配置选项给物品带来的蓝色 "Unbreakable".
  3. Hide-Flags: unbreakable

NBT标签(付费版功能)

一个可动态化的自定义NBT标签配置选项.这可用于添加(当前)不具有专用配置选项的内容.这与 Minecraft 原生 NBT 标签工作方式相同, 除了它现在有 YAML 配置格式了.
通常来讲, 你有一个这样的 NBT 标签:

代码:

  1. {AttributeModifiers:[0:{AttributeName:"...",Name:"...",Amount:0,Operation:0}, 1:{AttributeName:"...",Name:"...",Amount:1,Operation:1,UUIDLeast:5271890,UUIDMost:1287355}]}
在 YAML 中, 会变成这样:

代码:

  1. NBT:
  2. AttributeModifiers:
  3. - AttributeName: '...'
  4.     Name: '...'
  5.     Amount: 0
  6.     Operation: 0
  7. - AttributeName: '...'
  8.     Name: '...'
  9.     Amount: 1
  10.     Operation: 1
  11.     UUIDLeast: 5271890
  12.     UUIDMost: 1287355

点击操作处理器

一个用于处理物品点击操作的后续动作的配置方案.在配置此项内容中会使用到的关键内容会在 点击操作处理器 页面中详细介绍.
此配置选项有两种添加方法:
作为一组子配置选项:

代码:

  1. Click-Handlers:
  2. first:
  3.     Click-Type: left
  4.     Commands:
  5.     - ...
  6. second:
  7.     Click-Type: right
  8.     Commands:
  9.     - ...
作为一个列表:

代码:

  1. Click-Handlers:
  2. - Click-Type: left
  3. Commands:
  4. - ...
  5. - Click-Type: right
  6. Commands:
  7. - ...
或者, 与物品本身的基础定义放在一起, 在这种情况下你只能添加一种点击操作了:

代码:

  1. Slot: ...
  2. Material: ...
  3. Name: ...
  4. Click-Type: left
  5. Commands:
  6. - ...
点击操作处理器
点击操作处理器是优化你的菜单互动体验的关键
关于如何在一个菜单物品上添加点击操作处理器已经在 菜单物品-点击操作处理器 一节中介绍过了
而此页面则详细介绍了所有可用的(点击操作处理器)关键词

点击类型

可以为单一值或使用逗号分隔开的多个值
可选值有 left, right 和 middle, all 表示允许全部的三种点击
或者使用 both 来仅允许 left 和 right 类型的点击. 默认值为 both

代码:

  1. Click-Type: left
  2. Click-Type: right, middle
  3. Click-Type: all
  4. Click-Type: both

潜行键点击

可以为 true, false 或者 both (默认值).

代码:

  1. Shift-Click: true
  2. Shift-Click: false
  3. Shift-Click: both

执行命令

待执行命令的列表. 可动态化并且支持变量.


你可以使用不同的前缀来以多种方式执行命令:
  • 不使用任何前缀代表以玩家身份执行命令.
  • chat: - 使玩家发送一条聊天消息.
  • console: - 以控制台身份执行命令.
  • message: - 向玩家发送一条消息.
  • op: - 以 op 身份执行命令.
  • broadcast: - 向整个服务器发送一条公告.
  • menu: - 使玩家打开另一个菜单.
  • give: - 给予玩家物品. 与 Item(配置键) 格式相同
  • server: - 将玩家传送到另一个 BungeeCord 子服务器.
  • tellraw: - 向玩家发送一条 json 消息. 与 /tellraw 命令 相同.
  • sound: - 向玩家播放一个音效, 与 打开音效 格式相同.
  • action: - 使玩家执行一项 ActionAPI 命令.

一些前缀为仅 AnimatedMenu Plus 拥有:
  • bungeeplayer: - 使玩家通过 BungeeCord 代理执行命令. 此功能需要 AnimatedMenu Plus 同时也被安装到 BungeeCord 端中. (无需进一步配置)
  • bungee: - 以 BungeeCord 代理控制台的身份执行命令. 此功能也需要将 AnimatedMenu Plus 放入 BungeeCord 的插件文件夹.
  • script: - 执行一些 JavaScript 代码.
  • sql: - 执行 SQL 查询 (教程即将到来)

代码:

  1. Commands:
  2. - 'say Hi everybody!'
  3. - 'console: tellraw %player_name% {"color":"blue","text":"Hi there!"}'
  4. - 'tellraw: {"color":"blue","text":"Hi there!"}'
  5. # OR
  6. Commands:
  7. 1:
  8. - '&aThis is the first message!'
  9. 2:
  10. - '&bThis is the second message!'
  11. Random: true

权限与无权限消息

Permission 指定执行此点击操作所需的权限.
支持变量. Permission-Message 指定一条在玩家没有执行此点击操作所需的 权限 时发送的消息. 支持变量.
默认值为 '&amp;cYou are not permitted to do that!'

代码:

  1. Permission: 'some.random.permission'
  2. Permission-Message: '&cYou are not allowed to do this, %player_name%!'

忽略权限

如果玩家拥有在此指定的权限节点, 他们在执行此点击操作时不需要支付(金钱或者点数). 支持变量.

代码:

  1. Bypass-Permission: 'some.bypass.permission'

关闭

可以为 always, on-success (当玩家允许执行此点击操作时), on-failure (当玩家不满足条件时) 或 never (默认值).

代码:

  1. Close: on-success

点击冷却与冷却消息

Click-Delay 指定在两次执行此点击操作之间必须等待的冷却时间.
Delay-Message 指定一条在冷却时间尚未结束时点击发送的消息.


它支持一些特定的变量:
  • {delay_ticks_total} - 剩余的总 Tick 数(即将剩余的时间完全用 Tick 表示, 以下不再注明)
  • {delay_ticks} - 不足一秒的 Tick 数(即用于表示: xx 秒 xx Ticks, 以下不再注明)
  • {delay_seconds_total} - 剩余的总秒数
  • {delay_seconds} - 不足一分钟剩余的秒数
  • {delay_minutes_total} - 剩余的总分钟数
  • {delay_minutes} - 不足一小时剩余的分钟数
  • {delay_hours_total} - 剩余的总小时数
  • {delay_hours} - 不足一天剩余的小时数
  • {delay_days_total} - 剩余的总天数
  • {delay_days} - 不足一周剩余的天数
  • {delay_weeks} - 剩余的总周数

代码:

  1. Click-Delay: 5s
  2. Click-Delay: 5h30m

  3. Delay-Message: '&cYou cannot do this for another {delay_hours}hours, {delay_minutes} minutes and {delay_seconds\} seconds'


条件脚本与脚本否消息

Requirement-Script 是一种条件判断 JavaScript 代码, 并且仅在玩家在此判断中返回 true 时(即满足条件)允许执行此点击操作. 支持变量.
请注意当你想要使用任何文本值(变量也一样), 你应该使用英文(半角)双引号包起来.
这仅适用于文本, 数字则不需要.
Script-Message 当条件判断代码返回值为 false 时发送的消息.
默认值为 '&amp;cYou are not permitted to do that!'

代码:

  1. # 仅当玩家有至少 $100 时才可执行
  2. Requirement-Script: '%vault_eco_money% >= 100'
  3. # 仅当玩家名为 'megamichiel' 时才可执行
  4. Requirement-Script: '"%player_name%" == "megamichiel"'

金钱要求与其对应提示消息

Price 指定执行此点击操作所需要的 Vault 钱数.
Price-Message 指定了当玩家没有足够的钱时发送的提示消息.
默认值为 '&amp;cYou don't have enough money for that!'

代码:

  1. Price: 50
  2. Price-Message: '&cYou need at least $50 for that!'

点数要求与其对应提示消息

Points 指定执行此点击操作所需要的 PlayerPoints 点数.
Points-Message 指定了当玩家没有足够的点数时发送的提示消息.
默认值为 '&amp;cYou don't have points money for that!'

代码:

  1. Points: 100
  2. Points-Message: '&cYou need at least 100 points for that!'

宝石要求与其对应提示消息

Gems 指定执行此点击操作所需要的 Gems 宝石数.
Gems-Message 指定了当玩家没有足够的宝石时发送的提示消息.
默认值为 '&amp;cYou don't have enough gems for that!'

代码:

  1. Gems: 30
  2. Gems-Message: '&cYou need at least 30 gems for that!'

代币要求与其对应提示消息

Tokens 指定执行此点击操作所需要的 Vault 代币数.
Tokens-Message 指定了当玩家没有足够的代币时发送的提示消息.
默认值为 '&amp;cYou don't have enough tokens for that!'

代码:

  1. Tokens: 43
  2. Tokens-Message: '&cYou need at least 43 tokens for that!'

硬币要求与其对应提示消息

Coins 指定执行此点击操作所需要的 Vault 硬币数.
Coins-Message 指定了当玩家没有足够的硬币时发送的提示消息.
默认值为 '&amp;cYou don't have enough coins for that!'

代码:

  1. Coins: 420
  2. Coins-Message: '&cYou need at least 420 coins for that!'

经验值要求与其对应提示消息

Exp 指定执行此点击操作所需要的经验值.
若以 'L' 为开头则指定经验等级而不是经验点数.
Exp-Message 指定了当玩家没有足够的经验值时发送的提示消息.
默认值为 '&amp;cYou don't have enough exp for that!'

代码:

  1. Exp: 500
  2. Exp-Message: '&cYou need at least 500 experience for that!'
  3. # 或
  4. Exp: L30
  5. Exp-Message: '&cYou need at least 30 experience levels for that!'

物品要求与其对应提示消息(付费版功能)

Item 指定执行此点击操作所需要的物品, 格式为 &quot;&lt;种类&gt;:&lt;数量&gt;:&lt;附加值&gt; &lt;NBT标签&gt;&quot; (数量, 附加值 和 NBT标签 都为可选项).
Item-Message 指定了当玩家没有足够的物品时发送的提示消息.
默认值为 '&amp;cYou don't have enough of that item!'

代码:

  1. Item: 'diamond:64'
  2. Item-Message: '&cYou need at least 64 diamonds for that!'
  3. # 或
  4. Item: 'diamond-sword:1:0 {display:{Name:"&5Special Diamond Sword"},ench:[{id:34,lvl:3}]}'
  5. Item-Message: '&cYou don't have the &5Special Diamond Sword&c!'




卡狗
维基应该是wikipedia的专有称呼吧……现在已经流行这么说了吗

Legoshi
感言

一天爆肝完成,
有一些地方原文讲的有点绕我没有看得太懂,如果找出错误请原谅,
若有更好的译文,能告知我们的话就更好了,感谢您的支持。
xD

luokuan
..............

第一页 上一页 下一页 最后一页