注意,此部分扩展性非常高,不仅仅是几个判定方式.如果你懂bukkit的API,那么你可以玩转这玩意.
我只是在这里列举常用的,我可不是藏着掖着,而是真的有很多,无法讲完.
首先,先明白什么是需求(requirement): 需求在本插件就是达到一定的条件去打开某个菜单/显示某个图标,或是点击某个图标.
这个比较多:
点击需求:
例子:
left_click_requirement: #这是左键点击的需求,右键也是如此 left改为right.
expression: '%vaulteco_balance% > 100' #这里是金币需要高于100.
deny_commands: #以下是没有100时,点击执行的命令.
- '[close]'
- '[message] &cYou dont have 100 dollars to click that item'
-----------------------------------------------------------------------------------------------
打开需求: #打开一个菜单的需求
列子: 其实和点击需求一样,把 *_click_requirement 改为 open_requirement 即可 (偷懒一下不会死)
-----------------------------------------------------------------------------------------------
可视需求:
例子:
view_requirement: '%vaulteco_balance% > 100' #金币大于100时才可看见图标.
注意一下,为什么和点击需要不一样呢,因为点击需求没达到条件时可以执行命令,而这个就没必要了2333
-----------------------------------------------------------------------------------------------
需求说明 [仅仅列举3个常用,如果你懂bukkit的插件编程,那么你一看就懂.]:
1.数值变量: 返回值为数字的变量,例如PlayerPoints的。vault的等等.
'%vaulteco_balance% = 100'
'%vaulteco_balance% >= 100' 大于或者等于,这就是判断大小的问题,可以小于、大于、大于或等于、小于或等于、
2.权限需求: 例如: 'BukkitPlayer.hasPermission("test.1.a")'需要有权限: test.1.a
-----------------------------------------------------------------------------------------------
3.返回值判定(文本型) 列如:
'"%player_world%".equalsIgnoreCase("world_nether")' 当变量%player_world%的返回值为 world_nether 时,才达到需求.
'!"%player_world%".equalsIgnoreCase("world_nether")' 前方加个 ! 用法就和上面的权限需求差不多了.
|
五、执行类型[重要!必看部分]
这一部分是指令节点部分,就是本插件的一种....一种... 23333 没想到什么专业名词,简单来说,就是执行类型!不仅仅是执行指令哦~
先来个看完前面的教程就能明白的小“栗子”
left_click_requirement:
expression: '%vaulteco_balance% > 100'
deny_commands:
- '[close]' #关闭菜单的意思,
- '[message] 这是没达到条件时执行,这是一句话!'
left_click_commands:
- '[close]'
- '[message] 这是达到所需条件后执行的,这是一句话!'
- '[console] fuck you 2333' #指令,由控制台执行!
如果这个例子的前三句你没看明白,那肯定是没看前面的教程!
肯定有人问了,这个[close] [message] [console] 又是什么鬼东西!那么我下面给你解释一下:
[console] - 由控制台执行一条指令!
用法: - '[console] eco give SerLiunx 233' #由控制台给玩家SerLiunx一些金币 233个.
[player] - 由点击这个图标的玩家执行指令
用法: - '[player] spawn' #回主城,有玩家执行的。
[commandevent] - 这个我觉得比较不好理解,说白了就是执行没有使用bukkit的指令系统所生成的指令,
# 不好理解?再说明白点. 如果你想用这个打开chestcommands的面板,你发现用你chestcommands设置好的打开菜单的指令却无法打开。因为我们自定义chestcommands的菜单指令时,是没有用到bukkit的指令系统的。所有你要使用这个执行方式.
用法: - '[commandevent] main' #假如我有一个需用用/main 来打开的一个chestcommands的菜单,那么这样就可能正常打开
[message] - 向点击的玩家发送一条消息
用法: - '[message] <文本>' #这个不多说了...
[openguimenu] - 打开一个本插件的菜单!别想用这个打开cc的,[这个只能用在点击命令中
用法: - '[openguimenu] shit' #打开一个名为shit的菜单
[connect] - 连接一个bungeecord的服务器,如果你不使用bc,忽略这个.
用法: - '[connect] skyblock' #连接至服务器skyblock
[close] - 关闭
用法: - '[close]' #这个不用多说了吧 2333 本插件的图标点击后不会自动关闭,需要使用这个.