# 这是什么
一个强大的插件,可以操纵代理或代理下的所有命令,以控制显示和执行!
限制和禁用命令!
# 使用方法
### 安装前
建议与 LuckPerms 等权限管理插件一起使用。
## 设置方法
将下载的插件放入 Velocity 的插件文件夹并运行一次。
然后将生成默认的 config 文件。
### Config
`[[permissions]]` 中描述的设置将应用于具有`[[permissions]]` 中描述的权限的玩家。
如果由于 LuckPerms 中的组继承等原因,玩家拥有多个权限,则将激活所有设置,因此将优先使用限制最多的设置。
例如,如果`default` 设置为 `commands = ["help", "list"]` 并且 `guest` 继承了默认权限,即使 `guest ` 设置为 `commands = ["list"]`,也无法使用 `help`!
```toml
# 以下权限的 `commandlimiter.admin` 用于查看和执行所有命令
allAllowed = "admin"
# 限制没有权限的玩家的命令显示和执行,或
limitNoPermissionsPlayer = true
# 每个 permission node 的可用命令配置
[[permissions]]
# 以下 permission node 的值 `commandlimiter.default`
nodeName = "default"
# 启用白名单还是禁用?
# 如果为 false,将是黑名单格式
whiteList = true
# 对于白名单,只有以下描述的命令才能显示和执行
# 如果黑名单,则将限制以下描述的命令~~~~
# 包含子命令的命令可以通过通配符或正则表达式过滤
commands = ["help", "list", "me*", "msg*", "teammsg*", "tell*", "tm*", "trigger*", "w*", "random*"]
```
### Permission Node
此插件的 permission node 的 root 是 `commandlimiter`。
如果需要使用 LuckPerms 等进行设置,则需要按照以下方式进行设置
> LuckPerms 设置保存到 yaml 的例子
```yaml
name: default
permissions:
- commandlimiter.default:
value: true
```
## 命令
以下命令可用
| 命令 |别名 | 描述 | 必需的 Permission Nodes |
|---------------------------|-------------|-------------------------------------------------|-----------------------|
| `/commandlimiter-reload` | `/cl-reload` | 重新加载插件 config 以反映设置 | `commandlimiter.admin`|
> ⚠️注意⚠️
即使使用命令重新加载配置,客户端**在重新连接到服务器之前,将以配置前的状态显示命令**。
这是因为客户端在连接到服务器时获取可用的命令。
# 支持 SNS
SNSList: [https://kuwa.dev/](https://kuwa.dev/)
Twitter(x): [https://x.com/kuwamain](https://x.com/kuwamain)
Discord 支持服务器: [https://kuwa.app/discord/support](https://kuwa.app/discord/support)
> 日语
# 这是什么
一个强大的插件,可以操纵代理或代理下所有的命令,从而控制显示和执行
# 使用方法
### 導入前に
基本的にはLuckPerms等の権限管理プラグインと利用することをお勧めいたします
## 設定方法
ダウンロードしたプラグイン本体を、Velocityのプラグインフォルダに入れ、一度起動します
そうすることでデフォルトのconfigが生成されます
### Configの説明
config内の`[[permissions]]`に記述した権限を持つプレイヤーに記述した設定が反映されるようになります
LuckPermsのグループ継承等で複数の権限を持つプレイヤーの場合、すべての設定が有効化されるため、制限が多い設定が優先されます
例を言うと、`default`に`commands = ["help", "list"]`が設定されていて、`guest`がデフォルトの権限を継承するようになっている場合、たとえ`guest`が`commands = ["list"]`のように設定されていても`help`を利用することはできません
```toml
# 全てのコマンドの表示と実行を許可する権限 以下の場合`commandlimiter.admin`
allAllowed = "admin"
# 権限を何も持っていないプレイヤーのすべてのコマンドの表示と実行を制限するか
limitNoPermissionsPlayer = true
# 各 permission node で利用できるコマンドの設定
[[permissions]]
# permission node の値 以下の場合`commandlimiter.default`
nodeName = "default"
# ホワイトリストを有効にするか
# falseの場合はブラックリスト形式になる
whiteList = true
# ホワイトリストの場合は、以下に記述したコマンドのみ表示と実行が可能になる
# ブラックリストの場合は記述したコマンドのみ制限される~~~~
# サブコマンドを含むコマンドの場合、ワイルドカードや正規表現でフィルタ可能
commands = ["help", "list", "me*", "msg*", "teammsg*", "tell*", "tm*", "trigger*", "w*", "random*"]
```
### Permission Node
このプラグインの permission node の root は `commandlimiter` になっています
LuckPerms等で設定する場合は以下のように設定する必要があります
> LuckPermsの設定をyamlで保存するようにしている場合の例
```yaml
name: default
permissions:
- commandlimiter.default:
value: true
```
## Command
以下のコマンドが利用可能なコマンドです
| コマンド |エイリアス | 説明 | 必要なPermissionノード |
|---------------------------|-------------|-------------------------------------------------|-----------------------|
| `/commandlimiter-reload` | `/cl-reload` | プラグインのconfigを再読み込みして設定を反映します | `commandlimiter.admin`|
> ⚠️注意⚠️
コマンドで設定を再読み込みしたとしても、クライアントでは**サーバーに再接続するまで設定前の表示**になります
これはクライアントがサーバー接続時に利用できるコマンドを取得する仕様のためです