Skip to content
All projects

Paper plugins

Minecraft server plugins

Plugins for Paper servers, rebuilt in 2026 from a line of Spigot plugins I started in 2014. The rewrite kept the ideas and dropped the rest: the prefix, the in-house command library and the plugins nobody needed anymore.

JavaPaper

Where the name comes from

I learned to write plugins on somebody else’s Minecraft server while I was still at school. A friend I met there, Daniel, decided without much discussion that he was going to be my mentor, and it turned out he was right to. He published his own plugins under the prefix dtl - Dandielo Tools Library - and I liked the idea enough to want one of my own.

So: ATS, Andret Tools System. The first plugin to carry it was atsHelp, written for his server, with a good deal of his help.

How it grew

The next server I joined asked for something specific: a kind of parkour that does not let you stop moving. I called it atsSpeedRun, because that is what had been asked for. It turned out to be more useful than that name allowed, so the scope widened, the name went with it, and atsParkour is the name it kept.

The rest accumulated the way these things do. Each plugin needed to parse commands, check permissions and reject bad arguments, and each one grew the same tangle of conditionals to do it. That is what atsArguments was for: annotate the handler method, declare what the arguments must look like and who is allowed to run it, and delete the tangle. Every other plugin sat on top of it, and atsCompanion, an IntelliJ plugin, existed to make writing against it bearable.

Starting over

In 2026 I rewrote the lot, and most of what I had built did not survive the rewrite - on purpose.

The platform went first. Paper and its forks run on close to nine servers in ten that report to bStats; Spigot itself is under 7%. Paper also has the better API, so the new plugins are written for Paper alone, and the servers that never moved are a loss I accept.

atsArguments went next. It solved a real problem when I wrote it, but Lamp now solves the same one better: maintained, on Maven Central, and doing what I wanted mine to do, without the bugs mine still had. Keeping a weaker copy of a public library alive is attachment, not engineering. atsCompanion went with it - there is nothing left for it to check.

The prefix went too. Plugins are not named that way: a name is there to tell a server admin what the plugin does, not who wrote it, and atsSignTeleport does that worse than TeleSign. Each plugin now has a name that says what it does, its own repository, its own tests and its own release pipeline.

atsHelp did not make the cut. Writing it is how I learned to handle commands at all, but the ticket plugins around today are far better than anything I would build on the side, and a plugin nobody needs is not worth maintaining for sentiment.

What came out the other side: BlastPotion, the successor of atsExplosivePotion; BlockGens, of atsBlockGenerator; TeleSign, of atsSignTeleport. Java 25, Paper 26.2 or newer, tested in CI and published to Hangar from Gradle. The old SpigotMC listings stay up, marked discontinued.

ParkourTracks, the successor of atsParkour, is next. It is on GitHub while I finish it, and it joins the list when it is ready.

Modules

  • BlastPotion

    A throwable potion that explodes wherever it lands. Each potion gets its own name, lore, explosion power and crafting recipe, or none and a place in a shop.

  • BlockGens

    A generator that keeps a block of your choice above itself. Break the block and it comes back after a delay, dropping items from a weighted drop table.

  • TeleSign

    Write coordinates on a sign, and anyone who clicks it is teleported there. No warps to set up, no commands to learn.