Added updater
This commit is contained in:
@@ -18,7 +18,7 @@ dependencies {
|
|||||||
implementation("net.kyori:adventure-text-serializer-plain:4.0.0-SNAPSHOT")
|
implementation("net.kyori:adventure-text-serializer-plain:4.0.0-SNAPSHOT")
|
||||||
compileOnly("com.google.guava:guava:30.1.1-jre")
|
compileOnly("com.google.guava:guava:30.1.1-jre")
|
||||||
|
|
||||||
compileOnly("us.ajg0702:ajUtils:1.1.10")
|
compileOnly("us.ajg0702:ajUtils:1.1.16")
|
||||||
}
|
}
|
||||||
|
|
||||||
publishing {
|
publishing {
|
||||||
|
|||||||
@@ -1,6 +1,8 @@
|
|||||||
package us.ajg0702.queue.api.util;
|
package us.ajg0702.queue.api.util;
|
||||||
|
|
||||||
public interface QueueLogger {
|
import us.ajg0702.utils.common.UtilsLogger;
|
||||||
|
|
||||||
|
public interface QueueLogger extends UtilsLogger {
|
||||||
void warn(String message);
|
void warn(String message);
|
||||||
void warning(String message);
|
void warning(String message);
|
||||||
void info(String message);
|
void info(String message);
|
||||||
|
|||||||
+1
-1
@@ -12,7 +12,7 @@ repositories {
|
|||||||
}
|
}
|
||||||
|
|
||||||
allprojects {
|
allprojects {
|
||||||
version = "2.0.7-pre2"
|
version = "2.0.5"
|
||||||
group = "us.ajg0702"
|
group = "us.ajg0702"
|
||||||
|
|
||||||
plugins.apply("java")
|
plugins.apply("java")
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ dependencies {
|
|||||||
compileOnly("net.kyori:adventure-text-serializer-plain:4.0.0-SNAPSHOT")
|
compileOnly("net.kyori:adventure-text-serializer-plain:4.0.0-SNAPSHOT")
|
||||||
|
|
||||||
compileOnly("com.google.guava:guava:30.1.1-jre")
|
compileOnly("com.google.guava:guava:30.1.1-jre")
|
||||||
compileOnly("us.ajg0702:ajUtils:1.1.10")
|
compileOnly("us.ajg0702:ajUtils:1.1.16")
|
||||||
|
|
||||||
compileOnly("org.slf4j:slf4j-log4j12:1.7.29")
|
compileOnly("org.slf4j:slf4j-log4j12:1.7.29")
|
||||||
|
|
||||||
|
|||||||
@@ -30,6 +30,7 @@ public class ManageCommand extends BaseCommand {
|
|||||||
addSubCommand(new Send(main));
|
addSubCommand(new Send(main));
|
||||||
addSubCommand(new PermissionList(main));
|
addSubCommand(new PermissionList(main));
|
||||||
addSubCommand(new Whitelist(main));
|
addSubCommand(new Whitelist(main));
|
||||||
|
addSubCommand(new Update(main));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -55,6 +55,8 @@ public class Reload extends SubCommand {
|
|||||||
main.getQueueManager().reloadServers();
|
main.getQueueManager().reloadServers();
|
||||||
main.getMessages().reload();
|
main.getMessages().reload();
|
||||||
|
|
||||||
|
main.getUpdater().setEnabled(main.getConfig().getBoolean("enable-updater"));
|
||||||
|
|
||||||
sender.sendMessage(getMessages().getComponent("commands.reload"));
|
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<>();
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -103,6 +103,16 @@ public class EventHandlerImpl implements EventHandler {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onPlayerJoin(AdaptedPlayer player) {
|
public void onPlayerJoin(AdaptedPlayer player) {
|
||||||
|
new Thread(() -> {
|
||||||
|
try {
|
||||||
|
TimeUnit.SECONDS.sleep(2);
|
||||||
|
} catch (InterruptedException ignored) {
|
||||||
|
}
|
||||||
|
if (main.getUpdater().isUpdateAvailable() && player.hasPermission("ajqueue.manage.update")) {
|
||||||
|
player.sendMessage(main.getMessages().getComponent("updater.update-available"));
|
||||||
|
}
|
||||||
|
}).start();
|
||||||
|
|
||||||
ImmutableList<QueuePlayer> queues = main.getQueueManager().findPlayerInQueues(player);
|
ImmutableList<QueuePlayer> queues = main.getQueueManager().findPlayerInQueues(player);
|
||||||
for(QueuePlayer queuePlayer : queues) {
|
for(QueuePlayer queuePlayer : queues) {
|
||||||
queuePlayer.setPlayer(player);
|
queuePlayer.setPlayer(player);
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ import us.ajg0702.queue.common.utils.LogConverter;
|
|||||||
import us.ajg0702.queue.logic.LogicGetterImpl;
|
import us.ajg0702.queue.logic.LogicGetterImpl;
|
||||||
import us.ajg0702.utils.common.Config;
|
import us.ajg0702.utils.common.Config;
|
||||||
import us.ajg0702.utils.common.Messages;
|
import us.ajg0702.utils.common.Messages;
|
||||||
|
import us.ajg0702.utils.common.Updater;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.util.LinkedHashMap;
|
import java.util.LinkedHashMap;
|
||||||
@@ -100,9 +101,15 @@ public class QueueMain extends AjQueueAPI {
|
|||||||
return protocolNameManager;
|
return protocolNameManager;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private Updater updater;
|
||||||
|
public Updater getUpdater() {
|
||||||
|
return updater;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void shutdown() {
|
public void shutdown() {
|
||||||
taskManager.shutdown();
|
taskManager.shutdown();
|
||||||
|
updater.shutdown();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -150,6 +157,8 @@ public class QueueMain extends AjQueueAPI {
|
|||||||
|
|
||||||
taskManager.rescheduleTasks();
|
taskManager.rescheduleTasks();
|
||||||
|
|
||||||
|
updater = new Updater(logger, platformMethods.getPluginVersion(), isPremium() ? "ajQueuePlus" : "ajQueue", config.getBoolean("enable-updater"), isPremium() ? 79123 : 78266, dataFolder.getParentFile(), "ajQueue update");
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void constructMessages() {
|
private void constructMessages() {
|
||||||
@@ -227,6 +236,18 @@ public class QueueMain extends AjQueueAPI {
|
|||||||
|
|
||||||
d.put("velocity-kick-message", "<red>You were kicked while trying to join {SERVER}: <white>{REASON}");
|
d.put("velocity-kick-message", "<red>You were kicked while trying to join {SERVER}: <white>{REASON}");
|
||||||
|
|
||||||
|
d.put("updater.update-available",
|
||||||
|
"<gray><strikethrough> <reset>\n" +
|
||||||
|
" <green>An update is available for ajQueue!\n" +
|
||||||
|
" <dark_green>You can download it by " +
|
||||||
|
"<click:run_command:/ajqueue update><bold>clicking here</bold>\n or running <gray>/ajQueue update</click>\n" +
|
||||||
|
"<gray><strikethrough> <reset>"
|
||||||
|
);
|
||||||
|
d.put("updater.no-update", "<red>There is not an update available");
|
||||||
|
d.put("updater.success", "<green>The update has been downloaded! Now just restart the server");
|
||||||
|
d.put("updater.fail", "<red>An error occurred while downloading the update. Check the console for more info.");
|
||||||
|
d.put("updater.already-downloaded", "<red>The update has already been downloaded.");
|
||||||
|
|
||||||
messages = new Messages(dataFolder, new LogConverter(logger), d);
|
messages = new Messages(dataFolder, new LogConverter(logger), d);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
# Dont touch this number please
|
# Dont touch this number please
|
||||||
config-version: 27
|
config-version: 28
|
||||||
|
|
||||||
|
|
||||||
# This is the main config for ajQueue.
|
# This is the main config for ajQueue.
|
||||||
@@ -258,4 +258,7 @@ protocol-names:
|
|||||||
# On velocity, should we end a player a message when they are kicked while trying to connect to a server with the queue?
|
# On velocity, should we end a player a message when they are kicked while trying to connect to a server with the queue?
|
||||||
# This has no effect on bungee, because the message is sent from bungee and theres no way to change that in ajQueue
|
# This has no effect on bungee, because the message is sent from bungee and theres no way to change that in ajQueue
|
||||||
# Default: false
|
# Default: false
|
||||||
velocity-kick-message: false
|
velocity-kick-message: false
|
||||||
|
|
||||||
|
# Should the updater be enabled?
|
||||||
|
enable-updater: true
|
||||||
@@ -7,6 +7,7 @@ plugins {
|
|||||||
group = "us.ajg0702.queue"
|
group = "us.ajg0702.queue"
|
||||||
|
|
||||||
repositories {
|
repositories {
|
||||||
|
//mavenLocal()
|
||||||
maven { url = uri("https://repo.ajg0702.us") }
|
maven { url = uri("https://repo.ajg0702.us") }
|
||||||
maven { url = uri("https://oss.sonatype.org/content/repositories/snapshots") }
|
maven { url = uri("https://oss.sonatype.org/content/repositories/snapshots") }
|
||||||
mavenCentral()
|
mavenCentral()
|
||||||
@@ -17,7 +18,7 @@ dependencies {
|
|||||||
compileOnly("com.google.guava:guava:30.1.1-jre")
|
compileOnly("com.google.guava:guava:30.1.1-jre")
|
||||||
compileOnly("org.spongepowered:configurate-yaml:4.0.0")
|
compileOnly("org.spongepowered:configurate-yaml:4.0.0")
|
||||||
|
|
||||||
implementation("us.ajg0702:ajUtils:1.1.10")
|
implementation("us.ajg0702:ajUtils:1.1.16")
|
||||||
|
|
||||||
implementation(project(":platforms:velocity"))
|
implementation(project(":platforms:velocity"))
|
||||||
implementation(project(":platforms:bungeecord"))
|
implementation(project(":platforms:bungeecord"))
|
||||||
|
|||||||
@@ -15,11 +15,11 @@ repositories {
|
|||||||
dependencies {
|
dependencies {
|
||||||
compileOnly("net.kyori:adventure-api:4.8.1")
|
compileOnly("net.kyori:adventure-api:4.8.1")
|
||||||
compileOnly("com.google.guava:guava:30.1.1-jre")
|
compileOnly("com.google.guava:guava:30.1.1-jre")
|
||||||
compileOnly("us.ajg0702:ajUtils:1.1.10")
|
compileOnly("us.ajg0702:ajUtils:1.1.16")
|
||||||
|
|
||||||
compileOnly("net.md-5:bungeecord-api:1.16-R0.4")
|
compileOnly("net.md-5:bungeecord-api:1.16-R0.4")
|
||||||
|
|
||||||
compileOnly("net.kyori:adventure-text-minimessage:4.0.0-SNAPSHOT")
|
implementation("net.kyori:adventure-text-minimessage:4.0.0-SNAPSHOT")
|
||||||
|
|
||||||
implementation("net.kyori:adventure-platform-bungeecord:4.0.0-SNAPSHOT")
|
implementation("net.kyori:adventure-platform-bungeecord:4.0.0-SNAPSHOT")
|
||||||
compileOnly("net.kyori:adventure-text-serializer-plain:4.0.0-SNAPSHOT")
|
compileOnly("net.kyori:adventure-text-serializer-plain:4.0.0-SNAPSHOT")
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ plugins {
|
|||||||
group = "us.ajg0702.queue.platforms.velocity"
|
group = "us.ajg0702.queue.platforms.velocity"
|
||||||
|
|
||||||
repositories {
|
repositories {
|
||||||
|
//mavenLocal()
|
||||||
maven { url = uri("https://repo.ajg0702.us") }
|
maven { url = uri("https://repo.ajg0702.us") }
|
||||||
maven { url = uri("https://nexus.velocitypowered.com/repository/maven-public/") }
|
maven { url = uri("https://nexus.velocitypowered.com/repository/maven-public/") }
|
||||||
mavenCentral()
|
mavenCentral()
|
||||||
@@ -14,11 +15,11 @@ repositories {
|
|||||||
dependencies {
|
dependencies {
|
||||||
compileOnly("net.kyori:adventure-api:4.8.1")
|
compileOnly("net.kyori:adventure-api:4.8.1")
|
||||||
compileOnly("com.google.guava:guava:30.1.1-jre")
|
compileOnly("com.google.guava:guava:30.1.1-jre")
|
||||||
compileOnly("us.ajg0702:ajUtils:1.1.10")
|
compileOnly("us.ajg0702:ajUtils:1.1.16")
|
||||||
|
|
||||||
compileOnly("com.velocitypowered:velocity-api:3.0.0")
|
compileOnly("com.velocitypowered:velocity-api:3.0.0")
|
||||||
annotationProcessor("com.velocitypowered:velocity-api:3.0.0")
|
annotationProcessor("com.velocitypowered:velocity-api:3.0.0")
|
||||||
compileOnly("net.kyori:adventure-text-minimessage:4.0.0-SNAPSHOT")
|
implementation("net.kyori:adventure-text-minimessage:4.0.0-SNAPSHOT")
|
||||||
|
|
||||||
implementation("org.bstats:bstats-velocity:2.2.1")
|
implementation("org.bstats:bstats-velocity:2.2.1")
|
||||||
|
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ dependencies {
|
|||||||
|
|
||||||
compileOnly("me.TechsCode:FakeUltraPerms:1.0.2")
|
compileOnly("me.TechsCode:FakeUltraPerms:1.0.2")
|
||||||
|
|
||||||
compileOnly("us.ajg0702:ajUtils:1.1.10")
|
compileOnly("us.ajg0702:ajUtils:1.1.16")
|
||||||
|
|
||||||
compileOnly("net.kyori:adventure-api:4.8.1")
|
compileOnly("net.kyori:adventure-api:4.8.1")
|
||||||
|
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ dependencies {
|
|||||||
|
|
||||||
compileOnly("org.spongepowered:configurate-yaml:4.0.0")
|
compileOnly("org.spongepowered:configurate-yaml:4.0.0")
|
||||||
|
|
||||||
compileOnly("us.ajg0702:ajUtils:1.1.10")
|
compileOnly("us.ajg0702:ajUtils:1.1.16")
|
||||||
|
|
||||||
compileOnly(group = "org.spigotmc", name = "spigot", version = "1.16.5-R0.1-SNAPSHOT")
|
compileOnly(group = "org.spigotmc", name = "spigot", version = "1.16.5-R0.1-SNAPSHOT")
|
||||||
compileOnly("me.clip:placeholderapi:2.10.4")
|
compileOnly("me.clip:placeholderapi:2.10.4")
|
||||||
|
|||||||
Reference in New Issue
Block a user