
Minecraft ecosystem
Andret Tools System
A decade of Spigot plugins for Minecraft servers, four published on SpigotMC and the oldest listed since 2014, all sharing one command library. What started as a favour for somebody else's server turned into atsArguments - the API the rest of them are built on.
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 what survives.
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 is 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 module sits on top of it, and
atsCompanion exists to make writing against it
bearable inside the IDE.
What is published
Four plugins are on SpigotMC: atsHelp, atsExplosivePotion,
atsBlockGenerator and atsSignTeleport.
Others exist and run, atsParkour among them, but they still carry bugs I would
not want somebody else’s server to meet. They stay off the list until that is
fixed, which is a better reason to wait than any deadline.
Modules
atsHelp
v2.6.3The first plugin anyone else ran. Players file a problem, moderators work through the queue, and everybody can see where a report stands.
atsExplosivePotion
v2.4.3A throwable potion that detonates wherever it lands. Almost every part of the blast is configurable.
atsBlockGenerator
v2.4.3A self-regenerating block that drops whatever you tell it to when broken.
atsSignTeleport
v0.2.1Place a sign, point it at a destination, and anyone who clicks it is taken there.
Built on
atsArguments
v0.1.3The API the others are built on. Reflection and annotations replace the wall of conditionals every Spigot plugin grows for parsing commands, so argument validation and permission checks become annotations on the handler method.