- 欢迎来到Minecraft插件百科!
- 对百科编辑一脸懵逼?帮助:快速入门带您快速熟悉百科编辑!
- 因近日遭受攻击,百科现已限制编辑,有意编辑请加入插件百科企鹅群:223812289
ChatControl Pro/WIKI/监听优先度:修订间差异
Qsefthuopq(留言 | 贡献) (创建页面,内容为“ Every plugin gets a say in what happens, and every plugin must get a chance to know the outcome of an event. So, we pass events to plugins even after they've been…”) |
Qsefthuopq(留言 | 贡献) 无编辑摘要 |
||
| (未显示同一用户的1个中间版本) | |||
| 第1行: | 第1行: | ||
{{模板:Ccpbox}} | |||
大多数插件都会监听事件. 插件在其他插件取消事件后再次取消事件.所以优先度很重要. | |||
按顺序排列共有六种优先度 | |||
# LOWEST | # LOWEST | ||
| 第12行: | 第11行: | ||
# MONITOR | # MONITOR | ||
比如处理 BLOCK_PLACE 事件. lowest最低优先度监听器等待传唤是否取消事件. 然后low低优先度监听器会检查是否覆盖最低优先度的事件. 最后,它会发送到监视器,此时不改会事件的结果.<br> | |||
监视器用来查看事件的结果, 不会改变事件. 如果你安装了3个插件; 一个是基础的区域保护插件,一个是使用了告示牌的插件,最后一个是登录插件.保护插件监听Priority.LOWEST. 这款插件会发送 ''你无法在收保护的区域内放置方块' 的消息并取消放置方块的事件.<br> | |||
告示牌插件监听 Priority.NORMAL.发送 ''你无法在这里放置告示牌'' 并取消放置事件.<br> | |||
登录插件监听Priority.MONITOR. 登录插件会监听允许的事件并记录下来. | |||
资源: | |||
Event API 参考 | Event API 参考 | ||
| 第22行: | 第24行: | ||
<br /> | <br /> | ||
== | == 与其他插件的兼容问题及如何修复 == | ||
关于ChatControl常见的疑问就是修改聊天处理顺序. 你可以在配置内手动修改优先度. | |||
你可以更改两种优先度. 位于settings.yml的Listener_Priority部分 | |||
# Listener_Priority.Formatter ( | # Listener_Priority.Formatter (用于聊天格式和频道.) | ||
# Listener_Priority.Checker ( | # Listener_Priority.Checker (用于防刷屏、防大写、规则等.) | ||
# Listener_Priority.Signs ( | # Listener_Priority.Signs (用于告示牌规则.) | ||
<br /> | <br /> | ||
=== Towny / Factions / Plots Squared === | === Towny / Factions / Plots Squared === | ||
对于大多数服务器, 你需要尝试修改为适合的优先度 | |||
<code>FactionsChat</code>: | |||
<code>Listener_Priority: | <code>Listener_Priority: | ||
Formatter: LOWEST</code> | Formatter: LOWEST</code> | ||
=== BanManager / Litebans === | === BanManager / Litebans === | ||
如果玩家可以被禁言时说话,也就意味着ChatControl 在禁言前就开始监听聊天时间. | |||
已经有用户试验过把格式优先度调到HIGH 即可解决问题. | |||
你可以尝试使用不同的优先度 (LOWEST, LOW, NORMAL, HIGH, HIGHEST 和 MONITOR) 并找到合适的组合. | |||
=== Denizen === | === Denizen === | ||
使用以下优先度来允许Denizen捕获聊天触发器来执行其脚本. | |||
<code>Listener_Priority: | <code>Listener_Priority: | ||
Formatter: HIGH</code> | Formatter: HIGH</code> | ||
2019年1月29日 (二) 07:56的最新版本
子页面
大多数插件都会监听事件. 插件在其他插件取消事件后再次取消事件.所以优先度很重要.
按顺序排列共有六种优先度
- LOWEST
- LOW
- NORMAL
- HIGH
- HIGHEST
- MONITOR
比如处理 BLOCK_PLACE 事件. lowest最低优先度监听器等待传唤是否取消事件. 然后low低优先度监听器会检查是否覆盖最低优先度的事件. 最后,它会发送到监视器,此时不改会事件的结果.
监视器用来查看事件的结果, 不会改变事件. 如果你安装了3个插件; 一个是基础的区域保护插件,一个是使用了告示牌的插件,最后一个是登录插件.保护插件监听Priority.LOWEST. 这款插件会发送 你无法在收保护的区域内放置方块' 的消息并取消放置方块的事件.
告示牌插件监听 Priority.NORMAL.发送 你无法在这里放置告示牌 并取消放置事件.
登录插件监听Priority.MONITOR. 登录插件会监听允许的事件并记录下来.
资源:
Event API 参考
http://bukkit.gamepedia.com/Event_API_Reference#Event_Priorities
与其他插件的兼容问题及如何修复
关于ChatControl常见的疑问就是修改聊天处理顺序. 你可以在配置内手动修改优先度.
你可以更改两种优先度. 位于settings.yml的Listener_Priority部分
- Listener_Priority.Formatter (用于聊天格式和频道.)
- Listener_Priority.Checker (用于防刷屏、防大写、规则等.)
- Listener_Priority.Signs (用于告示牌规则.)
Towny / Factions / Plots Squared
对于大多数服务器, 你需要尝试修改为适合的优先度
FactionsChat:
Listener_Priority:
Formatter: LOWEST
BanManager / Litebans
如果玩家可以被禁言时说话,也就意味着ChatControl 在禁言前就开始监听聊天时间.
已经有用户试验过把格式优先度调到HIGH 即可解决问题.
你可以尝试使用不同的优先度 (LOWEST, LOW, NORMAL, HIGH, HIGHEST 和 MONITOR) 并找到合适的组合.
Denizen
使用以下优先度来允许Denizen捕获聊天触发器来执行其脚本.
Listener_Priority:
Formatter: HIGH