Fix auto-updater failing
- Implemented a new self-reload system, which will boot up a separate plugin to load ServerUtils back up again.
This commit is contained in:
parent
e2a9fb1dc3
commit
2c1c92fef6
10 changed files with 75 additions and 7 deletions
|
|
@ -177,7 +177,7 @@ public class CommandServerUtils extends BaseCommand {
|
|||
public void onUnloadPlugin(CommandSender commandSender, String pluginName) {
|
||||
ServerCommandSender sender = BukkitUtils.wrap(commandSender);
|
||||
|
||||
Result disableResult = BukkitPluginManager.disablePlugin(pluginName);
|
||||
Result disableResult = BukkitPluginManager.get().disablePlugin(pluginName);
|
||||
if (disableResult != Result.SUCCESS && disableResult != Result.ALREADY_DISABLED) {
|
||||
disableResult.sendTo(sender, "disabl", pluginName);
|
||||
return;
|
||||
|
|
@ -234,7 +234,7 @@ public class CommandServerUtils extends BaseCommand {
|
|||
@CommandPermission("serverutils.disableplugin")
|
||||
@Description("Disables the specified plugin.")
|
||||
public void onDisablePlugin(CommandSender sender, String pluginName) {
|
||||
Result result = BukkitPluginManager.disablePlugin(pluginName);
|
||||
Result result = BukkitPluginManager.get().disablePlugin(pluginName);
|
||||
result.sendTo(BukkitUtils.wrap(sender), "disabl", pluginName);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -67,4 +67,10 @@ public class BukkitPlugin extends ServerUtilsPlugin {
|
|||
public File getDataFolder() {
|
||||
return plugin.getDataFolder();
|
||||
}
|
||||
|
||||
@Override
|
||||
@SuppressWarnings("unchecked")
|
||||
public File fetchUpdaterData() {
|
||||
return pluginManager.getPluginFile("ServerUtils");
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -98,7 +98,7 @@ public class BukkitPluginManager extends AbstractPluginManager<Plugin> {
|
|||
* @param pluginName The plugin to disable.
|
||||
* @return The result of the disable call.
|
||||
*/
|
||||
public static Result disablePlugin(String pluginName) {
|
||||
public Result disablePlugin(String pluginName) {
|
||||
return disablePlugin(Bukkit.getPluginManager().getPlugin(pluginName));
|
||||
}
|
||||
|
||||
|
|
@ -107,7 +107,8 @@ public class BukkitPluginManager extends AbstractPluginManager<Plugin> {
|
|||
* @param plugin The plugin to disable.
|
||||
* @return The result of the disable call.
|
||||
*/
|
||||
public static Result disablePlugin(Plugin plugin) {
|
||||
@Override
|
||||
public Result disablePlugin(Plugin plugin) {
|
||||
if (plugin == null) return Result.NOT_ENABLED;
|
||||
if (!plugin.isEnabled()) return Result.ALREADY_DISABLED;
|
||||
try {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue