AI Minecraft Plugin Generator
Describe the plugin. Get a jar that was already played.
Write what your server needs in plain English. The AI writes the Java code, compiles it for the exact version you run, and starts a real Paper server where test players use it: commands, GUIs, mining, a restart. You get the .jar, the source and a report of what passed.
First plugin free. Then 1,000 credits per plugin, 500 credits per change. A failed build costs nothing.
Homes plugin: /sethome <name>, /home <name>, /delhome <name>, /homes lists them. 3 homes by default, 10 with homes.vip. Homes are per player and survive a restart. Messages in config.yml.
- This server is running Paper version 1.21.4-232
- [Homes] Enabling Homes v1.0.0
- Done (17.003s)! For help, type "help"
- > /sethome alpha
- [Homes] Home alpha saved.
- > console tp McGenBot 12 -60 0
- [Server: Teleported McGenBot to 12.500000, -60.000000, 0.500000]
- > /home alpha
- [Homes] Teleported to alpha.
- > /sethome beta
- [Homes] Home beta saved.
- > /sethome gamma
- [Homes] Home gamma saved.
- > /sethome delta
- [Homes] You have reached your home limit of 3.
- # C7 separate player cannot use another player's homes
- > @2 /home alpha
- (McGenBot2 joined)
- [McGenBot2] [Homes] Home alpha does not exist.
- # C8 create and persist a home across restart
- > /sethome persist
- [Homes] Home persist saved.
- > restart
- (server restarted, McGenBot rejoined)
- > /home persist
- [Homes] Teleported to persist.
- QA: 12 of 12 criteria verified (11 by test players, 1 from the code)
- Minecraft versions, 1.8.8 to 26.3
- 54Minecraft versions, 1.8.8 to 26.3
- plugins and libraries it can use
- 48plugins and libraries it can use
- test players on a real server
- 4test players on a real server
- honest results: verified, issues, failed
- 3honest results: verified, issues, failed
Two real test reports
Every request becomes a checklist, and every point gets a verdict with the evidence behind it. These are the two runs from the scene above, unedited. The hammer was not verified on the first try: the review sent it back three times, for a 3x3 that broke only 6 blocks, a permission check nobody had tested and a chest it could still break. It was marked verified only once the test players showed every point.
Homes plugin: /sethome <name>, /home <name>, /delhome <name>, /homes lists them. 3 homes by default, 10 with homes.vip. Homes are per player and survive a restart. Messages in config.yml.
- Result
- verified
- Checklist
- 12 of 12
- Time
- 6 min 32 s
- Rounds
- 3 builds, 6 test runs
- C1verified
A player can use
/sethome <name>to save a home at their current location under the specified name.Player saved homes with /sethome alpha, /sethome test, and /sethome persist; success messages were shown.
- C2verified
A player can use
/home <name>to teleport to their saved home with that name.Player used /home alpha after teleporting away and was teleported back; persistence run also teleported to persist after restart.
- C3verified
A player can use
/delhome <name>to delete their saved home with that name.Player deleted gamma with /delhome gamma and the listing changed; later deletion of base was followed by a missing-home response.
- C4verified
A player can use
/homesto list all of their saved homes.The /homes command listed saved homes, including alpha, beta, gamma and the VIP player's ten homes.
- C5verified
A player without
homes.vipcan have at most 3 homes.A non-VIP player saved three homes and received the limit message when attempting a fourth.
- C6verified
A player with
homes.vipcan have at most 10 homes.The VIP player saved ten homes and received the limit message when attempting an eleventh.
- C7verified
Homes are stored separately per player, so one player cannot list, use, or delete another player's homes.
McGenBot2 had an empty home list and could not use or delete McGenBot's alpha home.
- C8verified
Saved homes and their locations remain available after a full server restart.
The dedicated persistence scenario saved persist, restarted the server, and successfully used and listed it afterward.
- C9verified
Plugin messages are configurable in
config.yml, and changed messages are used after the plugin is reloaded.Changing messages.prefix followed by /homes reload changed output to the configured Test prefix and text; other reload tests also showed changed prefixes.
- C10verified
The home commands provide an appropriate response when the specified home does not exist.
Using nonexistent homes produced the configured 'Home ... does not exist' response.
- C11verified
The home limit is enforced when a player attempts to create a home beyond their allowed limit.
Attempts beyond the configured limits were rejected with the home-limit response.
- C12from code
The home commands reject console use with a clear player-only response instead of attempting to use a console location.
HomesCommand checks sender instanceof Player before player home operations and sends the configurable player-only message to non-player senders.
An iron hammer item: /hammer give <player> for admins (permission hammers.give). Mining with the hammer breaks 3x3 blocks across the direction you look, only blocks a pickaxe can mine, never bedrock or containers, and uses 1 durability per block. A normal pickaxe stays normal. Sneaking switches to 1x1.
- Result
- verified
- Checklist
- 9 of 9
- Time
- 14 min 4 s
- Rounds
- 8 builds, 9 test runs
- C1verified
A player without the hammers.give permission cannot use /hammer give <player>.
Deopped McGenBot2 received the no-permission response and no hammer was given.
- C2verified
A player with the hammers.give permission can use /hammer give <player> to give the named player an iron hammer item.
Operator McGenBot2 used /hammer give McGenBot and McGenBot received an iron hammer.
- C3verified
The console can use /hammer give <player> to give the named player an iron hammer item.
The console used hammer give McGenBot successfully and the player received an iron hammer.
- C4verified
When a player mines while holding the iron hammer and is not sneaking, it breaks a 3x3 area of blocks across the direction the player is looking.
Mining with the hammer broke all 9 blocks in the tested 3x3 plane.
- C5verified
The hammer breaks only blocks that the held hammer's equivalent pickaxe can mine.
The mixed-area test broke only the 6 stone blocks and skipped dirt, bedrock, and the chest.
- C6verified
The hammer never breaks bedrock or container blocks, including containers within the targeted 3x3 area.
Bedrock and the adjacent chest remained intact; a chest at the center was also protected.
- C7verified
The hammer loses exactly 1 durability for each block it breaks.
The full 3x3 break used 9 durability and the filtered break used 6, matching blocks actually broken.
- C8verified
When a player is sneaking while mining with the iron hammer, it breaks only the targeted 1x1 block instead of a 3x3 area.
While sneaking, the hammer broke only the targeted block and used 1 durability.
- C9verified
A normal pickaxe mines normally and does not break adjacent blocks in a 3x3 area.
A normal iron pickaxe broke only the targeted stone block and did not affect adjacent blocks.
How an AI plugin gets from request to tested jar
Most AI plugin makers stop when the code compiles. A plugin that compiles can still throw an error on the first command, lose every home on restart, or let players pull items out of a shop GUI. These five steps are there to catch that before you do.
- 01
Your request becomes a checklist
Before any code, the request is split into 8 to 20 points that can be checked, such as "a home survives a restart". You see them first. When you change a plugin later, the old points stay in force.
- 02
Written for your exact version
It looks up every class and method in an index of all 54 Paper and Spigot versions from 1.8.8 to 26.3. The index knows which method exists in which version and where it is deprecated.
- 03
Compiled the strict way
The code is compiled against the API of the version you picked. A deprecated call counts as an error. So does a command missing from plugin.yml, a listener that is never registered, or world access from an async task.
- 04
Played on a real server
A Paper server of your version starts with the plugin and the plugins it depends on. Up to 4 test players join and work through the checklist: commands, GUIs, mining, crafting, a restart, a clock jump.
- 05
Checked by a second reviewer
A separate review reads the code and the test transcript and checks each point against the evidence. You get one of three results: verified, issues (with the open points named) or failed.
What the test players do
The test is written from your checklist, so a shop gets clicked, a claim gets griefed and a cooldown gets waited out. Each step lands in a transcript with what the players saw: chat, action bar, titles, GUI contents and inventory changes.
Every command, from the console and as a player
Each command in plugin.yml runs once from the console, then the test players use them the way your players would.
/sethome baseGUI clicks, including the dupe paths
Left, right, shift-click, number keys and drop on every slot that matters. Items that end up on the cursor are reported.
click 13 shiftReal mining and crafting
Players dig blocks with the held tool and craft on a real crafting table. The report says how long a block took and what the tool lost in durability.
dig 0 1 -2A full restart
The server stops and starts again with the same world. Homes, balances and claims that vanish here would vanish on your server too.
restartTime jumps for cooldowns
The server clock moves forward by hours or days, so daily rewards, cooldowns and expiry dates get tested without waiting.
clock +1dUp to four players
A second player without op tries the admin command. A third joins mid-game. Permission checks and multiplayer logic get a real test.
@2 /eco give McGenBot 100Every Paper and Spigot version from 1.8.8 to 26.3
Minecraft's plugin API changes a little with every release. Methods move, enum names change, old text methods get deprecated. The most common complaint about AI plugins is code that mixes versions. Here every call is checked against the version you picked.
1.8.8 - 1.12.2
Java 8 · Spigot APIBefore the flattening: wool colours and heads are data values, there is no api-version, and an action bar needs 1.9 or newer.
1.8.81.9.41.10.21.11.21.121.12.11.12.21.13 - 1.16.5
Java 8 · Spigot API, Paper API on 1.16.5The flattening: every block variant is its own Material, block state lives in BlockData, plugin.yml needs api-version.
1.131.13.11.13.21.141.14.11.14.21.14.31.14.41.151.15.11.15.21.16.11.16.21.16.31.16.41.16.51.17 - 1.20.4
Java 16 and 17 · Paper APIText is Adventure components, MiniMessage from 1.18.2. ChatColor is deprecated as a type from 1.19.4.
1.171.17.11.181.18.11.18.21.191.19.11.19.21.19.31.19.41.201.20.11.20.21.20.41.20.5 - 1.21.11
Java 21 · Paper APIItem components and the registry rewrite. DAMAGE_ALL became SHARPNESS, SLOW became SLOWNESS, and the old names are gone, not deprecated.
1.20.51.20.61.211.21.11.21.31.21.41.21.51.21.61.21.71.21.81.21.91.21.101.21.1126.1 - 26.3
Java 25 · Paper APIThe new year-based versions. 26.2 ships Adventure 5, which removed what 4.x had deprecated, such as Title.Times.of.
26.1.126.1.226.226.3
Same request, three versions
Show "Saved!" in the action bar after /sethome
// No action bar API before 1.9.
// The generator says so instead of
// reaching into server internals.Not possible without server internals. You get told, not a plugin that breaks on the next update.
player.spigot().sendMessage(
ChatMessageType.ACTION_BAR,
TextComponent.fromLegacyText("Saved!"));Spigot API with the BungeeCord chat classes.
player.sendActionBar(
Component.text("Saved!", NamedTextColor.GREEN));Paper API with Adventure components. The String version is deprecated here, so the build rejects it.
The rules for each era come from the API itself: 54 versions read from the published API sources, every method with the versions it exists in.
Plugins it is measured on
Ten requests the size of a paid plugin, spread over five versions from 1.8.8 to 26.2. We run them after every change to the generator and compare the results with the run before.
Economy and shop GUI
Balances in SQLite, /pay with the usual checks, /baltop loaded async, a shop GUI where left-click buys 1, shift-click 64 and right-click sells.
Land claims
Mark two corners with a golden shovel, claim, trust friends. Strangers cannot build, open chests or hit animals inside.
Spleef minigame
Arenas with a 15 second countdown in the action bar, a sidebar of players left, a reward command for the winner and a floor reset.
3x3 mining hammer
Crafted from 3 iron blocks and 2 sticks, mines 3x3 across your view, skips bedrock and containers, sneak switches to 1x1.
Auction house
List the item in your hand, browse pages, confirm a purchase, pay offline sellers on login, expire offers after 48 hours.
1.8.8 PvP core
Combat tag, combat logging kills the player, /spawn with a warmup, killstreak messages and a stats sidebar.
Chat formats and messages
Group formats by permission, @mentions with a sound, /msg and /r, /ignore, social spy and an anti-spam limit.
World boss event
A boss on a timer with a boss bar, random abilities, a second phase at half health and rewards for the top 3 by damage.
Rankup with Vault and LuckPerms
Ranks in config with a price each. /rankup takes the money and moves you to the next LuckPerms group.
Playtime tracker
Counts active time without AFK, stores it in SQLite or MySQL, top 10 loaded async, one-time rewards by hours played.
Works with the plugins your server runs
Name them in the request. The generator reads their API, adds them to plugin.yml as dependencies, and the test server installs them next to your plugin.
- VaultEconomy
- LuckPermsPermissions
- PlaceholderAPIPlaceholders
- EssentialsXEssentials
- WorldGuardRegions
- WorldEditBuilding
- FastAsyncWorldEditBuilding
- GriefPreventionClaims
- TownyTowns
- CitizensNPCs
- FancyNpcsNPCs
- DecentHologramsHolograms
- ProtocolLibPackets
- PacketEventsPackets
- Multiverse-CoreWorlds
- NBT-APIItems
- HikariCPDatabase
- MySQL and MariaDBDatabase
- SQLiteDatabase
- PostgreSQLDatabase
- MongoDBDatabase
- RedisCache
- bStatsMetrics
- XSeriesCross-version
- and 24 more
How to describe a plugin so it comes out right
You do not need to know Java. You need to know your server. Four habits save the most rounds.
Say the version
Pick it when you create the project, or write it: "for Paper 1.21.4". A 1.8.8 plugin and a 26.2 plugin are different code.
List commands and permissions
Write each command with its arguments and who may use it: "/claim trust <player>, owner only".
Give the numbers
Prices, cooldowns, radius, how many homes per rank. Anything you leave open has to be guessed.
Say what must survive a restart
Homes, balances, claims, stats. The test restarts the server and checks exactly those.
make a homes plugin
Homes plugin for Paper 1.21.4. /sethome <name>, /home <name>, /delhome <name>, /homes lists them. 3 homes by default, 10 with homes.vip. 5 second warmup that cancels when you move or take damage. Homes are per player and survive a restart. Messages in config.yml.
Compared with other AI plugin generators and ChatGPT
We read the websites, docs and pricing of ten AI plugin generators in October 2026. The middle column is what they document; a feature they have but do not describe would not show here.
| SwisserAI | Other AI plugin generators | ChatGPT or Claude (chat) | |
|---|---|---|---|
| Compiles the plugin before you get it | Yes | Yes | No, you build it |
| Compiled against your exact version | Yes, 54 versions | Some pick the API per version | No |
| Deprecated calls rejected | Yes, they fail the build | Not that we found | No |
| Starts a real server with the plugin | Yes | Some, then you join yourself | No |
| Test players run commands, GUIs, mining | Yes, up to 4 players | Not documented anywhere | No |
| Restart and clock jump tests | Yes | No | No |
| Report of what passed and what did not | Yes, per checklist point | Build log at most | No |
| Full source code | Yes | Often only on paid plans | Yes |
What it does not do yet
Better to know before you start than after you paid.
- Fabric, Forge and NeoForge mods, Bedrock add-ons and Skript scripts. It writes Paper and Spigot plugins.
- Folia. The plugin compiles, but nothing tests Folia’s threading yet.
- Libraries shaded into the jar. Libraries come from plugin.yml (the server downloads them) or from plugins you install.
- Paid plugins on the test server. It can write against ItemsAdder or MythicMobs, but the test cannot run them.
- Inventory drag and double-click collecting. The test players cannot do those two moves yet.
Where you can use the plugins
On your own server, without limits. The code is yours. Uploading is a different question, because the big sites have rules about AI-made projects.
- Your server or networkYes
- ModrinthNot if it is almost entirely AI made (rule since August 2026)
- BuiltByBitNo substantially AI-generated products
- SpigotMCYou must be the original author
- Hangar (PaperMC)No AI rule as of October 2026
What it costs
One fixed price per run, shown next to the start button. Credits are held when the run starts and charged when it ends with a plugin. If it fails, you get them back.
- Your first pluginFree
Once per account. The full run: plan, builds, test players, review and the jar.
- A new plugin1,000 credits
One fixed price, however many build and test rounds it takes.
about $1.33 on the $9.99 plan
- A change to a plugin500 credits
A new feature, a fix or a server error you paste in. The old checks run again.
about $0.67 on the $9.99 plan
- A run that fails0
The held credits go back in full. Same if you stop a run before the first build.
| Run | Credits | On the $9.99 plan | Detail |
|---|---|---|---|
| Your first plugin | Free | No card | Once per account. The full run: plan, builds, test players, review and the jar. |
| A new plugin | 1,000 credits | about $1.33 | One fixed price, however many build and test rounds it takes. |
| A change to a plugin | 500 credits | about $0.67 | A new feature, a fix or a server error you paste in. The old checks run again. |
| A run that fails | 0 | - | The held credits go back in full. Same if you stop a run before the first build. |
Credits come from your plan or a one-off top-up and work across every SwisserAI tool. See the plans or every price.
Minecraft plugin generator FAQ
Your first plugin is free, once per account. After that a new plugin costs 1,000 credits and a change costs 500 credits. New accounts get 250 starter credits, so more plugins need a plan or a top-up.
1,000 credits for a new plugin and 500 credits for each change after it. The price is fixed and shown before you start, and it covers the plan, every build and test round and the review. On the $9.99 plan that is about $1.33 per plugin. Every price is on the credits page.
Then it costs nothing. The credits are held when the run starts and go back in full if it ends as failed, and a failed free plugin does not use up your free one. If you stop a run before the first build, nothing is charged either. A run that ends with open points is charged, because you get a working jar and a report of what is still open.
It can, if something checks the result. A chat model writes code that looks right and calls methods your server version does not have. This generator looks up every call for your version, compiles the plugin, and lets test players use it on a real Paper server before you download it. The report tells you which points passed.
All 54 Paper and Spigot releases from 1.8.8 to 26.3, including 1.12.2, 1.16.5, 1.20.1, 1.21.4 and the new 26.x versions. The code is compiled against the API of the version you pick, with the right Java level: 8, 16, 17, 21 or 25.
Both. From 1.16.5 on it uses the Paper API, which also runs on Purpur and other Paper forks. Up to 1.16.4 it uses the Spigot API, so those plugins also run on plain Spigot and CraftBukkit.
No. You describe the plugin in plain English and get a .jar for your plugins folder. You also get the full source, so a developer can read or change it later.
Every point on the checklist has evidence in the test: a command answered the right way, a home was still there after the restart, the GUI did not let an item out. If a point could not be shown, the status is "issues" and the report names it. "Failed" means the plugin did not build or did not start.
Yes. It knows the APIs of 48 plugins and libraries, including Vault, LuckPerms, PlaceholderAPI, WorldGuard, Citizens and ProtocolLib. They go into plugin.yml as dependencies, and the test server installs them (Vault gets EssentialsX as the economy).
Yes. Ask for the change in the same project. The original checklist stays in force, so a new feature cannot quietly break an old one, and the test runs again.
Use it on your own server without limits. Marketplaces have their own rules: Modrinth and BuiltByBit do not accept projects that are mostly AI generated, and SpigotMC asks that you are the original author. Read the rules of the site before you upload.
Often used next
Tools that pair with Minecraft Plugin Generator on a Minecraft server.
Make your first Minecraft plugin
Describe it, pick your version, and download a jar that test players already used. The first one is free.
NOT AN OFFICIAL MINECRAFT PRODUCT. NOT APPROVED BY OR ASSOCIATED WITH MOJANG OR MICROSOFT.
SwisserAI is responsible for this tool, not Mojang or Microsoft. Contact: support@swisser.dev · Imprint
Block and player textures in the scene: Pixel Perfection by XSSheep, via VoxeLibre, CC BY-SA 4.0, tinted by us.