# ConfigurableEvents **Repository Path**: ed3/configurable-events ## Basic Information - **Project Name**: ConfigurableEvents - **Description**: 可以通过配置注册事件监听器的插件 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-01-01 - **Last Updated**: 2024-01-01 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## ConfigurableEvents --- 可以通过配置注册事件监听器的插件 ### 这是什么 ? 正如其名和介绍所言,用户可以通过创建啊、修改 yaml 配置文件来注册事件监听器! ### 插件权限 暂时还没有呢~ ### 插件命令 /configurableevents reload —— 重载插件, 需要权限 configurableevents.reload ### 如何使用? 在 `plugins/ConfigurableEvents/handlers` 文件夹内新建一个 `yml` 文件, 然后你就可以开始配置你自己的监听器了! 在插件内部有一个样例监听器文件, 并且对每项配置都做了详细的注释来表示它的作用 相关资料: + [事件监听大典](https://william-shi233.gitbook.io/event-listeners/)(by: William-Shi233), 在这里可以查到 Bukkit 中所有的事件名及其所位于的包位置 `example.yml` ```yaml # 监听器的名字 # 建议与文件名一致 # 不要和其它文件内的名字重复 name: example # 引用事件包 # # *大小写敏感 usePackage: "@player" # 事件名 # # *大小写敏感 eventName: PlayerJoinEvent # Bukkit 事件监听中的优先级,默认情况下为 NORMAL # 在 Bukkit 中有以下优先级 # LOWEST, LOW, NORMAL, HIGH, HIGHEST, MONITOR # 执行顺序为: # LOWEST > LOW > NORMAL > HIGH > HIGHEST > MONITOR # # *大小写敏感 priority_bukkit: NORMAL # 事件执行条件 # 可配置多个条件组 requirement: # 以下是插件内预置的预设词 ######################################################################################################## # # 玩家相关 # ====== # PlayerHasItem: 玩家有足够数量的物品, ext 格式: 物品ID,数量 # PlayerHasPermission: 玩家拥有某项权限, ext 格式: 权限名称 # PlayerHasMoney: 玩家拥有某一数量(含指定值)的金钱, ext 格式: 双精度浮点数(double, 通俗讲就是小数) # PlayerMoneyLessThan: 玩家的金钱低于某一数量(含指定值), ext 格式: 双精度浮点数(double, 通俗讲就是小数) # PlayerHasPoint: 玩家拥有某一定数量(含指定值)的点数,ext 格式: 整数 # PlayerPointLessThan: 玩家的点券低于某一数量(含指定值), ext 格式: 整数 # PlayerHasItemWithName: 玩家背包内有指定名字的物品,ext格式: 物品名字 # PlayerHasItemWithLore: 背包里是否有包含指定Lore的物品, ext格式: lore 内容 # PlayerInGroup: 玩家是否所位于指定的权限组, ext内容: 权限组名字 (需要 Vault 作为前置) # ====== # 请注意:对于一些不是由玩家所触发的事件,例如有关于世界天气、时间的改变 # 或者怪物的自然死亡(溺亡、坠落、被砸死)等,上述预设词可能会无法产生作用 # 以上预设词均不支持 PlaceholderAPI 变量 ######################################################################################################### # 其它 # ====== # Expression: 不定表达式,ext 格式: 一个不定表达式,例如 "%player_money% > 20" 表示玩家的金钱要多于 20 # 可用的运算符: >(大于), <(小于), ==(等于), >=(大于等于), <=(小于等于) # 该预设词支持 PlaceholderAPI 变量, 空格可含可不含 ######################################################################################################### # 条件组名, 不重复即可 checkGroup1: # 条件名称, 填写的预设词位于上方的注释中 reqName: "PlayerHasItem" # 检查内容 ext: "STONE,20" checkGroup2: reqName: "PlayerHasMoney" ext: 200 checkGroup3: reqName: "PlayerHasPermission" ext: "configurableevents.example.requirement.group.3" # 配置条件的判断类型 # 下列两种类型判断可同时存在、也可存在其中一个或者不配置 # 当两种类型同时存在时,两种类型所判断的结果同时满足时执行动作 # 当存在其中一个类型时,该类型的结果满足时执行动作 # 若不配置判断类型,则上述条件组其一满足条件执行动作 types: # 表示 "或型" 判断,条件组中有一个满足就条件执行 actions or: # 或型判断的条件组名, 要求与上面的组名一致 - checkGroup1 - checkGroup2 # 表示 "和型" 判断, 条件组中的条件都满足时执行 actions and: # 和型判断的条件组名, 要求与上面的组名一致 - checkGroup1 - checkGroup3 # 触发事件后的执行内容 # 支持解析 PAPI 变量 # 可用的 actions: (*大小写敏感) # cmd, 以玩家身份执行命令, 不需要打斜杠 # consoleCmd, 从服务器后台执行命令, 不需要打斜杠 # message, 向玩家发送聊天信息, 支持颜色代码 # broadcast, 广播一条消息, 支持颜色代码 # eco-take: 拿走玩家一定数量的金钱 (需要 Vault,以及相关实现插件的支持) # eco-give: 给予玩家一定数量的金钱 (需要 Vault,以及相关实现插件的支持) # point-take: 拿走玩家一定数量的点券 (需要 PlayerPoints 插件的支持) # point-give: 给予玩家一定数量的点券 (需要 PlayerPoints 插件的支持) # ====== # 请注意:对于一些不是由玩家所触发的事件,例如有关于世界天气、时间的改变 # 或者怪物的自然死亡(溺亡、坠落、被砸死)等,上述预设词可能会无法产生作用 actions: eco-take: 20 # eco-give: 19.99 point-take: 20 # point-give: 19.99 cmd: # 可以执行多个命令 - say 我加入了 %server_name% 服务器. consoleCmd: # 可以执行多个命令 - tell %player_name% 欢迎你!! message: - '&b这是一条测试消息' broadcast: - '&a这是一条广播消息' ```