
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.
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.