ConditionalCommands

ConditionalCommands - 条件命令

仅在满足特定条件时执行命令。
Bukkit / Spigot 作者 konsolas 支持版本 1.8 - 1.16
服务器使用量
未统计
服务玩家数
未统计
下载量
12,905
插件详细介绍

简介

ConditionalCommands 是一款用于在满足特定条件时才执行命令的插件。它适用于需要根据条件自动触发命令的场景,支持多命令序列和自定义延迟执行。

使用方式

基础命令:

  • /cc <玩家> unless <条件> do <命令> – 当条件不满足时执行命令
  • /cc <玩家> if <条件> do <命令> – 当条件满足时执行命令
  • /cc help – 查看帮助
  • /cc reload – 重载插件配置
  • /cc cooldown <任意键名> – 重置指定键名的冷却时间

命令别名: /ccmd

条件语法

条件表达式遵循以下语法规则,仅支持数字比较

<表达式> ::= <项> { <或> <项> }
<项> ::= <因子> { <与> <因子> }
<因子> ::= <比较> | <非> <因子> | ( <表达式> )
<比较> ::= <常量> <比较符> <常量>
<常量> ::= 浮点数或整数
<与> ::= '&'
<或> ::= '|'
<非> ::= '!'
<比较符> ::= '>' | '=' | '<'

重要说明:

  • 只能比较数字,占位符也必须解析为数字。
  • 比较表达式中不能包含空格。
  • 若一个比较组中出现多个运算符(如 3>=<2),仅第一个运算符生效。
  • 检查不相等可使用 !(value=value) 格式。

示例:

/cc konsolas unless -ping->200 do kick konsolas
/cc konsolas if (-ping-<300&-ping->100)&-tps->15.0 do msg konsolas Your ping is between 300 and 100, and the TPS is greater than 15.

可用占位符

占位符由 - 包裹。如果拼写错误,通常会在解析时被检测到。

  • -ping- – 被测试玩家的延迟(Ping)。
  • -tps- – 服务器过去 2 秒内的平均 TPS。
  • -time_online- – 玩家的在线时间(毫秒)。
  • -uptime- – 服务器运行时间(游戏刻)。
  • -player_count- – 服务器在线玩家数量。
  • -perm:<权限节点>- – 若玩家拥有该权限,值为 1.0,否则为 0.0。例如:-perm:essentials.home-
  • -perm_count:<权限节点>- – 在线且拥有该权限的玩家数量。
  • -aacvl:<检测名称>- – 指定 AAC 检测(内部名称)的违规等级。例如:-aacvl:speed-
  • -chance:<百分比>%- – 有 <百分比>% 的几率值为 1.0。例如:-chance:34.5%-
  • -cooldown:<任意键名>- – 返回自上次执行 /cc cooldown <任意键名> 以来经过的秒数。如果从未执行过,则返回 43200。返回值永不小于 0。

关于冷却占位符的说明

示例:

/cc if -cooldown:some_key->59 do /0/ cc cooldown some_key /0/ broadcast sent up to once every 60 seconds
  • 最大支持冷却时间为 12 小时(43200 秒)。
  • 冷却时间不会保存到文件,服务器重载或重启后会重置。
  • 建议在 AAC 配置中,将玩家占位符作为 <任意键名> 的一部分使用,以实现基于玩家的独立冷却。

多命令与延迟命令

do 子句中,可以同时执行多个命令,并可为特定命令设置延迟。

语法: 使用 /<延迟>/ 作为命令分隔符,其中 <延迟> 为整数,表示该命令执行前等待的游戏刻数(20 刻 = 1 秒)。

示例:

/cc konsolas if -aacvl:heuristics->0 do /1200/ ban konsolas 1 minute delayed ban for killaura
/cc konsolas if -perm:some.permission-=1 do /0/ broadcast konsolas has some.permission! /0/ broadcast second broadcast! /20/ broadcast 1 second later!

开发者模式

默认情况下,插件会隐藏解析错误等详细信息,并吞没命令执行时产生的异常,以提供更友好的用户体验。

  • 如需查看详细错误信息,请将 plugins/ConditionalCommands/config.yml 中的 dev 选项设置为 true
测试支持版本
1.8 1.9 1.10 1.11 1.12 1.13 1.14 1.15 1.16
版本分布
基本信息
插件名称 ConditionalCommands
作者 konsolas
平台 Bukkit / Spigot
支持版本 1.8 - 1.16
点赞数 67
最近版本
暂无数据 -