# 🕵️♂️ CommandBlockSpy
[简体中文](https://github.com/GoldenEggs-Workshop/command-block-spy/blob/master/README.md)
[](https://www.oracle.com/java/technologies/javase/jdk17-archive-downloads.html)
[](https://www.minecraft.net/en-us/article/minecraft-java-edition-1-21-4)
[](https://papermc.io/)
[](https://opensource.org/licenses/MIT)
[](https://modrinth.com/plugin/command-block-spy)
[](https://github.com/GoldenEggs-Workshop/command-block-spy)
📌 **CommandBlockSpy (CBS)** 是一款专为具有高自由度(已启用命令方块)的创意Minecraft服务器设计的插件。它通过记录命令方块执行数据并提供命令控制和安全监控,帮助服务器管理员管理命令方块活动。
✅ 已在 **Minecraft 1.21.4** 上测试,基于 **Paper** 构建。
## ✨ 插件功能
📝 **基于SQLite的执行日志记录**
自动将每个命令方块的执行计数、命令内容、上次执行时间和坐标记录到数据库中。
🔔 **实时监控**
可切换的实时命令监控系统,适用于控制台和玩家。
🚫 **危险命令拦截**
支持基于正则表达式的自定义拦截规则,并在阻止时提供可自定义的消息。
🔁 **循环命令方块拦截**
可以选择拦截始终开启(`auto=true`)的循环命令方块,拦截后将自动设置为红石控制。
⚠️ **禁用命令方块矿车**
可以选择防止玩家放置命令方块矿车。
## 🧪 可用命令
| 命令 | 描述 | 权限 |
|--------------------------------|---------------------------------------------------|----------------|
| `/cbspy` | 切换聊天监控提示 | `cbspy.use` |
| `/cbspy reload` | 重新加载插件配置 | `cbspy.reload` |
| `/cbspy query loc ` | 查询特定位置的执行历史 | `cbspy.query` |
| `/cbspy query recent ` | 查询最近的 `` 条执行记录 | `cbspy.query` |
---
## ⚙️ 配置示例
> 注意:所有功能默认 **禁用**。请根据需要启用它们。
```yaml
# CBS插件配置文件
# CBS Plugin Configuration
# 插件语言,支持中文(zh_CN)和英文(en_US)
# Plugin language, supports Chinese (zh_CN) and English (en_US)
language: zh_CN
# 是否启用数据库功能
# Enable database logging
database-logging-enabled: false
# 是否开启后台命令执行日志监控,开启后控制台会打印命令方块执行记录
# Enable backend monitoring (logs to console)
backend-monitor-enabled: false
# 是否拦截循环命令方块保持开启(auto=true)的命令,拦截后会自动设置为红石控制
# Intercept always-on repeating command blocks (auto=true)
intercept-repeating-auto: false
# 是否禁止命令方块矿车,开启后玩家会无法放置命令方块矿车
# Disable command block minecarts
ban-command-minecart: false
# 是否启用基于正则表达式的命令拦截功能,拦截匹配规则的指令并提示原因
# Enable regex-based command interception
regex-intercept-enabled: false
# 正则表达式拦截列表,格式:正则表达式: 拦截提示信息
# Regex interception list
# 支持常见正则表达式语法,例如:
# Format: regex pattern : block message
regex-block-list:
- pattern: ^say
message: 禁止使用 say 命令! # The 'say' command is not allowed!
```
## 🚀 快速安装
1. **下载插件**:
* [Modrinth 下载](https://modrinth.com/plugin/command-block-spy)
* [GitHub 发布](https://github.com/GoldenEggs-Workshop/command-block-spy/releases)
2. **安装到您的服务器**:
* 将 JAR 文件放入您的 `plugins/` 文件夹
* 重新启动服务器
## 📦 从源代码构建和安装
克隆项目:
```bash
git clone https://github.com/GoldenEggs-Workshop/command-block-spy
cd command-block-spy
```
构建插件:
```bash
./gradlew build
```
将 `build/libs/commandblockspy-xxx.jar` 复制到您的服务器的 `plugins/` 文件夹,然后重新启动服务器。
## 🔐 权限节点
| 权限节点 | 描述 |
|-----------------|-----------------------------|
| `cbspy.use` | 切换聊天提示 |
| `cbspy.reload` | 重新加载插件配置 |
| `cbspy.query` | 使用查询相关功能 |
## 💡 TODO 路线图
* 全面支持命令方块矿车(日志记录/拦截/禁用)
* 自定义数据库配置
* 多平台通知集成 (Feishu / DingTalk / Discord)
* 可视化查询界面
* √ i18n (国际化) 支持
## 📄 **许可证**
本项目采用 **MIT 许可证**。您有权修改和使用该插件。对于商业部署,请注明原始来源。