ScriptIrc v1.0 Beta

ScriptIrc 是专为 Bukkit/Spigot
设计的 Agent 开发引擎。

集成 AI 辅助构建、即时编译与动态热加载技术。
我们不仅仅是在提供工具,而是在重塑 Minecraft 服务器的运维体验。

你好我想实现一个禁言插件
ScriptIrc Engine FT2

你好!想做个禁言插件,这个需求很常见。不过禁言功能其实有很多种实现方式,我得先跟你确认几个关键点,这样我才能帮你设计出最合适的插件。

禁言插件功能确认
请确认你想要的禁言插件具体功能,我会根据你的选择来设计插件结构
禁言类型
必填
禁言时长支持
必填
是否需要禁言理由
解禁功能
必填
数据存储方式
必填
命令前缀
必填
禁言插件功能确认
跳过
我选择跳过,按照 AI 推荐的方式实现。
ScriptIrc Engine FT2

好的,我明白了。你选择了:

  • 玩家禁言(针对特定玩家)
  • 支持永久禁言和临时禁言
  • 需要记录禁言理由
  • 支持手动解禁、自动解禁和查看禁言列表
  • 使用YAML文件存储
  • 命令前缀用 “mute”

现在我需要你确认一下插件的名称和版本信息,然后我们就可以开始开发了。

插件基本信息
请填写插件的基本信息,这些会用于生成 plugin.yml 和项目结构
插件名称
必填
插件描述
必填
插件版本号
必填
作者名称
必填
插件基本信息
跳过
我选择跳过,按照 AI 推荐的方式实现。
ScriptIrc Engine FT2

好的,那我就用默认值来初始化项目了。现在开始创建禁言插件项目。

项目初始化
工具已完成执行
MuteManager
项目初始化
一个功能完善的玩家禁言管理插件
支持版本1.20.x版本号1.0.0

现在设置插件需要的命令。根据我们的功能设计,需要以下命令:

编辑命令
工具已完成执行
MuteManager
命令配置
/mute别名: silence
禁言玩家
/unmute别名: unsilence, unbanchat
解禁玩家
/mutelist别名: listmute, mutes
查看禁言列表
/muteinfo别名: checkmute, mutecheck
查看玩家禁言信息
/mutereload别名: reloadmute
重载插件配置

现在设置权限节点:

编辑权限
工具已完成执行
MuteManager
权限配置
mutemanager.usemutemanager.mutemutemanager.unmutemutemanager.listmutemanager.infomutemanager.reloadmutemanager.bypass

好的,项目基础信息已经设置好了。现在我来创建完整的插件项目结构。首先看看当前的项目结构:

列出项目
工具已完成执行

现在开始创建完整的插件代码。首先创建数据模型类:

新文件
MuteData.java

创建数据管理器类:

新文件
MuteManager.java

创建事件监听器:

新文件
MuteListener.java

创建命令执行器:

新文件
MuteCommand.java

创建命令补全器:

新文件
MuteTabCompleter.java

现在创建配置文件:

新文件
config.yml

创建数据文件模板:

新文件
data.yml

现在需要更新主类文件,因为刚才创建了同名的MuteManager类,需要重命名原来的主类:

读取
Mutemanager.java

删除原来的主类文件,因为我们已经有了完整的MuteManager类:

删除
工具已完成执行

现在创建README.md文件:

新文件
README.md

现在检查一下项目结构是否完整:

列出项目
工具已完成执行

很好!现在检查一下plugin.yml文件是否正确:

读取
plugin.yml

需要修改plugin.yml中的主类路径,因为我们删除了原来的Mutemanager.java文件,现在的主类是MuteManager:

编辑
工具已完成执行
/src/main/resources/plugin.yml
+1/-1
@@@@ -1,6 +1,6 @@
name: MuteManager
version: '1.0.0'
-main: io.Sriptirc_wp_1.mutemanager.Mutemanager
+main: io.Sriptirc_wp_1.mutemanager.MuteManager
api-version: '1.16'
authors: ['wp:1']
description: '一个功能完善的玩家禁言管理插件'

还需要添加mutemanager.admin权限:

编辑
工具已完成执行
读取
plugin.yml
编辑
工具已完成执行
/src/main/resources/plugin.yml
+3/-0
@@@@ -42,3 +42,6 @@
mutemanager.bypass:
description: '绕过禁言的权限'
default: false
+ mutemanager.admin:
+ description: '管理员权限(可禁言有bypass权限的玩家)'
+ default: false

