ScriptIrc - Script Compilation with AI-Powered Plugin Generation icon

ScriptIrc - Script Compilation with AI-Powered Plugin Generation -----

Compile Scripts into Plugins Directly in Your Server Environment



1asdasd_副本.png

[​IMG] [​IMG] [​IMG]

ScriptIrc - Script Compilation with AI-Powered Plugin Generation | Compile Scripts into Plugins Directly in Your Server Environment

This plugin is ideal for test or development servers. Scripts compiled through ScriptIrc become standalone plugins that can be placed directly in the plugins folder without depending on ScriptIrc at runtime.
Introduction

ScriptIrc is a powerful Bukkit/Spigot plugin designed to simplify plugin management and real-time development workflows. If you’ve ever wanted to compile and reload script plugins without restarting the server, or quickly test out simple features, ScriptIrc is the perfect solution.​
✨ Key Features

- AI-assisted script generation - Use AI services to create plugins based on specific requirements
- Dynamic plugin management - Load, unload, or reload plugins without restarting the server
- Real-time script compilation - Instantly compile Java scripts into Bukkit plugins
- ️ Data isolation - Each plugin gets its own data folder automatically
- Seamless integration - Fully compatible with Bukkit/Spigot/Paper servers
- Resource release - Completely releases plugin resources when unloading, unlocking JAR files

Installation Instructions

1. Download the latest `ScriptIrc.jar`
2. Place the JAR file into your server's `plugins` directory
3. Restart the server or use a plugin manager to load the plugin
4. The plugin will create the necessary folders and configuration files automatically

Usage Guide

ScriptIrc offers an intuitive command system to help you manage your plugins and scripts easily:

Basic Commands (All can be shortened to /si)

Command Description
/scriptirc help Show help information
/scriptirc load <PluginName> Load the specified plugin script
/scriptirc unload <PluginName> Unload the specified plugin script
/scriptirc reload <PluginName> Reload the specified plugin script
/scriptirc list List all loaded plugin scripts
/scriptirc compiler <ScriptName> Compile a Java script into a plugin
/scriptirc profile Upload server profile for AI plugin generation
/ai-builder Open the AI WebUI for building scripts


Plugin Management Examples
Code (Text):

# Load a plugin named TestPlugin
/si load TestPlugin

# Unload a plugin
/si unload TestPlugin

# Reload a plugin (e.g., after update)
/si reload TestPlugin

# List all loaded plugin scripts
/si list
 
Script Compilation Example
Code (Text):

# Compile HelloWorld.java in script_src directory
/si compiler HelloWorld

# Load the compiled plugin
/si load HelloWorld
 
Directory Structure

Once installed, ScriptIrc will create the following structure:

Code (Text):

plugins/
  └── ScriptIrc/
      ├── config.yml           # Plugin configuration file
      ├── plugins/             # External plugin directory
      │   └── Data/            # Plugin data folder
      ├── script_src/          # Source script folder
      │   ├── HelloWorld.java  # Sample script
      │   └── MathUtil.java    # Sample script
      ├── script_build/        # Temporary build folder
      └── lib/                 # Additional dependencies
 
️ Developer Guide - Your First Plugin Script

ScriptIrc makes plugin development easy. Just create a `.java` source file and compile it—no server restart needed!

Step 1: Create Script File
Create a file like `MyFirstPlugin.java` under `plugins/Scriptirc/script_src`.

Step 2: Write Plugin Code

Code (Java):

// Package can be custom, just be reasonable
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 <Plugin Name>
* @author <Author>
* @version <Version>
* @description <Single-line plugin description>
* [command]<command1>|Description1[/command]
* [command]<command2>|Description2[/command]
* [Permission]<perm.node1>|Description1[/Permission]
* [Permission]<perm.node2>|Description2[/Permission]
*/


public class MyFirstPlugin extends JavaPlugin {

    @Override
    public void onEnable ( ) {
        getLogger ( ). info ( "Plugin enabled!" ) ;
        // Initialization code
    }

    @Override
    public void onDisable ( ) {
        getLogger ( ). info ( "Plugin disabled!" ) ;
        // Cleanup logic
    }

    @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 ( "§aHello, this is my first plugin command!" ) ;
            } else {
                sender. sendMessage ( "This command can only be run by a player." ) ;
            }
            return true ;
        }
        return false ;
    }
}
 
Step 3: Compile and Load Plugin
Code (Text):

/si compiler MyFirstPlugin.java
/si load MyFirstPlugin
 
Required Metadata Fields

Field Required Description
VERSION Yes Plugin version
DESCRIPTION Yes Plugin description
AUTHOR Yes Plugin author
COMMANDS No Command definitions: "cmd|description"
PERMISSIONS No Permission definitions: "perm.node|description"


⚙️ config.yml Overview

Code (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
 
Frequently Asked Questions

Q: What if I get errors when compiling a script?
Ensure:
1. Your Java syntax is correct
2. Required metadata fields are present
3. Server is running JDK (not just JRE)
4. Try the AI tool to fix common issues—it works in most cases

Q: How to delete dynamically loaded plugin files?
After running `/si unload`, ScriptIrc attempts to release the JAR. If it’s still locked, a server restart may be required.

Related to ai-builder

- AI-Builder (AI:ScriptIrc) extends this plugin’s capabilities by generating scripts via Web UI
- It runs independently from the core plugin
- Terms: https://scriptirc.io/terms
- Core functionality remains focused on local plugin compilation
- Some features require in-app purchases, though daily free usage is available​
Resource Information
Author:
----------
Total Downloads: 86
First Release: May 19, 2025
Last Update: Jun 14, 2025
Category: ---------------
All-Time Rating:
0 ratings
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings