ScriptIrc v1.4.7

ScriptIrc is built for Bukkit/Spigot
An agent-powered development engine.

AI-assisted builds, instant compilation, and dynamic hot reload.
We’re not just shipping tools—we’re reshaping Minecraft server operations.

Hi, I want to build a chat mute plugin.
ScriptIrc Engine FT2

Hi! A chat mute plugin is a common request. There are multiple ways to implement it, so let me confirm a few key requirements first to design the best structure for you.

Mute Plugin Requirements
Please confirm the exact features you want. I will design the plugin structure based on your selections.
Mute Type
Required
Mute Duration
Required
Mute Reason
Unmute Features
Required
Storage Type
Required
Command Prefix
Required
Mute Plugin Requirements
Skip
I choose to skip and implement as the AI recommends.
ScriptIrc Engine FT2

Got it. You chose:

  • Player mute (specific players)
  • Supports permanent and temporary mutes
  • Records a mute reason
  • Supports manual unmute, auto unmute, and viewing the mute list
  • Uses YAML file storage
  • Command prefix: “mute”

Now please confirm the plugin name and version, then we can start development.

Plugin Basic Info
Fill in the basic info below. These will be used to generate plugin.yml and the project structure.
Plugin Name
Required
Description
Required
Version
Required
Author
Required
Plugin Basic Info
Skip
I choose to skip and implement as the AI recommends.
ScriptIrc Engine FT2

Alright—I'll initialize the project with default values. Now I will start creating the mute plugin project.

Project initialized
Tool execution completed
MuteManager
Project initialized
A full-featured player mute management plugin
Supported1.20.xVersion1.0.0

Now I will set up the commands required by the plugin. Based on the design, we need the following commands:

Edit commands
Tool execution completed
MuteManager
Commands
/muteAliases: silence
Mute a player
/unmuteAliases: unsilence, unbanchat
Unmute a player
/mutelistAliases: listmute, mutes
View mute list
/muteinfoAliases: checkmute, mutecheck
View player mute info
/mutereloadAliases: reloadmute
Reload plugin config

Now I will set up the permission nodes:

Edit permissions
Tool execution completed
MuteManager
Permissions
mutemanager.usemutemanager.mutemutemanager.unmutemutemanager.listmutemanager.infomutemanager.reloadmutemanager.bypass

Great—the basic project info is set. Now I will create the full plugin project structure. First, let’s check the current structure:

List project
Tool execution completed

Now I will start creating the full plugin code. First, I will create the data model class:

New file
MuteData.java

Create the data manager class:

New file
MuteManager.java

Create the event listener:

New file
MuteListener.java

Create the command executor:

New file
MuteCommand.java

Create the tab completer:

New file
MuteTabCompleter.java

Now create the configuration file:

New file
config.yml

Create the data file template:

New file
data.yml

Now we need to update the main class file. Since we created another MuteManager class, we need to rename the original main class:

Read
Mutemanager.java

Delete the original main class file, because we already have the complete MuteManager class:

Delete
Tool execution completed

Now create the README.md file:

New file
README.md

Now let’s check whether the project structure is complete:

List project
Tool execution completed

Nice! Now let’s check whether the plugin.yml file is correct:

Read
plugin.yml

We need to update the main class path in plugin.yml. Since we deleted the original Mutemanager.java file, the main class is now MuteManager:

Edit
Tool execution completed
/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: 'A full-featured player mute management plugin'

We also need to add the mutemanager.admin permission:

Edit
Tool execution completed
Read
plugin.yml
Edit
Tool execution completed
/src/main/resources/plugin.yml
+3/-0
@@@@ -42,3 +42,6 @@
mutemanager.bypass:
description: 'Permission to bypass mutes'
default: false
+ mutemanager.admin:
+ description: 'Admin permission (can mute players with bypass permission)'
+ default: false

The project is complete! Here’s a quick summary of the mute plugin we created:

Project Summary

