首页前言 |
欢迎来到 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 结尾, 否则插件不会加载此文件). 一个最基础的菜单应当看起来是这样子的:
但是, 还有更多选项可以添加到菜单文件中. 在此篇目中详细介绍了这些配置选项. |
标题与标题刷新延迟 |
这是会显示在菜单Gui顶部的标题. 不仅支持动态,也支持占位符变量
我个人推荐不要手动配置 Title-Update-Delay 为超级低的值 因为更新菜单标题部分的代码并不是很完美. 这项功能是稳定的 但是每次更新菜单标题时都会附带重新设置一遍菜单物品, 所以如果更新较频繁的话可能会造成一些卡顿. |
菜单类型与行数 |
Menu-Type 决定了菜单的种类. 如果设置为 chest, 您就可以使用 Rows 配置选项来指定箱子菜单的行数. 可选值: hopper, dispenser, dropper, workbench. 若使用 AnimatedMenu Plus 插件, 当一个菜单类型当前不可用时, 您也可以这样写: "custom:点击查找所需菜单类型"
|
权限与无权限消息 |
在打开菜单时要求拥有的一项由 Permission 配置选项决定的权限节点 如果玩家在没有此权限节点的情况下尝试打开该菜单 会向他们发送一条由 Permission-Message 配置选项决定的提示信息(支持变量).
|
菜单打开器 (包含 Item, Name, Lore 和/或 Slot 配置选项) |
一个用于打开菜单的物品.
|
在加入时打开 |
若设置为 true, 此菜单将在玩家进入服务器时自动打开.
|
打开音效 |
当菜单打开时播放的一个音效 (格式为 '<音效名> <音量> <音调>' , 其中 <音量> 和 <音调> 为可选项) <音效名> 可以为 Spigot 音效 或 Minecraft 原生音效 中的任何一个.
|
关于命令隐藏 |
若设置为 true, 此菜单将不会在 /animatedmenu open/item 命令中显示.
|
关于菜单命令 (包含 Name, Usage, Description 和/或 Fallback 配置选项) |
一个用于打开此菜单的命令.
|
点击冷却 |
再次点击此菜单上任何物品之前需要等待的冷却时间.
|
物品 |
一个 菜单物品 的列表. 支持两种声明方法:
|
世界限制(付费版功能) |
以逗号分隔的一个允许打开此菜单的世界列表. 若以 ! 开头则代表黑名单而不是白名单.
|
可视脚本(付费版功能) |
一种条件判断 JavaScript 代码, 并且仅在玩家在此判断中返回 true(即满足条件), 才允许打开此菜单, 支持变量 请注意当你想要使用任何文本值(变量也一样), 你应该使用英文(半角)双引号包起来(即 " " ). 这仅适用于 文本, 数字则不需要.
|
打开和关闭菜单时的触发(付费版功能) |
在此菜单打开/关闭时执行的命令. 你能在 点击操作处理器 一节中查询到更多信息.
|
自动关闭菜单 |
自动关闭菜单的等待时长.
|
SQL查询等待与其对应提示消息(付费版功能) |
在打开菜单前列出 AnimationLib 的 SQL 查询结果来刷新内容. 教程敬请期待. |
保存导航(付费版功能) |
当设置为 true 时, 关闭此菜单将会自动打开上一个菜单. 在多页或多类别下的商店菜单中很有用.
|
开启动画(付费版功能) |
当物品被加载入菜单时, 展现的动画形式 (格式为 '<动画类型>:<播放速度>' , 其中<播放速度> 为可选项). <动画类型> 可选值有: down, up, right, left, down-right, up-left, down-left, up-right, out, in, snake-down, snake-up, snake-right, snake-left.
|
空白占位物品(付费版功能) |
放在空白格位的物品. 与 菜单物品 有相同的配置格式(只是没有 Slot 配置选项). 它拥有一个专属的配置选项: Single. 若设置为 true, 将为菜单中的每个空格位加载单个物品, 以略微提升性能. 请注意, 菜单的刷新都会重加载一遍物品.
|
关于变量 |
AnimatedMenu 主要使用 AnimationLib 来提供变量. 所以不靠它的插件本身的变量. AnimationLib 还需要 PlaceholderAPI 或 MVdWPlaceholderAPI 来作为前置. 你可以使用 %placeholder% 来为文本添加一个变量. AnimatedMenu 本身提供了以下变量:
|
菜单物品 |
- Slot: 1
- Material: 'diamond-sword:1:0'
- Name: '&bDiamond Sword'
在菜单的 .yml 文件中为:
- Items:
- - Slot: 1
- Material: 'diamond-sword:1:0'
- Name: '&bDiamond Sword'
- ...
- Items:
- diamondSword:
- Slot: 1
- Material: 'diamond-sword:1:0'
- Name: '&bDiamond Sword'
- ...
格位与X/Y坐标
格位(Slot) 就是物品在菜单上的位置.
- Slot: 23
- # 或
- X: 5
- Y: 3
- # 或
- Slot: '5, 3'
使用 AnimatedMenu Plus, 格位可以为一个列表, 一个范围 (\<from>-\<to>) 并且支持变量. 它也可以动态化.
你也可以使用一些特殊的变量:
- {first_empty_<from>}: 第一个空格为, 从 <from> 中设定的值开始 (from 为可选项)
- {last_empty_<from>}: 最后一个空格位, 从 <from> 中设定的值开始 (from 为可选项)
- {random_<from>_<to>}: 从 <from> 到 <to> 中的随机一个格位 (from 和 to 都是可选项)
- {random_empty}: 随机一个空格位.
- {highest_amount} 和 {lowest_amount}: 第一个空格位 或者 具有比该物品数量更小(highest_amount)或更大(lowest_amount)的一个物品前(每个物品向右移动1格).
- {highest_weight} 和 {lowest_weight}: 与上一个相同, 不过比较的是 权重(Weights) 而不是数量.
复制代码- Slot:
- #如下配置将会把物品填充在菜单的 1-9, 14 以及第一个空格位, 并且每秒还会在 10, 11 或 12 格位三者之一中填充物品.
- - '1-9'
- - 14
- - '{first_empty}'
- - 1: 10
- 2: 11
- 3: 12
- Delay: 1s
- Slot:
物品的 权重(Weight), 用于 格位(Slot) 的变量.
- Weight: '%player_health%'
- Weight-Delay: '5s'
状态与其刷新延迟(付费版功能)
一个非常有用的特性, 这允许物品根据变量而变化.
- 'permission: <权限>' - 玩家是否拥有指定权限
- 'money|points|gems|tokens|coins: <值>' - 玩家是否至少拥有指定数量的货币. '|' 的意思是 或.
- 'level: <等级>' - 玩家是否至少达到指定的等级
请注意, 基本上 除了 格位(Slot) 和 权重(Weight) 配置键之外的其他菜单物品配置键都能作为一个状态的子配置键. 这些配置键都必须先在该物品中被定义后才可再由状态来改变.复制代码- Slot: 5
- # 两种状态下都会加载
- Name: '&6Bed Wars 1'
- Frame-Delay: 5s
- # 获取服务器的 Motd
- State: '%animatedmenu_motd_localhost:25565%'
- # 每5秒更新一次状态
- State-Delay: 5s
- States:
- '&cIn Game':
- Material: 'wool:%animatedmenu_onlineplayers_localhost:25565%:red'
- Lore:
- - '&cIn Game'
- '&aWaiting':
- Material: 'wool:%animatedmenu_onlineplayers_localhost:25565%:green'
- Lore:
- - '&aWaiting'
- - '&7Click to join'
- Commands:
- - 'server: bedwars1'
- offline:
- Material: 'wool:1:red'
- Lore:
- - '&cOffline'
- Slot: 5
帧刷新延迟
跳转到物品动画值的下一帧的延迟. 在付费版中, 此值可以通过在任意动态值下添加 "Delay" 子配置键的方式覆写.
- Frame-Delay: 100
- # 或, 使用 AnimatedMenu plus
- Frame-Delay: 5s
刷新延迟
刷新此物品的延迟. 帧刷新延迟 同样也会导致物品的刷新, 但是可以使用此配置键来让此物品的刷新更快速.
- Refresh-Delay: 100
- # 或, 使用 AnimatedMenu plus
- Refresh-Delay: 5s
材质
物品的材质, 格式为 <种类>:<数量>:<附加值> (<数量> 和 <附加值> 都为可选项).
AnimatedMenu Plus 允许使用一些预先配置好的命名数据来作为值. 若要这么做, 请查看 'AnimatedMenu Plus' 插件文件夹中的 'data-values.yml' 文件.
- # 1 个附加值为 50 的钻石剑
- Material: 'diamond-sword:1:50'
- # 或
- Material:
- 1: 'wool:1:5'
- 2: 'wool:1:14'
- # 使用 AnimatedMenu Plus
- Delay: 5s
- # 或, 使用 AnimatedMenu plus
- Material: stained-glass-pane:1:gray
显示名
物品显示的名字. 可动态化并且支持变量.
- Name: '&a%player_name%'
- # 或
- Name:
- 1: '&aI am green'
- 2: '&cI am red'
- # 使用 AnimatedMenu Plus
- Delay: 1s
Lore
物品的 Lore. 可动态化并且支持变量.
AnimatedMenu Plus 可以 "模块化" 物品的 Lore.
只要在某行写上 'file: <文件名>', 就可以从 "plugins/AnimatedMenu(Plus)/images" 文件夹中读取指定的图片文件并且写入 Lore 中.
AnimatedMenu Plus 甚至支持自定义化程度更高得图片加载功能. 详情请参阅第二个 YML 文件片段 (三号示例).
- Lore:
- - '&aLore line 1'
- - '&bLore line 2'
- - 'file: file.png'
- # 或者
- Lore:
- 1:
- - '&aLore line 1'
- - '&bLore line 2'
- 2:
- - '&bLore line 1'
- - '&aLore line 2'
- Delay: 2s
- Lore:
- - '&aLore line 1'
- - 1:
- - '&bLore line 2'
- 2:
- - '&cLore line 2'
- Delay: 5s
- - 1: '&dLore line 3'
- 2: '&eLore line 3'
- # 2.5 秒
- Delay: 2s10t
- - Image: somefile.gif
- # 同样也支持文件夹. 这将会加载文件夹中的所有图片文件 (包括 gif 动图)
- - Image: somefolder
- # 像素
- Pixel: '[]'
- # 透明像素
- Transparent: '&0[]'
- # 当文件夹中的多个图片具有不同的高度时, 填充在较小图片末尾的空白行.
- Blank: '&0-----------'
- # 跳转到下一张图片之间的延迟
- Delay: 20
- # 当设置为 true 时, 将从列表中随机选取图片而不是顺序循环显示图片.
- Random: true
附魔
附魔列表, 格式为 <附魔名>:<等级> (<等级> 为可选项).
在付费版中, 此项配置可动画化并且等级支持变量.
- Enchantments:
- - unbreaking:3
- - efficiency:5
- # 或, 使用 Animated Menu Plus
- Enchantments:
- 1:
- - unbreaking:3
- 2:
- # 玩家自身每提升 10 等级, 额外提升 1 级效率附魔.
- - 'efficiency:\(:#:%player_level% / 10)'
- Delay: 5s
颜色
皮革护甲的颜色. 在 AnimatedMenu Plus 中可动态化.
格式为 'R, G, B' (R, G 和 B 三者的值都在 0 到 255 之间) 或 'RRGGBB' (HEX 颜色值, 在颜色采集工具中常以 # 开头表示)
- # 红色
- Color: '255, 0, 0'
- # 或, 使用 AnimatedMenu Plus
- Color:
- # 红色
- 1: '255, 0, 0'
- # 绿色
- 2: '00FF00'
- # 蓝色
- 3: '0000FF'
- Delay: 5s
头颅
头颅的主人(将会显示其主任的皮肤头颅). 支持变量并且在 AnimatedMenu Plus 中可动态化.
配置方式可为以下任意一种:
- 'hdb:<id>' - HeadDatabase 中的头颅.
- 玩家的 UUID - 可以带或不带连字符.
- 玩家ID.
- Base64 编码的皮肤材质数据. 一个 give 命令的例子: /give @p skull 1 3 {SkullOwner:{Id:"0461c835-179c-473a-9c1a-90133873ef86",Properties:{textures:[{Value:"eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZTgxYTM5OWU0ZDJlOGYxYTgyOGUxYzRiYzRjYTk5ZWZlZDE1MDhmM2Y0MjFkOTg4NzQ3Mj**TY0ZDgzIn19fQ=="}]}}} 以下就是目标数据eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZTgxYTM5OWU0ZDJlOGYxYTgyOGUxYzRiYzRjYTk5ZWZlZDE1MDhmM2Y0MjFkOTg4NzQ3Mj**TY0ZDgzIn19fQ==
- 皮肤链接(Skin URL).复制代码
- Skull-Owner: 'Notch'
- # 或
- Skull-Owner: '%player_uuid%'
- # 或, 使用 AnimatedMenu Plus
- Skull-Owner:
- 1: 'hdb:1234'
- 2: 'hdb:5678'
- Delay: 5s
- Skull-Owner: 'Notch'
生物蛋类型
生物蛋的 实体种类.
旗帜样式
旗帜或盾牌的图案样式. 在 AnimatedMenu Plus 中可动态化.
要设计一个旗帜样式, 前往 Miners Need Cool Shoes 网站
- Banner-Pattern: 'paaxawaCai'
- # 或, 使用 AnimatedMenu Plus
- Banner-Pattern:
- 1: 'paaxawaCai'
- 2: 'paaimoet'
- Delay: 10s
烟火之星颜色
烟火之星的颜色. 与 (皮革护甲)颜色有相同的配置格式
隐藏选项
隐藏物品一些属性的标识. 在 AnimatedMenu Plus 可动态化.
可以为(下者二选一):
- 一个数字, 与 Items HideFlags 相同. 在这篇文章中写道: {HideFlags:1-63} (1 = Enchantments(附魔), 2 = Attributes modifiers(属性改动), 4 = Unbreakable(无法破坏), 8 = CanDestroy(可以破坏的物品), 16 = CanPlaceOn(可以放置的物品), 32 = Others(其他), 比如药水效果 & 盾牌样式信息)
- 一个隐藏标识名的逗号分隔列表, 基于 Bukkit 中的名字: enchants, attributes, unbreakable, destroys, _placed_on_ 和 _potion_effects_.复制代码
- Hide-Flags: 63
- # 或
- Hide-Flags: 'enchants, unbreakable'
- # 或, 使用 AnimatedMenu Plus
- Hide-Flags:
- 1: 63
- 2: 'enchants, unbreakable'
- Delay: 5s
- Hide-Flags: 63
可视权限
看见此物品所需的权限节点. 支持变量.
- View-Permission: 'some.item.permission'
- # 或
- View-Permission: '-some.item.permission'
可视脚本(付费版功能)
一种条件判断 JavaScript 代码, 并且仅在玩家在此判断中返回 true(即满足条件), 才能看见此物品.
- # 数字, 所以不需要 ""
- View-Script: '%vault_eco_balance% > 20'
- # 世界名, 所以需要 ""
- View-Script: '"%player_world%" == "world"'
不可破坏
当设置为 true 时, 此物品将不会显示耐久条.
如果你正在使用 AnimatedMenu Plus 并且设置了 NBT标签, 此配置选项值将会被忽略.
- Unbreakable: true
- # 可选项, 隐藏此配置选项给物品带来的蓝色 "Unbreakable".
- Hide-Flags: unbreakable
NBT标签(付费版功能)
一个可动态化的自定义NBT标签配置选项.
通常来讲, 你有一个这样的 NBT 标签:
- {AttributeModifiers:[0:{AttributeName:"...",Name:"...",Amount:0,Operation:0}, 1:{AttributeName:"...",Name:"...",Amount:1,Operation:1,UUIDLeast:5271890,UUIDMost:1287355}]}
- NBT:
- AttributeModifiers:
- - AttributeName: '...'
- Name: '...'
- Amount: 0
- Operation: 0
- - AttributeName: '...'
- Name: '...'
- Amount: 1
- Operation: 1
- UUIDLeast: 5271890
- UUIDMost: 1287355
点击操作处理器
一个用于处理物品点击操作的后续动作的配置方案.
此配置选项有两种添加方法:
作为一组子配置选项:
- Click-Handlers:
- first:
- Click-Type: left
- Commands:
- - ...
- second:
- Click-Type: right
- Commands:
- - ...
- Click-Handlers:
- - Click-Type: left
- Commands:
- - ...
- - Click-Type: right
- Commands:
- - ...
- Slot: ...
- Material: ...
- Name: ...
- Click-Type: left
- Commands:
- - ...
点击操作处理器 |
点击操作处理器是优化你的菜单互动体验的关键 关于如何在一个菜单物品上添加点击操作处理器已经在 菜单物品-点击操作处理器 一节中介绍过了 而此页面则详细介绍了所有可用的(点击操作处理器)关键词 点击类型 可以为单一值或使用逗号分隔开的多个值 可选值有 left, right 和 middle, all 表示允许全部的三种点击 或者使用 both 来仅允许 left 和 right 类型的点击. 默认值为 both
潜行键点击 可以为 true, false 或者 both (默认值).
执行命令 待执行命令的列表. 可动态化并且支持变量. 你可以使用不同的前缀来以多种方式执行命令:
一些前缀为仅 AnimatedMenu Plus 拥有:
权限与无权限消息 Permission 指定执行此点击操作所需的权限. 支持变量. Permission-Message 指定一条在玩家没有执行此点击操作所需的 权限 时发送的消息. 支持变量. 默认值为 '&cYou are not permitted to do that!'
忽略权限 如果玩家拥有在此指定的权限节点, 他们在执行此点击操作时不需要支付(金钱或者点数). 支持变量.
关闭 可以为 always, on-success (当玩家允许执行此点击操作时), on-failure (当玩家不满足条件时) 或 never (默认值).
点击冷却与冷却消息 Click-Delay 指定在两次执行此点击操作之间必须等待的冷却时间. Delay-Message 指定一条在冷却时间尚未结束时点击发送的消息. 它支持一些特定的变量:
条件脚本与脚本否消息 Requirement-Script 是一种条件判断 JavaScript 代码, 并且仅在玩家在此判断中返回 true 时(即满足条件)允许执行此点击操作. 支持变量. 请注意当你想要使用任何文本值(变量也一样), 你应该使用英文(半角)双引号包起来. 这仅适用于文本, 数字则不需要. Script-Message 当条件判断代码返回值为 false 时发送的消息. 默认值为 '&cYou are not permitted to do that!'
金钱要求与其对应提示消息 Price 指定执行此点击操作所需要的 Vault 钱数. Price-Message 指定了当玩家没有足够的钱时发送的提示消息. 默认值为 '&cYou don't have enough money for that!'
点数要求与其对应提示消息 Points 指定执行此点击操作所需要的 PlayerPoints 点数. Points-Message 指定了当玩家没有足够的点数时发送的提示消息. 默认值为 '&cYou don't have points money for that!'
宝石要求与其对应提示消息 Gems 指定执行此点击操作所需要的 Gems 宝石数. Gems-Message 指定了当玩家没有足够的宝石时发送的提示消息. 默认值为 '&cYou don't have enough gems for that!'
代币要求与其对应提示消息 Tokens 指定执行此点击操作所需要的 Vault 代币数. Tokens-Message 指定了当玩家没有足够的代币时发送的提示消息. 默认值为 '&cYou don't have enough tokens for that!'
硬币要求与其对应提示消息 Coins 指定执行此点击操作所需要的 Vault 硬币数. Coins-Message 指定了当玩家没有足够的硬币时发送的提示消息. 默认值为 '&cYou don't have enough coins for that!'
经验值要求与其对应提示消息 Exp 指定执行此点击操作所需要的经验值. 若以 'L' 为开头则指定经验等级而不是经验点数. Exp-Message 指定了当玩家没有足够的经验值时发送的提示消息. 默认值为 '&cYou don't have enough exp for that!'
物品要求与其对应提示消息(付费版功能) Item 指定执行此点击操作所需要的物品, 格式为 "<种类>:<数量>:<附加值> <NBT标签>" (数量, 附加值 和 NBT标签 都为可选项). Item-Message 指定了当玩家没有足够的物品时发送的提示消息. 默认值为 '&cYou don't have enough of that item!'
|
[groupid=1511]Server CT[/groupid]