Added updater

This commit is contained in:
ajgeiss0702
2021-09-07 15:37:48 -07:00
parent 64c403baca
commit 6dd2cf7fb1
15 changed files with 120 additions and 13 deletions
@@ -30,6 +30,7 @@ public class ManageCommand extends BaseCommand {
addSubCommand(new Send(main));
addSubCommand(new PermissionList(main));
addSubCommand(new Whitelist(main));
addSubCommand(new Update(main));
}
@@ -55,6 +55,8 @@ public class Reload extends SubCommand {
main.getQueueManager().reloadServers();
main.getMessages().reload();
main.getUpdater().setEnabled(main.getConfig().getBoolean("enable-updater"));
sender.sendMessage(getMessages().getComponent("commands.reload"));
}
@@ -0,0 +1,66 @@
package us.ajg0702.queue.commands.commands.manage;
import com.google.common.collect.ImmutableList;
import net.kyori.adventure.text.Component;
import net.kyori.adventure.text.format.NamedTextColor;
import org.spongepowered.configurate.ConfigurateException;
import us.ajg0702.queue.api.commands.ICommandSender;
import us.ajg0702.queue.commands.SubCommand;
import us.ajg0702.queue.common.QueueMain;
import us.ajg0702.utils.common.Messages;
import us.ajg0702.utils.common.Updater;
import java.util.ArrayList;
import java.util.List;
public class Update extends SubCommand {
final QueueMain main;
public Update(QueueMain main) {
this.main = main;
}
@Override
public String getName() {
return "update";
}
@Override
public ImmutableList<String> getAliases() {
return ImmutableList.of();
}
@Override
public String getPermission() {
return "ajqueue.manage.update";
}
@Override
public Messages getMessages() {
return main.getMessages();
}
@Override
public void execute(ICommandSender sender, String[] args) {
if(!checkPermission(sender)) return;
Updater updater = main.getUpdater();
if(updater.isAlreadyDownloaded()) {
sender.sendMessage(getMessages().getComponent("updater.already-downloaded"));
return;
}
if(!updater.isUpdateAvailable()) {
sender.sendMessage(getMessages().getComponent("updater.no-update"));
return;
}
if(updater.downloadUpdate()) {
sender.sendMessage(getMessages().getComponent("updater.success"));
} else {
sender.sendMessage(getMessages().getComponent("updater.fail"));
}
}
@Override
public List<String> autoComplete(ICommandSender sender, String[] args) {
return new ArrayList<>();
}
}