事件监听器模块
Last updated
Last updated
让服主能自己写"定制插件" 。适用于简单功能,如自动重启、装备替换、进服提示、收集任务等
执行性能与正常插件一样 ,推荐配合定时指令模块和自定义指令模块使用
当某个事件(如玩家死亡、第一次进服、跨世界传送)发生时,判断条件并自动执行指令
查询玩家是否满足某个条件,如果满足则执行某些指令
/evh group list:列出所有玩家组
/evh group create [玩家组名]:创建玩家组
/evh group delete [玩家组名]: 删除指定玩家组
/evh group add [玩家组名] [玩家名]:向玩家组添加玩家
/evh group remove [玩家组名] [玩家名]: 从指定玩家组删除某名玩家
/evh group list [玩家组名]:列出玩家组的所有玩家
/evh run group [检查组名] [玩家组名](多个玩家组用“,”分割,如"group1,group2"):对玩家组内的玩家运行检查组
/evh run server [检查组名]:给全服玩家运行指定检查组
/evh run player [检查组名] [玩家名]:给某个玩家运行检查组
/evh reload:重载插件
%eventhandler_playergroup_num_online_玩家组名%:某玩家组的在线玩家数量
%eventhandler_playergroup_num_offline_玩家组名%:某玩家组不在线玩家的数量
%eventhandler_playergroup_num_玩家组名%:某玩家组的玩家总数
所有指令仅控制台/OP可用
PlayerEnterWorld:玩家进入世界事件
PlayerLeaveWorld:玩家离开世界事件
PlayerJoinServer:玩家进入服务器事件
PlayerQuitServer:玩家离开服务器事件
PlayerHasItemWithName:背包里是否有指定名字的物品
PlayerHasItemWithLore:背包里是否有包含指定Lore的物品
PlayerHasMythicMobsItem:判断玩家是否拥有指定mm物品(必须名字和Lore完全匹配)
PlayerInWorld:判断玩家是否在指定世界
PlayerPapiValue:判断papi变量的值
PlayerInGroup:判断玩家是否在指定玩家组中
PlayerHasPermission:判断玩家是否拥有指定权限
PlayerHasItemWithID:判断玩家背包中是否有指定ID的物品
#授权码(自动绑定服务器ip,不绑定端口)
Token: ''
#数据库相关设置,BC服可能需要
#更改数据库配置项必须重启
MySQL:
#是否开启MySQL数据库
#如果你需要开启数据库功能,请安装蓝奏云中的另外一个插件"EventHandlerDatabase"
#否则无法使用数据库功能
IsEnable: false
IP: localhost
Port: 3306
DatabaseName: runoob
Username: root
Password: 123456
#处理器
Handlers:
BackToSpawnMessage:
Type: Message
Contents:
- '&a欢迎回到主城世界'
- '&b这里是你永远的港湾'
BackToSpawnCommands:
Type: Command
Contents:
- '[console]say 欢迎%player_name%回家!'
LeaveSpawnCommands:
Type: Command
Contents:
- '[player]say 溜了溜了'
HasGoodGunMessage:
Type: Message
Contents:
- '&a你有一把好枪'
SvipMessage:
Type: Message
Contents:
- '&a欢迎SVIP'
SpawnMessage:
Type: Message
Contents:
- '&a主城的兄弟们来祭坛集合'
LevelMessage:
Type: Message
Contents:
- '&a听说你等级很高?'
DoveMessage:
Type: Message
Contents:
- '&c鸽子别贴'
JoinMessage:
Type: Message
Contents:
- '&a你好'
QuitMessage:
Type: Command
Contents:
- '[console]say SVIP%player_name%离开了服务器!'
#拿走玩家背包中的旧版本千本樱
TakeOldSenbonzakura:
Type: TakeItem
#物品判断条件,填入Conditions中写好的条件来匹配物品
#支持PlayerHasItemWithName PlayerHasItemWithLore PlayerHasMythicMobsItem
#注意:这里是对每一个物品分别匹配,不再是判断是否"拥有物品"了
Contents:
- 'HasOldSenbonzakura'
GiveNewSenbonzakura:
Type: Command
Contents:
- '[console]mm i give %player_name% NewSenbonzakura'
#条件
Conditions:
HasGoodGun:
#背包里是否有指定名字的物品
Type: PlayerHasItemWithName
Check: '&a火麒麟'
HasSvipLore:
#背包里是否有包含指定Lore的物品
Type: PlayerHasItemWithLore
#单行字符串即为只匹配Lore中的某一行
Check: '&aSVIP专属'
HasMmItem:
#判断玩家是否拥有指定mm物品(必须名字和Lore完全匹配)
Type: PlayerHasMythicMobsItem
Check: 'Test1'
InSpawn:
#判断玩家是否在指定世界
Type: PlayerInWorld
Check: 'world'
LevelOverOneHundred:
#判断papi变量的值
Type: PlayerPapiValue
Check: '%player_level%>100'
IsSvip:
#判断玩家是否在指定玩家组中
Type: PlayerInGroup
Check: 'svip'
HasBuildPermission:
#判断玩家是否拥有某个权限
Type: PlayerHasPermission
Check: 'world.build'
#判断玩家是否有旧版本的千本樱
HasOldSenbonzakura:
#背包里是否有包含指定Lore的物品
Type: PlayerHasItemWithLore
#多行字符串的判断方法:物品Lore中必须连续包含这几行
Check:
- '&a护廷十三队·六番队队长朽木白哉的斩魄刀'
- '&a攻击力: 100'
#玩家是否拥有黄绿色羊毛
HasYellowGreenWool:
Type: PlayerHasItemWithID
#ID,形如"35"或"35:5"
Check: '35:5'
#监听器
Listeners:
BackToSpawnListener:
Event:
Type: PlayerEnterWorld
Content: 'world'
Handlers:
- 'BackToSpawnCommands'
LeaveSpawnListener:
Event:
Type: PlayerLeaveWorld
Content: 'world'
Handlers:
- 'LeaveSpawnCommands'
PlayerJoinListener:
Event:
Type: PlayerJoinServer
Handlers:
- 'JoinMessage'
PlayerLeaveListener:
Event:
Type: PlayerQuitServer
Conditions:
- 'IsSvip'
Handlers:
- 'QuitMessage'
#检测组
Checks:
#检测组名
Check1:
#条件,如果想在某个条件不符合时执行
#就在条件前面加"!"即可,如"!HasGoodGun"
Conditions:
- 'HasGoodGun'
#符合条件后执行的处理器
Handlers:
- 'HasGoodGunMessage'
Check2:
Conditions:
- 'HasSvipLore'
Handlers:
- 'SvipMessage'
Check3:
Conditions:
- 'InSpawn'
Handlers:
- 'SpawnMessage'
Check4:
Conditions:
- 'LevelOverOneHundred'
Handlers:
- 'LevelMessage'
Check5:
Conditions:
- 'HasMmItem'
Handlers:
- 'DoveMessage'
#检查玩家是否有建筑权限
CheckBuild:
Conditions:
- 'HasBuildPermission'
Handlers:
- 'JoinMessage'
ReplaceOldSenbonzakura:
Conditions:
- 'HasOldSenbonzakura'
Handlers:
- 'TakeOldSenbonzakura'
- 'GiveNewSenbonzakura'
#数据库更新时间,20为一秒
UpdateTime: 100
(点击购买)