现在项目已经完成了!让我总结一下我们创建的禁言插件:

项目完成总结

我们已经成功创建了一个功能完善的禁言插件,包含以下特性:

✅ 核心功能

  1. 玩家禁言 - 针对特定玩家进行禁言
  2. 时长支持 - 永久禁言和临时禁言(支持多种时间单位)
  3. 禁言理由 - 记录每次禁言的原因
  4. 自动解禁 - 时间到自动解除禁言
  5. 手动解禁 - 管理员可随时手动解禁

✅ 管理功能

  1. 禁言列表 - 查看所有被禁言的玩家(分页显示)
  2. 禁言信息 - 查看特定玩家的禁言详情
  3. 配置重载 - 无需重启即可重载配置
  4. 数据持久化 - 使用YAML文件存储数据

✅ 用户体验

  1. 智能命令补全 - 自动补全玩家名、时长、原因
  2. 权限系统 - 完整的权限控制
  3. 消息提示 - 被禁言玩家会收到提示
  4. 广播通知 - 可配置是否广播禁言/解禁消息

✅ 技术实现

  1. 事件监听 - 监听玩家聊天和登录事件
  2. 定时任务 - 自动检查并解禁过期禁言
  3. 数据模型 - 清晰的MuteData数据模型
  4. 配置管理 - 完整的config.yml配置

文件结构

none
/src/main/java/io/Sriptirc_wp_1/mutemanager/
├── MuteManager.java      # 主类,管理插件生命周期和数据
├── MuteData.java         # 禁言数据模型
├── MuteListener.java     # 事件监听器
├── MuteCommand.java      # 命令执行器
└── MuteTabCompleter.java # 命令补全器

/src/main/resources/
├── plugin.yml           # 插件描述文件
├── config.yml           # 配置文件
└── data.yml             # 数据文件模板

/README.md               # 详细使用说明

现在可以测试了!

这个项目已经可以导出编译了。你可以:

  1. 点击左侧「导出项目」获取 .sirc 文件
  2. 将该文件放入:plugins/ScriptIrc/scripts/src/
  3. 在服务器或控制台执行:/scriptirc compiler MuteManager

编译成功后,插件就会出现在 plugins/ 目录中,重启服务器即可使用。

使用示例

bash
# 禁言玩家30分钟
/mute Steve 30m 刷屏

# 永久禁言
/mute Alex 辱骂其他玩家

# 查看禁言列表
/mutelist

# 解禁玩家
/unmute Steve

# 查看禁言信息
/muteinfo Alex

# 重载配置
/mutereload

插件会自动生成配置文件,你可以根据需要调整消息内容和广播设置。

Current Test Model

ScriptIrc Engine FT2

Engine Capabilities

智能构建服务

描述需求,AI 自动生成符合 Bukkit 规范的 Java 源代码或 Sirc 项目。

自动化数据隔离

为每个脚本插件创建独立的数据目录,确保配置与数据互不干扰。

标准插件解构

基于ScriptIrc编译的是标准 Bukkit 插件 不依赖 ScriptIrc 运行,直接编译结果 JAR 丢进 plugins 目录使用。

Context Occupancy ≈13336Tokens

* 正在模拟 ScriptIrc 实时重构 Minecraft 插件逻辑的过程。

01.

虚拟文件系统

支持完整的虚拟文件系统,AI模型会在文件系统内进行编辑开发。

02。

结构化开发

开发的过程中设定合理的项目结构需模块化开发。

03.

工程与性能原则

技术正确性优先,智能考虑服务器性能与事件开销

04.

开发逻辑确认

当需求设计存在明显不合理或风险时,则提示用户确认

Compilation Workflow

插件编译逻辑

请注意:.sirc 是 ScriptIrc 的源码项目包,并非已加载的插件。 插件只有在 /compiler 命令成功执行后才会正式生效。

STEP 01

导出源码项目包

点击左侧「导出项目」按钮获取 .sirc 文件,将其下载至本地。

Action: Project Export
STEP 02

存入指定目录

将文件放入:
plugins/ScriptIrc/scripts/src/

Path: /src/repository
STEP 03

执行编译器命令

在控制台执行指令完成即时构建:
/scriptirc compiler <插件名>

Status: Effect On Successful

跳过繁琐的环境配置,让 Agent 帮助您进行开发。

加入 ScriptIrc 早期测试计划!
从即时编译到动态重构,

尝试 ScriptIrc Engine
点击并跳转到 ScriptIrc
支持 SPIGOT 1.12 - 1.20+
底依赖运行库
数据隔离