Finish update system
This commit is contained in:
@@ -1,11 +1,12 @@
|
||||
package me.libraryaddict.disguise.commands.libsdisguises;
|
||||
|
||||
import me.libraryaddict.disguise.DisguiseConfig;
|
||||
import me.libraryaddict.disguise.LibsDisguises;
|
||||
import me.libraryaddict.disguise.utilities.DisguiseUtilities;
|
||||
import me.libraryaddict.disguise.utilities.updates.UpdateChecker;
|
||||
import me.libraryaddict.disguise.utilities.plugin.PluginInformation;
|
||||
import me.libraryaddict.disguise.utilities.translations.LibsMsg;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.scheduler.BukkitRunnable;
|
||||
@@ -22,7 +23,7 @@ public class LDUpdate implements LDCommand {
|
||||
// Update by download
|
||||
// Update check
|
||||
// Update to latest dev build
|
||||
return Arrays.asList("update", "update?", "update!");
|
||||
return Arrays.asList("update", "update dev", "update release", "changelog", "update!");
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -30,6 +31,25 @@ public class LDUpdate implements LDCommand {
|
||||
return "libsdisguises.update";
|
||||
}
|
||||
|
||||
private void doChangelog(CommandSender sender) {
|
||||
UpdateChecker checker = LibsDisguises.getInstance().getUpdateChecker();
|
||||
|
||||
if (checker.getUpdate() == null) {
|
||||
sender.sendMessage(LibsMsg.UPDATE_REQUIRED.get());
|
||||
return;
|
||||
}
|
||||
|
||||
if (!checker.getUpdate().isReleaseBuild()) {
|
||||
sender.sendMessage(
|
||||
ChatColor.GOLD + "You are on build " + (LibsDisguises.getInstance().isNumberedBuild() ? "#" : "") +
|
||||
LibsDisguises.getInstance().getBuildNo());
|
||||
}
|
||||
|
||||
for (String msg : checker.getUpdate().getChangelog()) {
|
||||
sender.sendMessage(ChatColor.GOLD + msg);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCommand(CommandSender sender, String[] args) {
|
||||
UpdateChecker checker = LibsDisguises.getInstance().getUpdateChecker();
|
||||
@@ -39,20 +59,33 @@ public class LDUpdate implements LDCommand {
|
||||
return;
|
||||
}
|
||||
|
||||
boolean check = args[0].endsWith("?");
|
||||
boolean force = args[0].endsWith("!");
|
||||
if (args[0].equalsIgnoreCase("changelog")) {
|
||||
doChangelog(sender);
|
||||
return;
|
||||
}
|
||||
|
||||
if (!check && !force && checker.getUpdate() != null) {
|
||||
if (checker.getUpdate().getVersion().equals(checker.getUpdate().isReleaseBuild() ?
|
||||
LibsDisguises.getInstance().getDescription().getDescription() :
|
||||
LibsDisguises.getInstance().getBuildNumber())) {
|
||||
boolean releaseBuilds = checker.isUsingReleaseBuilds();
|
||||
|
||||
if (args.length > 1) {
|
||||
if (args[1].equalsIgnoreCase("dev")) {
|
||||
releaseBuilds = false;
|
||||
} else if (args[1].equalsIgnoreCase("release")) {
|
||||
releaseBuilds = true;
|
||||
} else {
|
||||
sender.sendMessage(LibsMsg.LIBS_UPDATE_UNKNOWN_BRANCH.get());
|
||||
return;
|
||||
}
|
||||
|
||||
DisguiseConfig.setUsingReleaseBuilds(releaseBuilds);
|
||||
}
|
||||
|
||||
if (checker.getUpdate() != null && checker.getUpdate().isReleaseBuild() == releaseBuilds) {
|
||||
if (checker.isServerLatestVersion()) {
|
||||
sender.sendMessage(LibsMsg.UPDATE_ON_LATEST.get());
|
||||
return;
|
||||
}
|
||||
|
||||
if (checker.getLastDownload() != null && checker.getUpdate().getVersion()
|
||||
.equals(checker.isUsingReleaseBuilds() ? checker.getLastDownload().getVersion() :
|
||||
checker.getLastDownload().getBuildNumber())) {
|
||||
if (checker.isOnLatestUpdate(true)) {
|
||||
sender.sendMessage(LibsMsg.UPDATE_ALREADY_DOWNLOADED.get());
|
||||
return;
|
||||
}
|
||||
@@ -63,7 +96,7 @@ public class LDUpdate implements LDCommand {
|
||||
public void run() {
|
||||
LibsMsg updateResult = null;
|
||||
|
||||
if (check || checker.getUpdate() == null || force) {
|
||||
if (checker.getUpdate() == null || args.length > 1 || checker.isOldUpdate()) {
|
||||
updateResult = checker.doUpdateCheck();
|
||||
}
|
||||
|
||||
@@ -72,12 +105,17 @@ public class LDUpdate implements LDCommand {
|
||||
return;
|
||||
}
|
||||
|
||||
if (!checker.isUpdateReady()) {
|
||||
sender.sendMessage(LibsMsg.UPDATE_ON_LATEST.get());
|
||||
if (checker.isOnLatestUpdate(true)) {
|
||||
if (checker.getLastDownload() != null) {
|
||||
sender.sendMessage(LibsMsg.UPDATE_ALREADY_DOWNLOADED.get());
|
||||
} else {
|
||||
sender.sendMessage(LibsMsg.UPDATE_ON_LATEST.get());
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
if (check) {
|
||||
if (!args[0].endsWith("!")) {
|
||||
if (updateResult != null) {
|
||||
sender.sendMessage(updateResult.get());
|
||||
} else {
|
||||
|
Reference in New Issue
Block a user