Native Minecraft Version:1.13Tested Minecraft Versions:
Contributors:ZathrusWriter, mrfloris, Michael_Dysart, Yandex, Shane, LimeGlass, Ac3dUd3, PawPawDude, leasoncreLanguages Supported:Any, plugin can be fully translated
- 1.7
- 1.8
- 1.9
- 1.10
- 1.11
- 1.12
- 1.13
- 1.14
- 1.15
- 1.16
- 1.17
PLUGIN OWNERSHIP CHANGE
As of 5/10/2021, ZathrusWriter no longer participates in making plugins for Minecraft / Spigot. Therefore, this plugin's ownership is being transferred to @MrMicky who previously also overtook (and kept under good reputation) the WorldEditSelectionVisualizer (WESV) plugin from ZathrusWriter.
I, ZathrusWriter, hereby give permission to MrMicky to take over the maintenance and coding of my AdminAnything plugin, keeping it as a Premium resource. MrMicky accepts all of the benefits and responsibilities resulting in this step (such as premium buyers support and continuous maintenance and coding of AdminAnything).
Hall of Fame ( thank you, wonderful souls! )
Features
- @Michael_Dysart donated $200
List of commands for AdminAnything
- forward-compatible with future MC versions
unless whole Minecraft undergoes a dramatic code rewrite (such as 1.13 was), AA remains forward-compatible with all of the future MC versions (even if this page won't be updated right away to implicitly say that)
- find conflicts in commands on your server
do you have Essentials and WorldEdit installed side-by-side? ever realized they both contain a /tree command and that Spigot is randomly choosing which plugin will act when you actually run the /tree command?
- resolve plug-in conflicts
have a final say at what the /tree command should really do rather than letting Spigot randomly choose between /essentials:tree and /worldedit:tree for you
- disable unwanted commands
get rid of all the commands you don't want your players (including OPs) to use (players with the correct AA permission assigned can still use them, if you choose so)
- mute commands (up to Java 8 and MC 1.16.X only!)
if you have commands which are run by automation scripts (world backups, ranks checks etc.) that spam your console, or even send unneeded messages to your OPs, you can completely mute them using AdminAnything
- display detailed info about any server command (with search)
not sure which plugin contains this mysterious /helloworld command? you can review list of all commands, along with all their aliases and permissions with a single command - /lc
use filters to drill-down to the exact command (or set of commands), then check any online player for access to that command and/or permission
- add new virtual permissions to any command on your server
sometimes, the permissions provided by a plugin are just not enough. now you can add your own virtual permissions for any command, including its parameters and fine-tune your plugins in a way that wasn't possible before!
- redirect commands
when you need to redirect "/shop", so it actually runs "/warp shop", simply use AdminAnything and set this up in seconds
- build help for your players
by utilizing the power of AA's functionality of listing all commands available to a player (and with a bit of optional manual intervention), it's possible to build an automated help system that will show your players their available commands (while you can hide any excessive ones from them as well!)
- automatic tab-complete disabler
for all the commands that players really don't have access to - no manual configuration required at all (other than setting up your groups and permissions correctly on the server, that is)
- fully customizable
if you find out that there's a feature which you don't need in AdminAnything, you can simply turn that feature off in the plugin's config
- chat GUI!
if you or your moderators use AdminAnything in game, you can now click on various elements of AdminAnything's output to perform actions instead of typing commands into chat (and trying to remember their usage)
- chat actions
players with the right permissions can execute arbitrary command that's configured in AdminAnything's config.yml file when they click on different chat areas (nickname, join/leave message...)
- chest GUI
if you get a lot of chat action, you may prefer the chest GUI to chat actions, as it's easier to use. Players with the right permissions can also execute arbitrary commands configured in AdminAnything's config.yml file through this interface and there is only 1 chat action to click next to each nickname for it.
- translations
all the text in AdminAnything is translatable and you can easily create your own translation files and even use color codes in them (and you're welcome to contribute these files back to the project, of course!). You will find an AdminAnything/languages folder in your server's plugins directory where you can put new language files in the following format: [lang_file_prefix]-[AA_version].properties
Spoiler: Expand to Reveal
Additional permissions for AdminAnything
Spoiler: Expand to Reveal
Configuration
Spoiler: Expand to Reveal
Advanced use of AdminAnything commands
Spoiler: Expand to Reveal
Frequently Asked Questions:
JavaDoc Documentation (for plugin developers)
- Is this compatible with Spigot version XY?
AdminAnything is being tested in Spigot / CraftBukkit starting version 1.7.10 and all the way up to the latest release. You can therefore consider it compatible with any stable-enough released version of Spigot, PaperSpigot and CraftBukkit in these versions.
Important PaperSpigot note: if you experience errors with AdminAnything, you might want to run your server directly rather than using "paperclip.jar", as this could prevent AA from working correctly on some MC versions and Java implementations. There is a file called "patched_[server-version].jar" located in a "cache" directory which is created via paperclip.jar... that's the actual PaperSpigot server and if you run it directly (java -jar patched_1.9.jar), all will work as expected.
- I can't see permissions for some of the commands on my server.
Because very few popular plugins actually do list their permission nodes for each command in the plugin.yml file, there is no place for AdminAnything to read these from. In a continued effort, I'm manually creating database of permissions and their descriptions from websites of popular plug-ins and using those to show you this information. If you're missing permission information from a plug-in, or find some information incorrect please let me know in the discussion section and I will include/fix this in the next plugin update.
- I used PlugMan / some other plugin manager to load a plug-in dynamically but AdminAnything is not listing it.
In such case, please use the /aa_reload command to reload AdminAnything, which will also clear any internal caches and thus reload list of currently active plugins on the server.
- What's /aa_ignorecommand for?
Plugins that already do what you want them to do (for example override Essentials' ping command by their own) would normally display in list of conflicting command when you run /aa_checkcommandconflicts. If, however these commands already do what you need, you can add them to a list of ignored commands and AdminAnything will not list them as conflicting anymore.
- What about Bukkit's own commands override system?
There is a working override system where you can define overrides in a similar manner to AdminAnything and even create your own commands. This has been in CraftBukkit for a while now and works well in certain cases but fails to work completely in others.
For example, that system will not work for plugins that register their commands dynamically and do not use plugin.yml files. As a result, you can't use this system to redirect commands and make aliases pointing to WorldEdit, WorldGuard and many more plugins that register their commands on-the-fly.
You can learn more about how this system works by using this Wiki link.
- Can't Skript do all this?
You can certainly do what AdminAnything does in more than one way. Bukkit's commands override is one of them (although has limited capabilities). Skript is a programming engine in which you can code what AdminAnything does to a point. You can, for example never mute commands via Skript as you can do with AdminAnything. Furthermore, you will need to learn another "programming language" in which you would need to basically write the whole AdminAnything logic again yourself. Also, it's worth noting that Skript is a plugin itself which means it's an interpreter for its own scripts - and as such it's bound to be slower and less optimized than most methods in AdminAnything.
To conclude, coding AdminAnything in Skript is not impossible (apart for some of the functionality), but it does have its drawbacks.
(I would like to thank @LimeGlass for pointing me to Skript and Bukkit's commands override system.)
This plugin utilizes BStats metrics system. Various server information is collected and sent to bstats.org unless opted out. Opting out of this service can be done by changing the value of enabled from true to false in file Plugins/bStats/config.yml.
- full API documentation: https://martinambrus.github.io/AdminAnythingAPIDocs
- interesting parts:
- AA_API (AdminAnything API)
- Utils, Reflections, ClassPathHacker (utility classes with interesting functionality)
Bugs and suggestions
Please don't post bugs or suggestions in the review section, but please ask on my Discord server or on the discussion page
When the mute command is run for the first time, AdminAnything will download Javassist library into your server's /lib folder from the following URL: https://github.com/jboss-javassist/javassist/releases/download/rel_3_20_0_ga/javassist.jar