Polymart is now Voxel Shop! We're upgrading many features of the site, and during this open beta you will experience occasional bugs. Learn more
Let the Agent Build Bukkit Plugins for You

You only need to talk with ScriptIrc’s intelligent Agent in a web page and describe your gameplay and requirements.
The Agent will design and generate a complete Bukkit plugin project for you (exported as a .sirc project file).
Then, the ScriptIrc compiler plugin on your server will compile this project into a loadable plugin JAR.
Note: In this document, the combination of “Agent + compiler plugin” is collectively referred to as ScriptIrc.
We only introduce the main features and usage here, without going into low‑level implementation details.
https://scriptirc.io/chat) and talk with the Agent:plugin.yml, commands, permissions, dependency plugins, etc..sirc project file..sirc file to the ScriptIrc compiler plugin on your server:.sirc project into a Bukkit plugin JAR.sirc, and compile again.In simple terms: the Agent in the browser is responsible for “designing and coding”, while ScriptIrc on the server is responsible for “compiling and loading”.
plugins/ directory (for example plugins/ScriptIrc-x.x.x.jar)./scriptirc help or/si help (if you configured a short alias)plugins/ScriptIrc/.ScriptIrc only relies on the running Minecraft server environment.
You do not need to set up any extra local Maven/Gradle project or IDE.
The examples below use
/scriptircas the main command. In some environments you can also use the alias/si.
/scriptirc help
Show help information and the list of available sub‑commands.
/scriptirc list
List currently managed external plugins under ScriptIrc.
/scriptirc load <plugin name or JAR file name>
Load the specified plugin from ScriptIrc’s external plugin directory.
/scriptirc unload <plugin name>
Unload the specified external plugin.
/scriptirc reload <plugin name>
Reload the specified external plugin (equivalent to unloading then loading).
/scriptirc compiler <script name>
Compile a single‑file Java script (.java) in the scripts directory.
/scriptirc compiler HelloWorld or /scriptirc compiler HelloWorld.java/scriptirc compiler <script name> fixreport
When compilation fails, generate a dependency fix suggestion report to help you locate missing libraries or misconfigured dependencies.
/scriptirc compiler <project name>.sirc
Directly unpack and compile from a local .sirc project file.
/scriptirc compiler MyProject.sirc/scriptirc compiler sirc:<session ID>
Fetch a .sirc project from an online session over ScriptIrc Engine WebSocket and compile it.
/scriptirc compiler sirc:123456/scriptirc search <class name> or /scriptirc findclass <class name>
Search the current server and dependency libraries for the specified class’s fully qualified name, helping you confirm whether a dependency exists.
/scriptirc sirctree <project name>
View the virtual directory tree of a .sirc project without unpacking it to disk, for quickly understanding the internal file layout.
/ai-builderhttp://scriptirc.io/) for graphical / conversational project creation and editing.Actual available commands and arguments may change slightly as versions evolve.
Please refer to/scriptirc helpinside the plugin as the final reference.
After installing and running ScriptIrc for the first time, the plugin will create a standard directory structure under plugins/ScriptIrc/.
Common directories include:
plugins/ScriptIrc/
Root data directory of the plugin.
plugins/ScriptIrc/scripts/
Script and project workspace, which includes the following subdirectories:
src//scriptirc compiler <script name>.lib/output/ (default configured as scripts/output)/scriptirc load <plugin name> will load plugins from here.plugins/ScriptIrc/scripts/output/Data/
When “data folder redirection” is enabled, this directory is used as the root data folder for external plugins:
every plugin loaded by ScriptIrc will get its own data subdirectory here.
plugins/ScriptIrc/messages/
Directory for multi‑language message files, used to customize logs and prompts (e.g. zh_CN.properties / en_US.properties).
Other auxiliary directories and configuration files (such as config.yml)
When compiling scripts or .sirc projects, ScriptIrc automatically constructs a compilation classpath that is “as close as possible to the real server environment”, so you don’t have to manage dependencies manually in most cases:
Server‑side Dependencies
ScriptIrc Internal Dependencies
byte-buddy), which are automatically available at compile time and runtime.Custom JARs under scripts/lib
plugins/ScriptIrc/scripts/lib/. They will be included in the classpath automatically during compilation.Dependency Diagnosis & Fix Suggestions
/scriptirc compiler <plugin name> fixreportscripts/lib/ or how to adjust your script.ScriptIrc does not download dependencies from the internet.
It only builds the dependency chain based on the current server environment and the contents ofscripts/lib.
.java and .sircScriptIrc’s compiler can handle two types of input:
.java: single‑file Java scripts.sirc: project files (packaged full plugin projects)In ScriptIrc’s terminology:
.java source file.sirc fileBelow we introduce the characteristics and recommended usage of both formats.
.sirc Project File (Mainline Project Format).sirc?.sirc is ScriptIrc’s project packaging format, exported by the online editor..sirc file named after the current project..sirc is:fileSystem: the virtual file system treemetadata: project metadata (name, version, dependencies, commands, etc.)More formally:
.sirc= Base64( JSON({ fileSystem, metadata }) )
.sirc Look Like?fileSystemgzip(file content) encoded again with Base64metadataplugin.yml and related configuration during compilation.The general decoding process is:
.sirc textfileSystem and metadatafileSystem, and for each file node perform “Base64 decode → gzip decompress → write to disk”Inside ScriptIrc, a dedicated decoder is responsible for this process; you usually do not need to handle it manually.
.sircMain Path for Project Development
.sirc file.Compile .sirc on the Server
.sirc file where ScriptIrc can access it, then use for example:/scriptirc compiler MyProject.sirc/scriptirc compiler sirc:<session ID>Project Migration & Sharing
.sirc is a standalone file that can be moved between environments:scriptirc.io/chatscriptirc.io/chat is ScriptIrc’s public online builder interface (the exact URL may vary by official announcement). Here you can:
.sirc project file with one click for use by the ScriptIrc compiler on the serverIn short: you build the “project” in the browser and compile the .sirc on the server with ScriptIrc.
.java Script Files (Supplementary Format)In ScriptIrc, only .java source files are called “scripts”.
Scripts are a lightweight entry point compared to .sirc project files and are suitable for users familiar with Java to implement small features quickly.
plugins/ScriptIrc/scripts/src/.java file in this directory can be treated as an independent script.(The following summarizes the main points of the script development guidelines.
For full details, please refer to the script development guide document in this repository.)
JavaPlugin, making it a standard Bukkit/Spigot plugin main class.plugin.yml) in two ways:VERSION, DESCRIPTION, AUTHOR, COMMANDS, PERMISSIONS, etc.@pluginName, @version, @description, [command]...[/command], [permission]...[/permission] in the class JavaDoc.plugin.yml.Compile script:
/scriptirc compiler <script file name>/scriptirc compiler HelloWorld.java or /scriptirc compiler HelloWorldGet dependency suggestions when compilation fails:
/scriptirc compiler <script file name> fixreportLoad the compiled plugin:
/scriptirc load <plugin name>/scriptirc load HelloWorldCompared with
.sircprojects, scripts are better suited for small tools or quickly testing ideas.
For full gameplay features and long‑term maintenance, we recommend the “project +.sirc” path.
.java file).sirc)scripts/srcBuild project in the online editor via chat and file viewsComplexitySuitable for small features and simple logicSuitable for mid‑to‑large gameplay and long‑term maintained pluginsMetadata managementProvided by fields or comments in the scriptCentrally managed by project metadataPortabilityRequires manually packing or copying multiple filesSingle .sirc file carries the full projectRecommended scenarioJava‑savvy users writing helper toolsMain server gameplay and plugins intended for sharingRole in ScriptIrcSupplementary, lightweightPrimary, core formatYou can remember it briefly as:
Scripts = you write the code yourself; .sirc project files = you co‑develop the plugin with ScriptIrc Engine.
No.
ScriptIrc’s main feature set is designed around the “project + .sirc” workflow.
You can primarily use the online editor via natural language and UI operations to develop projects, with ScriptIrc helping to handle code and structure.
Scripts are only an additional entry point for users already familiar with Java.
.sirc recommended over writing everything as scripts?.sirc is better for complex gameplay and long‑term maintenance, with full directory structure, config, and documentation./scriptirc compiler <script name> fixreport to obtain dependency fix suggestions.scripts/lib/..sirc projects, confirm that the exported file is not truncated or corrupted; re‑export it from the online editor if necessary..sirc over WebSocket?.sirc file from the online editor, upload it to the server manually, and then compile it using /scriptirc compiler MyProject.sirc..sirc projects at the same time?Yes.
You can run plugins compiled from .sirc projects and script‑based plugins on the same server.
ScriptIrc does not force you to choose only one approach.
ScriptIrc is currently provided in closed‑source form.
The specific terms of use, commercial licensing, and limitations for the plugin and related services are subject to the latest official statements from the author.
This document is for usage instructions only and does not constitute a complete legal license agreement.
If you are using ScriptIrc, you are welcome to briefly introduce it to players or peers in appropriate situations,
so more people can turn their gameplay ideas into real, running plugins on servers without being blocked by tedious environment setup.