Spigot · Bukkit API

Spigot plugin generatorfrom a sentence to a .jar.

Describe the plugin and Codella writes it against the Spigot API — listeners, command executors, plugin.yml, config and all — then compiles it in the cloud for the Minecraft version your server actually runs, from 1.8 through 1.21 and later.

  • 1.8 → 1.21+
  • Full source
  • Vault ready
WelcomeListener.java
@EventHandlerpublic void onPlayerJoin(PlayerJoinEvent event) {  Player player = event.getPlayer();  if (!player.hasPlayedBefore()) {    economy.depositPlayer(player, config.getDouble("welcome-bonus"));    Bukkit.broadcastMessage(prefix + player.getName());  }}
What it generates

Complete Spigot plugins, not snippets.

A plugin that only compiles is not finished. These are the parts that separate a working example from something you can leave running on a server with players on it.
  1. Commands, permissions and tab completion

    Command executors registered properly through plugin.yml rather than bolted onto onCommand, with aliases, per-rank permission nodes and defaults, argument validation, usage messages, and tab completers that actually complete.

  2. The Bukkit event model, used correctly

    Listeners registered against the right events at the right priority, with cancellation handled before state changes rather than after — the mistake that causes duplicated items and ghost blocks in hand-written plugins.

  3. Inventory GUIs that survive real players

    Chest menus, pagination, confirmation dialogs and click routing, with the inventory-safety cases covered: clicks cancelled, shift-click and number-key swaps blocked, and holders checked so a menu can’t be confused with a chest.

  4. Config, storage and messages

    A config.yml generated with defaults and comments, saveDefaultConfig wired in, reload handling that does not leak listeners, and either flat-file or database persistence depending on what the plugin has to remember.

  5. Schedulers and async work

    Repeating tasks on the Bukkit scheduler, long work moved off the main thread, and results handed back on the main thread before touching the world — because touching a world object asynchronously is how a server deadlocks.

  6. Third-party integrations

    Vault economy and permissions, PlaceholderAPI expansions, WorldGuard region checks and similar hooks, declared as soft dependencies so your plugin still loads when the optional one is missing.

Version targeting

The API version you pick changes the code that gets written.

Spigot is not one API. The 1.13 flattening renamed most materials and reshaped the block data model, and several event signatures moved after it. Picking your server version up front is what stops a plugin compiling cleanly and then throwing NoSuchFieldError on the first block place.
1.8.8
Legacy PvP — pre-flattening materials
1.12.2
Last pre-flattening release
1.16 – 1.18
Modern materials, Adventure-era
1.19 – 1.21+
Current API, latest events

The chosen version is written into api-version so the server stops applying legacy compatibility conversion to a modern plugin — a silent source of odd behaviour in plugins that omit it.

Spigot or Paper

Which one should you generate against?

Paper is a fork of Spigot, so this is not a fork-versus-fork argument — it is a question of whether you want to be portable or want the extra API.
Target Spigot

Maximum compatibility

  • Runs unmodified on Spigot, Paper, Purpur and every other Bukkit fork.
  • The right choice for a plugin you plan to publish, sell, or hand to someone whose server software you don’t control.
  • Sticks to APIs that have been stable for years, so upgrades tend to be uneventful.
Target Paper

More API to work with

  • Async chat events, the Adventure component API, and scheduler access Spigot does not expose.
  • Better behaviour under load, and the option of Folia’s region threading.
  • Will not load on plain Spigot — worth it only when your own server runs Paper.

Running Paper? Generate against the Paper API instead.

Try it

Describe your Spigot plugin.

Name the commands, the permissions and the behaviour you want. The more precisely you describe the rules, the closer the first build lands.
Your prompt

A Spigot 1.20 plugin with a /warp GUI, warps stored in config.yml, per-warp permission nodes, a 5-second teleport warmup that cancels on movement, and a Vault charge of 250 per teleport.

FAQ

Questions about generating Spigot plugins

What Spigot versions can the generator target?

Everything from the 1.8 API that legacy PvP servers still run through to the current 1.21 releases. The Minecraft version you pick drives the api-version in plugin.yml and the API surface the code is written against, which matters because material names, entity types and several event signatures changed between those releases.

Does the generated plugin work on Paper and Purpur too?

Yes. Paper and Purpur are forks of Spigot and load Spigot plugins unchanged, so a plugin generated against the Spigot API runs on all three. If you specifically want Paper-only APIs — async chat, the component API, better scheduler access — pick Paper as the target instead and the generator will use them.

Can it use Vault, PlaceholderAPI or other plugin APIs?

Yes. Tell it which plugins the result has to work alongside and it wires up the soft dependencies, the plugin.yml depend or softdepend entries, and the service lookups — Vault for economy and permissions, PlaceholderAPI for placeholders, WorldGuard for region checks, and so on.

Does it write NMS or reflection code?

It avoids them by default, and that is deliberate: NMS breaks on every Minecraft update and reflection hides the breakage until runtime. Where a feature genuinely has no API equivalent it will use the safest available approach and tell you what it did, so you know which part of the plugin will need attention after a server upgrade.

What files do I actually get?

A complete plugin project: the main class, listeners, command executors and tab completers, plugin.yml, a generated config.yml with sensible defaults, message files where the plugin sends chat output, and the compiled .jar. You can download the whole source tree or just take the .jar.

Is it free to generate a Spigot plugin?

There are free credits that refresh daily, which is enough to build and iterate on a plugin without paying. Larger projects and heavier refinement use more credits; the pricing page lists what each plan includes.

Related

The generator overview covers every platform Codella targets; the guide explains what a plugin is made of if you would rather learn the API yourself.

© 2026 Codella AI - All rights reserved.