开启辅助访问     
收藏本站

站内搜索

搜索

Minecraft(我的世界)苦力怕论坛

[JE服务端] [开源]Commandant —— 拦截和处理任意命令 [1.12-.1.21]

 发表于 2025-1-26 22:35:48|显示全部楼层|阅读模式 IP:河南省
插件发布
中文名:命令卫士
外语名:Commandant
支持版本:1.12.x 1.13.x 1.14.x 1.15.x 1.16.x 1.17.x 1.18.x 1.19.x 1.20.x 1.21.x 
适用服务端:CraftBukkit Spigot 
插件属性:本体插件 
插件类型:管理 安全 综合 
前置插件:无前置
来源:原创
原帖地址:https://github.com/kzheart/Commandant
下载地址:https://www.123684.com/s/YbpiTd-rOSwd提取码:Pwhj
最后更新:2025-01-26
本帖最后由 Fan___ 于 2025-1-26 23:00 编辑

前言

Commandant是一款强大的命令拦截与处理插件,它允许服务器管理员通过灵活的配置,定义各种规则来拦截、修改或增强玩家输入的命令。利用该插件,你可以轻松实现命令别名、黑名单、权限控制、动态命令等高级功能。


核心特性


  • 灵活的拦截规则:通过正则表达式、权限检查、世界限定、自定义脚本等多种条件,精准匹配需要处理的命令。、
  • 强大的动作系统拦截命令后,你可以执行取消命令、输出日志、替换命令、执行脚本等多种动作,甚至可以组合多个动作实现复杂逻辑。、
  • Kether 脚本集成:  充分利用 Kether 脚本的强大功能,编写自定义条件和动作,实现无限可能


安装与配置


1. 将插件文件放入服务器的 plugins 文件夹。

2. 启动服务器,插件将自动生成配置文件 `plugins/Commandant/interceptors.yml`。

3. 编辑 `interceptors.yml` 文件,根据你的需求配置拦截器。


4. 使用 `/commandant reload` 命令重载配置,使修改生效。

interceptors.yml配置文件:

  1. interceptors:
  2.   block_ops:
  3.     enabled: true
  4.     priority: 100
  5.     condition:
  6.       type: "any"
  7.       rules:
  8.         - type: "regex"
  9.           pattern: "^/give .* diamond$"
  10.     actions:
  11.       - type: "log"
  12.         format: "黑名单命令拦截: {player} -> {command}"
  13.       - type: "script"
  14.         script: |-
  15.           tell 你使用了黑名单命令
  16.           cancel_cmd_event
  17.   has_perm_check:
  18.     enabled: true
  19.     priority: 50
  20.     condition:
  21.       type: "all"
  22.       rules:
  23.         - type: "regex"
  24.           pattern: "/home"
  25.         - type: "has_permission"
  26.           permission: "myhome.use"
  27.     actions:
  28.       - type: "script"
  29.         script: |-
  30.           tell 你拥有myhome.use权限
  31.   no_perm_check:
  32.     enabled: true
  33.     priority: 50
  34.     condition:
  35.       type: "all"
  36.       rules:
  37.         - type: "regex"
  38.           pattern: "/home"
  39.         - type: "no_permission"
  40.           permission: "myhome.use"
  41.     actions:
  42.       - type: "script"
  43.         script: |-
  44.           tell 你没有myhome.use权限
复制代码
条件(Condition):
条件用于判断是否触发拦截器。支持以下几种条件类型:
条件类型 描述参数
regex 使用正则表达式匹配命令 pattern: 正则表达式字符串
all 必须满足所有子条件 rules: 子条件列表,每个子条件也是一个完整的条件配置
any 满足任意一个子条件即可 rules: 子条件列表,每个子条件也是一个完整的条件配置
has_permission 玩家拥有指定权限 permission: 权限节点
no_permission 玩家没有指定权限 permission: 权限节点
world 玩家位于指定世界 worlds: 世界名称列表
script 使用 Kether 脚本进行条件判断。脚本需要返回一个布尔值script: Kether 脚本代码。可以使用 @command 变量获取当前命令

动作(Action):
动作定义了拦截器触发后执行的操作。支持以下几种动作类型:


动作类型 描述 参数
cancel 取消命令的执行
log 记录到日志文件 format: 日志格式,可以使用 {player} 和 {command} 占位符
replace 替换命令并执行command: 替换后的命令,可以使用 {player}占位符
script 执行 Kether 脚本script: Kether 脚本代码

进阶使用
  • 组合多个条件和动作: 你可以根据需要组合多个条件和动作,创建更加复杂的拦截规则。例如,你可以先检查玩家是否拥有权限,然后检查玩家是否位于指定世界,最后再执行替换命令或执行脚本等操作。
  • 利用 Kether 脚本: Kether 脚本提供了无限的可能性。你可以使用 Kether 脚本实现各种复杂的逻辑




黑名单对应拦截器展示

image.png


有问题请在QQ群1026156463中联系


苦力怕论坛,感谢有您~
 发表于 2025-1-31 20:06:11|显示全部楼层 IP:浙江省
太需要了,谢谢大佬分享
苦力怕论坛,感谢有您~
回复支持

使用道具举报

本版积分规则

本站
关于我们
联系我们
坛史纲要
官方
哔哩哔哩
技术博客
下载
网易版
安卓版
JAVA
反馈
意见建议
教程中心
更多
捐助本站
QQ群
QQ群

QQ群

访问手机版

访问手机版

手机版|小黑屋|系统状态|klpbbs.com

| 由 木韩网络 提供支持 | GMT+8, 2026-2-3 06:12

声明:本站与Mojang以及微软公司没有从属关系

Powered by Discuz! X3.4