We have successfully created a full-featured mute plugin with the following highlights:

✅ Core Features

  1. Player mute - Mute specific players
  2. Duration support - Permanent and temporary mutes (multiple time units supported)
  3. Mute reason - Record the reason for each mute
  4. Auto unmute - Automatically unmute when time expires
  5. Manual unmute - Admins can unmute at any time

✅ Admin Features

  1. Mute list - View all muted players (paginated)
  2. Mute info - View mute details for a specific player
  3. Config reload - Reload config without restarting
  4. Persistence - Store data in YAML files

✅ User Experience

  1. Smart tab completion - Auto-complete player names, durations, and reasons
  2. Permissions - Complete permission control
  3. Message hints - Muted players receive a prompt
  4. Broadcasts - Configurable mute/unmute broadcast messages

✅ Technical Implementation

  1. Event listeners - Listen to chat and join events
  2. Scheduled tasks - Automatically unmute expired mutes
  3. Data model - A clear MuteData data model
  4. Config management - A complete config.yml setup

File Structure

none
/src/main/java/io/Sriptirc_wp_1/mutemanager/
├── MuteManager.java      # Main class (lifecycle & data)
├── MuteData.java         # Mute data model
├── MuteListener.java     # Event listener
├── MuteCommand.java      # Command executor
└── MuteTabCompleter.java # Tab completer

/src/main/resources/
├── plugin.yml           # Plugin descriptor
├── config.yml           # Configuration
└── data.yml             # Data template

/README.md               # Usage guide

Ready to Test!

This project is ready to export and compile. You can:

  1. Click “Export Project” to get the .sirc file
  2. Place it into: plugins/ScriptIrc/scripts/src/
  3. Run in server console: /scriptirc compiler MuteManager

After a successful build, the plugin will appear in plugins/ . Restart the server to use it.

Usage Examples

bash
# Mute a player for 30 minutes
/mute Steve 30m Spamming

# Permanent mute
/mute Alex Insulting other players

# View mute list
/mutelist

# Unmute a player
/unmute Steve

# View mute info
/muteinfo Alex

# Reload config
/mutereload

The plugin will generate its config automatically. You can customize messages and broadcast settings as needed.

Current test model

ScriptIrc Engine FT2

Engine capabilities

Intelligent build service

Describe your requirements, and the AI generates Bukkit-compliant Java source code or a Sirc project.

Automated data isolation

Creates an isolated data directory for each script plugin to keep configs and data from interfering with each other.

Standard plugin output

ScriptIrc compiles standard Bukkit plugins—no ScriptIrc runtime required. Drop the built JAR into your plugins folder and run.

Context usage ≈13336Tokens

* Simulating ScriptIrc’s real-time refactoring of Minecraft plugin logic.

01.

Virtual file system

Full virtual file system support: the AI edits and develops directly inside it.

02。

Structured development

Build with a clear project structure and modular design.

03.

Engineering & performance

Correctness first, with smart consideration for server performance and event overhead.

04.

Design confirmation

If requirements are risky or unreasonable, ScriptIrc asks for confirmation.

Compile workflow

Plugin compilation logic

Note: a .sirc file is a ScriptIrc source project package, not a loaded plugin. The plugin only becomes active after the /compiler command succeeds.

STEP 01

Export the source project package

Click “Export Project” to get the .sirc file and download it locally.

Action: Project Export
STEP 02

Place it into the target directory

Place the file into:
plugins/ScriptIrc/scripts/src/

Path: /src/repository
STEP 03

Run the compiler command

Run the command in the console to build instantly:
/scriptirc compiler <plugin_name>

Status: active after success

Skip the tedious environment setup, let an agent help you build.

Join the ScriptIrc early access program!
From instant compilation to dynamic refactoring,

Try ScriptIrc Engine
Click to jump to ScriptIrc
Supports SPIGOT 1.12 - 1.20+
No runtime dependency
Data isolation