• 【MineBBS社区发展意见征集】

    欢迎参与MineBBS社区调查,助力打造更好Minecraft社区!完成问卷可获赠200金粒,优质回答可额外获得200金粒(限5名),快来参与吧!【点击参与】

Scriptirc - AI插件编写 并编译为服务器插件

原创 工具 Scriptirc - AI插件编写 并编译为服务器插件 1.2.5

登录后下载
版权类型
原创
插件中文名称
脚本编译
插件英文名称
Scriptirc
原帖地址
#
支持的核心(服务端)
  1. Spigot
  2. Paper
语言支持
中文(简体)
前置组件
none
适配版本(Java)
  1. 1.20
  2. 1.19
  3. 1.18
  4. 1.17
  5. 1.16
  6. 1.15
  7. 1.14
  8. 1.13
# ScriptIrc - 脚本编译,使用AI构建编写一键生成ScriptIrc专用脚本 | 基于服务器环境直接编译脚本为服务器插件

![版本](https://img.shields.io/badge/版本-1.2.5-blue)
![Minecraft](https://img.shields.io/badge/Minecraft-1.13+-green)
![语言](https://img.shields.io/badge/语言-Java-orange)

**这个插件推荐 用于测试服务器 或 正在开发中的服务器 因为编译出来的脚本不需要依赖ScriptIrc的加载 您可以将编译出来的插件脚本可以直接放置在plugins内**

## 📚 介绍

ScriptIrc是一个功能强大的Bukkit/Spigot插件,旨在简化插件管理和即时开发流程。如果你曾经希望能够在不重启服务器的情况下 编译修改脚本插件、加载、卸载或重载 ,或者想要快速开发和测试简单的功能,ScriptIrc将是你理想的选择。

[/MD]


[MD]

### ✨ 主要特性

- 🚀 **支持AI构建脚本** - 基于AI服务快速创建指定需求脚本
- 🔄 **动态插件管理** - 无需重启服务器即可加载、卸载或重载插件
- 📝 **即时脚本编译** - 将Java脚本直接编译为功能完整的Bukkit插件
- 🛡️ **数据目录隔离** - 自动为插件脚本创建独立的数据目录
- 🔧 **无缝集成** - 与现有的Bukkit/Spigot/Paper环境兼容
- 🔒 **资源释放** - 卸载插件脚本彻底释放插件资源,解锁JAR文件

## 🚀 安装说明

1. 下载最新版本的ScriptIrc.jar
2. 将JAR文件放入服务器的plugins目录
3. 重启服务器或使用插件管理器加载插件
4. 插件将自动创建必要的目录结构和配置文件

## 💡 使用方法

ScriptIrc提供了直观的命令系统,让你可以轻松管理插件和脚本:

### 基本命令(所有命令可简写为/si)

| 命令 | 描述 |
|------|------|
| `/scriptirc help` | 显示帮助信息 |
| `/scriptirc load <插件名>` | 加载指定的插件脚本 |
| `/scriptirc unload <插件名>` | 卸载指定的插件脚本 |
| `/scriptirc reload <插件名>` | 重新加载指定的插件脚本 |
| `/scriptirc list` | 列出所有已加载的插件脚本 |
| `/scriptirc compiler <脚本名>` | 编译指定的Java脚本为插件 |
| `/scriptirc profile` | 上传服务器配置插件信息(用于辅助ai创建插件用) |
| `/ai-builder` | 制作AI插件脚本WEBUI(用于生成创建脚本) |

### 插件管理示例

```
# 加载名为TestPlugin的插件
/si load TestPlugin

# 卸载插件
/si unload TestPlugin

# 重新加载插件(例如更新后)
/si reload TestPlugin

# 查看已加载的插件列表
/si list
```

### 脚本编译示例

```
# 编译位于script_src目录下的HelloWorld.java脚本
/si compiler HelloWorld

# 然后加载编译好的插件
/si load HelloWorld
```

## 📂 目录结构

安装后,ScriptIrc将创建以下目录结构:

```
plugins/
└── ScriptIrc/
├── config.yml # 插件配置文件
├── plugins/ # 外部插件存放目录
│ └── Data/ # 插件数据目录
├── script_src/ # 脚本源码目录
│ ├── HelloWorld.java # 示例脚本
│ └── MathUtil.java # 示例脚本
├── script_build/ # 脚本构建临时目录
└── lib/ # 额外可能需要的依赖
```

## 🛠️ 开发教程 - 创建你的第一个脚本插件

ScriptIrc让插件开发变得异常简单。你只需要创建一个Java源文件,编译后即可立刻加载使用。下面是开发步骤:

### 1. 创建脚本文件

在`plugins/Scriptirc/script_src`目录下创建一个新的Java文件,例如`MyFirstPlugin.java`。

### 2. 编写插件代码

以下是一个简单的插件模板:

```java
//包名可自定义(尽量合理就好)
package your.package.name;

import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.plugin.java.JavaPlugin;

/**
* @pluginName <插件名称>
* @author <作者>
* @version <版本>
* @description <描述 仅在此行内完成所有描述>
* (命令和权限是可选添加的)
* [command]<命令1>|描述1[/command]
* [command]<命令2>|描述1[/command]
* [Permission]<权限1>|描述1[/Permission]
* [Permission]<权限2>|描述2[/Permission]
*/

public class MyFirstPlugin extends JavaPlugin {

@Override
public void onEnable() {
getLogger().info("插件已启用!");
// 初始化代码
//
}

@Override
public void onDisable() {
getLogger().info("插件已禁用!");
// 卸载 监听器 命令 相关的代码 可以放置在这里
}

@Override
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
if (command.getName().equalsIgnoreCase("myfirstcmd")) {
if (sender instanceof Player) {
Player player = (Player) sender;
player.sendMessage("§a你好,这是我的第一个插件命令!");
} else {
sender.sendMessage("这个命令只能由玩家执行!");
}
return true;
}
return false;
}
}
```

### 3. 编译并加载插件

使用以下命令编译和加载你的插件:

```
/si compiler MyFirstPlugin.java
/si load MyFirstPlugin
```

就这么简单!你的插件现在已经在服务器上运行了,无需重启服务器。

### 重要的元数据字段

| 字段 | 必填 | 描述 |
|------|------|------|
| `VERSION` | 是 | 插件版本号 |
| `DESCRIPTION` | 是 | 插件描述 |
| `AUTHOR` | 是 | 插件作者 |
| `COMMANDS` | 否 | 插件命令定义,格式为"命令名|描述" |
| `PERMISSIONS` | 否 | 插件权限定义,格式为"权限节点|描述" |

## ⚙️ 配置文件说明

Scriptirc的配置文件(`config.yml`)允许你自定义插件的行为:

```yaml
# 插件自动重载配置 | Auto-reload configuration
auto-reload:
# 是否启用自动重载 | Whether to enable auto-reload
enabled: true
# 检测间隔(秒) | Check interval (seconds)
check-interval: 5
# 是否在控制台输出详细日志 | Whether to output verbose logs in console
verbose-logging: false

# 插件管理设置 | Plugin management settings
plugin-management:
# 外部插件存放目录,相对于插件数据文件夹 | External plugins directory, relative to plugin data folder
external-plugins-directory: "plugins"
# 是否在服务器启动时自动加载外部插件 | Whether to auto-load external plugins on server startup
load-on-startup: true
# 是否将外部插件的数据文件夹重定向到ScriptIrc目录下 | Whether to redirect external plugins' data folders to ScriptIrc directory
redirect-data-folder: true

# 权限设置 | Permission settings
permissions:
# 管理员权限节点 | Admin permission node
admin-permission: "scriptirc.admin"
# 是否只允许OP使用 | Whether to allow only OP to use
op-only: true

# 日志设置 | Logging settings
logging:
# 日志输出级别: VERBOSE(输出所有日志), NORMAL(标准输出), MINIMAL(只输出关键信息)
# Log output level: VERBOSE(all logs), NORMAL(standard output), MINIMAL(only critical information)
level: "MINIMAL"

# 语言设置 | Language settings
language:
# 当前语言: zh_CN(简体中文), en_US(英语)
# Current language: zh_CN(Simplified Chinese), en_US(English)
current: "zh_CN"
# 是否启用自定义语言文件 (放置在 plugins/ScriptIrc/messages/ 目录下)
# Whether to enable custom language files (placed in plugins/ScriptIrc/messages/ directory)
enable-custom: true
```
## 🤔 常见问题


### 编译脚本时报错怎么办?

确保:
1. Java代码语法正确
2. 包含所有必要的元数据字段(VERSION, DESCRIPTION, AUTHOR)
3. 服务器运行在JDK而不是JRE上(编译需要JDK)
4. 您也可以尝试使用ai工具为您解决一些错误 大多数情况都能解决

### 如何删除动态加载的插件文件?

当使用 `/si unload` 命令卸载插件时,ScriptIrc会尝试完全释放JAR文件,使其可以被删除或替换。如果仍然无法删除,可能需要重启服务器。


## 声明
* 有关于插件卸载加载 相关的代码 我参考了PlugManX项目
---

## 关于ai-builder
- ai-builder (AI:ScriptIrc) 功能基于当前插件之上 进行脚本开发任务
- ai-builder (AI:ScriptIrc) 的服务完全独立
- 条款链接:https://scriptirc.io/terms
- 当前插件的核心功能扔是基于当前服务器环境 编译服务器插件
- ai-builder 服务存在内购 但仍可通过签到免费试用
[/MD]
作者
维嘉
下载
20
查看
466
首次发布
最后更新

评分

0.00 星 0 次评分

维嘉 的其他资源

最新更新

  1. Scriptirc 1.2.5

    ## 🆕 更新内容 - 📁 **新增 `lib` 目录** 你现在可以手动添加额外的依赖库,辅助脚本正常编译运行。 - 🔍 **自动依赖检测**...
  2. Scriptirc-1.1

    更新 插件信息的检测方式 通过 注释识别插件信息 优化 编译流程
后退
顶部 底部