更新于:

2.2 菜单

所有菜单文件都存储在 menus 文件夹下。

种类

这里共有 3 种菜单。

  • 普通菜单,与其他普通菜单插件一样的内容。你可以用它们来打开商店菜单;
  • 商店菜单,会显示指定商店的商品以及它们的价格;
  • 加量购买菜单,可以选择你所购买商品的数量。

配置

  • title: 商店的标题,对于商店菜单,可以使用内置变量 {shop-name} 表示商店名称,商店名称可在配置文件中设置;
  • size: 菜单的大小,仅支持下列数字:9、18、27、36、45、54;
  • layout: 按钮的排版,此处应当填入一个列表,列表行数需与 size(菜单大小)/9 等值,且每一行字符长度也必须等于 9;
  • buttons: 按钮配置,按钮 ID 必须为单个字符,可以使用 layout 选项控制按钮在菜单中的位置;
    • display-item: 按钮的显示物品。
    • actions: 点击按钮后执行的动作。
    • conditions:玩家点击此按钮需要满足的条件。
  • conditions: 浏览该菜单的玩家所需要达到的条件。见“条件”章节以获取更多信息。 一个示例菜单如下所示:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
title: '商店页面'

size: 54

conditions:
- 'none'

layout:
- '000000000'
- '000000000'
- '0000A0000'
- '000000000'
- '000000000'
- '000000000'

buttons:
A:
display-item:
material: BREAD
name: '&d美食'
lore:
- '&7点击打开食物商店!'
actions:
- 'shop_menu: example'
```

# **加量购买菜单**

加量购买菜单有如下额外参数:
- amount-items: 被选择的物品修改数量。
- display-item: 按钮的显示物品。
- add-amount: 物品增加的数量,设置为负数可代表减少。可替换为 `set-amount` 选项,替换后将改为设定数量为指定值;
- display-item: 玩家要购买的商品的显示物品。可以为单字符,即 `layout` 中的字符,以设置它显示的位置;
- confirm-items: 点击确认交易的按钮。
- display-item: 按钮的显示物品。
- click-action: 点击后执行的动作。可以填写 `buy、sell、sell-all` 分别代表购买、回收、全部回收,也可以删除这个选项代表这个按钮是万能的。

```yml
amount-items:
1:
display-item:
material: GREEN_WOOL
name: '&a+1'
lore:
- '&7点击增加 1 个.'
add-amount: 1
2:
display-item:
material: GREEN_WOOL
name: '&a+10'
lore:
- '&7点击增加 10 个.'
add-amount: 10
3:
display-item:
material: GREEN_WOOL
name: '&a+32'
lore:
- '&7点击增加 32 个.'
add-amount: 32
4:
display-item:
material: RED_WOOL
name: '&c-1'
lore:
- '&7点击减少 1 个.'
add-amount: -1
5:
display-item:
material: RED_WOOL
name: '&c-10'
lore:
- '&7点击减少 10 个.'
add-amount: -10
6:
display-item:
material: RED_WOOL
name: '&c-32'
lore:
- '&7点击减少 32 个.'
add-amount: -32

display-item: B

confirm-items:
D:
display-item:
material: PAPER
name: '&a确认'
lore:
- '&7点击完成交易!'
#click-action: buy