- Native Minecraft Version:
- Tested Minecraft Versions:
- @M.Aizen (Designer)
Never reload or load another plugin ever again!
Who needs PlugMan when it's automatic?
• Automatically reload plugins when uploaded.
• Automatically load plugins when uploaded.
• Automatically reload a plugins dependencies.
• Supports small, large & modded servers.
• Supports small and large plugins.
• Fully configurable messages.
• Fully configurable settings.
• Toggle-able alert messages.
• Ignore specified plugins.
• Tab completion support!
• No dependencies!
• Alert messages for:
» Automatically reload plugins.
» Automatically load plugins.
This plugin checks all your plugins every x amount of seconds.
It checks if a plugin has been updated and if so, it will
unload it, load it and then reload it completely.
This plugin will also automatically update a plugins code!
Now that's something even PlugMan can't do!
All you have to do is slide the plugin into your plugins
folder and let AutoPluginLoader do the rest!
Code (Text):• AutoPluginLoader.Alerts » Get alerts when a plugin is automatically reloaded/loaded.
• AutoPluginLoader.Commands » View & use the commands. (Required to use any other command)
• AutoPluginLoader.Load » Load a plugin.
• AutoPluginLoader.Unload » Unload a plugin.
• AutoPluginLoader.Reload » Reload a plugin.
• AutoPluginLoader.Usage » View the commands for a plugin.
• AutoPluginLoader.Info » View the info on a plugin.
• AutoPluginLoader.List » View the list of plugins.
• AutoPluginLoader.ReloadConfig » Reload the config.yml.
• AutoPluginLoader.Version » View APL's currently loaded version.
Code (YAML):# Developed by PCPSells
Plugin-Automatically-Updated: '&8(&bAPL&8) &a%plugin% &fhas been automatically updated! &7(Took %time%ms)'
Plugin-Automatically-Loaded: '&8(&bAPL&8) &a%plugin% &fhas been automatically loaded! &7(Took %time%ms)'
# To receive these messages, you will need the permission: "AutoPluginLoader.Alerts"
Header: '&8&m+-----------------&8( &bAPL &8)&m-----------------+'
Config-Reloaded: '&8(&bAPL&8) &fThe config.yml has &asuccessfully &fbeen reloaded.'
No-Permission: '&8(&bAPL&8) &fSorry, but you don''t have permission to do that.'
Command-Format: '&8• &e/%command% &8» &f%description%'
Cant-Put-APL-There: '&8(&bAPL&8) &fSorry, but you can''t use &aAutoPluginLoader &fas a plugin argument.'
Invalid-Plugin: '&8(&bAPL&8) &fSorry, but the plugin &a%plugin% &fisn''t a plugin on this server.'
No-Description: '&8(&bAPL&8) &fSorry, but the plugin &a%plugin% &fhas no plugin description.'
Already-Loaded: '&8(&bAPL&8) &fSorry, but &a%plugin% &fis already loaded.'
Already-Unloaded: '&8(&bAPL&8) &fSorry, but &a%plugin% &fis already unloaded.'
Failed-To-Load: '&8(&bAPL&8) &fFailed to load &a%plugin%&f. &7(Check console for details)'
Plugin-Is-Reloading: '&8(&bAPL&8) &fPlugin &a%plugin% &fis &creloading&f.'
Plugin-Has-Reloaded: '&8(&bAPL&8) &fPlugin &a%plugin% &fhas been &areloaded.'
Plugin-Loaded: '&8(&bAPL&8) &fPlugin &a%plugin% &fhas been &aenabled&f.'
Plugin-Unloaded: '&8(&bAPL&8) &fPlugin &a%plugin% &fhas been &cdisabled&f.'
Plugin-Unloaded-With-Dependencies: '&8(&bAPL&8) &fPlugin &a%plugin% &fhas been &cdisabled&f. &7(%plugin%''s dependencies have also been reloaded)'
Plugin-Unloaded-Note: '&8(&bAPL&8) &fNote&8: &fYou can type ''&e/apu unload (plugin) -d&f'' to also reload &a%plugin%&f''s dependencies.'
No-Commands-Registered: '&8(&bAPL&8) &fSorry, but the plugin &a%plugin% &fdoesn''t have any commands registered.'
Sub-command-Unknown: '&8(&bAPL&8) &fSorry, but &a%argument% &fisn''t a valid sub-command.'
Version: '&8(&bAPL&8) &fCurrent version loaded&8: &a%version%'
Commands: '&8(&bAPL&8) &a%plugin%&f''s commands: &e%commands%&f.'
Commands-Split: '&f, &e'
- '&b» &fPlugin&8: &a%plugin%'
- '&8• &fVersion&8: &a%version%'
- '&8• &fAuthor(s)&8: &a%authors%'
- '&8• &fStatus&8: %status%'
Authors-Split: '&f, &a'
- '&b• &fPlugins &b»'
- '&8• &fEnabled&8: &a%enabled%&f.'
- '&8• &fDisabled&8: &c%disabled%&f.'
Enabled-Split: '&f, &a'
Disabled-Split: '&f, &c'
Load: '&8(&bAPL&8) &fUsage&8: &e/plugman load (plugin)'
Unload: '&8(&bAPL&8) &fUsage&8: &e/plugman unload (plugin)'
Unload-With-Dependencies: '&8(&bAPL&8) &fUsage&8: &e/plugman unload (plugin) [-d]'
Reload: '&8(&bAPL&8) &fUsage&8: &e/plugman reload (plugin)'
Usage: '&8(&bAPL&8) &fUsage&8: &e/plugman usage (plugin)'
Info: '&8(&bAPL&8) &fUsage&8: &e/plugman info (plugin)'
Load-Data-Delay: 5 # Seconds - The delay before all the plugins are cached to check for updates. (***MUST*** be smaller than the 'Timer-Delay')
Timer-Delay: 10 # Seconds (***MUST*** be larger than the 'Load-Data-Delay')
Timer: 1 # Seconds
Seconds-Before-Reloading: 3 # Your plugins will only update if they've been loaded for this amount of seconds. (Won't be accurate if the 'Timer' is above 1)
Always-Reload-A-Plugins-Dependencies: true # If you set this to false, you can reload a plugins dependencies when unloading a plugin via '/apu unload (plugin) -d'
Send-Players-Alerts: true # Send players with the 'AutoPluginLoader.Alerts' permission alerts when plugins are automatically reloaded/enabled.
Plugins-To-Ignore: # AutoPluginLoader won't check these plugins for automatic updates.
- 'AutoPluginLoader' # Don't remove this. It will cause console errors if you attempt to do it on this plugin.
- 'Skript' # Reloading this will cause Skripts extensions to bug out. No support for Skript will be added.
Code (Text):• PluginAPI.loadPlugin(File plugin);
» Loads a plugin. (Must be done before enabling a plugin)
• PluginAPI.enablePlugin(Plugin plugin);
» Enable a plugin. (Must be loaded)
• PluginAPI.getPlugin(String s);
» Make a string return as a Plugin.
» Returns all plugins as an ArrayList<Plugin>().
» Returns all plugins as an ArrayList<Plugin>(), but in alphabetical order.
• PluginAPI.disablePlugin(Plugin plugin);
» Disables a plugin. (Recommend to unload it 1st)
• PluginAPI.reloadPlugin(Plugin plugin);
» Disables and then enables a plugin. (Doesn't refresh new code in a plugin)
• PluginAPI.unloadPlugin(Plugin plugin, Boolean ReloadDependents);
» Unload a plugin and have the option to reload the plugins that plugin depends on.
• PluginAPI.getDescription(File file);
» Returns the PluginDescriptionFile of a file.
• PluginAPI.getFile(JavaPlugin plugin);
» Grab the file from a plugin.
The quickest way to get support for any of my resources
would be to join my Resource Discord.
Please DO NOT leave bad reviews for any issues
that you have. Please simply PM me or leave it
in the discussion tab. Thank you.
That and reviews are highly appreciated!
AutoPluginLoader » 1.7 - 1.16.3 • API 1.2.2
Automatically reloads/loads plugins for you! (PlugMan v2)
Hello, following a problem with your plugin, I prefer not to use it anymore. Yes if there was a problem, I should have contacted you but you could not have done anything because it caused serious damage, whether in my server itself. The idea of the plugin is good, but also good for messing up and starting all over from the beginning.
From the owner of my server I quote:
"The plugin for one reason or another succeeded when reloading a plugin, transferring all the plugins to the database and corrupting all of them even deleting them. I unfortunately cannot know because of which plugin this is. arrived but an auto-plugin-loader is the worst idea we had to put it. "
I do not recommend anyone to use this type of plugin, unless in a few years, mojang finds a way on the servers that we can easily reload our plugins, but in any case, do not be lazy when you finish a configuration, RESTART your server. It will be much more beneficial to do it this way. Even if you have a large number of players, in the worst case, wait until a time when there are fewer people to restart. It will always be better than having a disaster.
I really apologize to the developer for being so blunt, but there is serious work to be done. Many plugins don't necessarily like being "force-reloaded" and can cause serious problems.
I've seen your plugin "AutoPluginLoader" on spigotmc, it's fantastic!!!!!
I'm a Chinese server owner using the plugin. Could you please allow me to translate your plugin and advertise it to MCBBS? Many Chinese server owners want a translated language file, and I can help them. You know not all of them are good at English, they can't read your post (Even with Google translator) they need a Chinese translator. I'll show them your spigotmc page and let them download the plugin here. I'll NEVER claim it as mine, I just wanna translate it and let more people know it. I'll NEVER leak the jar file.
Hope for your reply!
1. Does not work for most plugin changes. It claimed to have reloaded my test plugin successfully, yet the output was not altered as it should have been.
2. Causes warnings in the console on every reload due to incorrect plugin loader handling. This also causes loaded plugins to not appear on Bukkit's plugin list - renders /plugins command useless without any warning about it as well as could potentially break plugins using that list.
3. Loading plugins that have been added post-startup (or unloaded) simply does not work. The plugin loads either as disabled and cannot be enabled or doesn't load at all, in both cases APL states that it "isn't a plugin on this server".
4. Breaks plugins at random with "IllegalStateException: zip file closed" error - happened in cases of my test plugins which were dynamically reloaded as well as third-party plugins which were not touched since the server's startup (ex. LuckPerms).
Note: Yes, all of the above cases have been tested in a controlled environment and the issues are caused by AutoPluginLoader. They do not happen when the plugin is absent from the server and are not caused by collision with other plugins.
Note 2: As the developer has stated, leaving bad reviews just because of one issue which could have been the user's fault is not advised. However, as a fellow developer who has done proper tests, I think I'm excused in the situation of a plugin this unstable with over 7-month development history. In addition:
5. Heavy case of "Pretty on the outside, ugly on the inside." The code seems to be written either by someone inexperienced with Java or has been created extremely lazily and/or fast without much error correction. Very weird exception handling, repetition of the same conditional check in consecutive lines, that should done be in one block.. not to mention the jar container has IDE-exclusive files that should not have been exported and may contain private information like used IDE, operating system or system username.