diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 3ea7d8b..42c5084 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -5,20 +5,53 @@ image: gradle:6.8.2-jdk8 cache: paths: - .gradle + - ~/.gradle build: + stage: build script: - - gradle shadowJar + - rm -rf build + - gradle shadowJar artifacts: paths: - - build/libs + - build/libs pages: + stage: build image: gradle:6.8.3-jdk15 + only: + - master script: - - gradle javadoc - - mv build/docs/javadoc public + - gradle javadoc + - mv build/docs/javadoc public artifacts: paths: - - public + - public + +test: + stage: test + dependencies: + - build + script: + - gradle test + +deploy to maven repo: + stage: deploy + only: + - master + dependencies: + - build + script: + - gradle publish + +upload to updater: + stage: deploy + only: + - master + dependencies: + - build + script: + - cd build/libs + - files=(*) + - curl -i -F "submit=true" -F "secret=$UPLOAD_SECRET" -F "file=@${files[0]}" https://ajg0702.us/pl/updater/upload.php diff --git a/build.gradle.kts b/build.gradle.kts index fc111c4..3c02f03 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -5,7 +5,7 @@ plugins { } group = "us.ajg0702" -version = "1.9.3" +version = "1.9.4" repositories { mavenCentral() @@ -30,6 +30,7 @@ dependencies { implementation("org.bstats:bstats-bungeecord:2.2.1") } + tasks.withType { include("**/*.yml") filter( @@ -42,17 +43,30 @@ tasks.withType { tasks.shadowJar { relocate("us.ajg0702.utils", "us.ajg0702.queue.utils") relocate("org.bstats", "us.ajg0702.bstats") - archiveFileName.set("${baseName}-${version}.${extension}") + archiveFileName.set("${archiveBaseName}-${archiveVersion}.${archiveExtension}") } publishing { publications { - create("maven") { - groupId = project.group.toString(); - artifactId = project.name - version = project.version.toString() + create("mavenJava") { + artifact(tasks["jar"]) + } + } - from(components["java"]) + repositories { + val mavenUrl = "https://gitlab.com/api/v4/projects/18580345/packages/maven" + //val mavenSnapshotUrl = "https://gitlab.com/api/v4/projects/18580345/packages/maven" + + maven { + url = uri(mavenUrl) + name = "Gitlab" + credentials(HttpHeaderCredentials::class.java) { + name = "Job-Token" + value = System.getenv("CI_JOB_TOKEN") + } + authentication { + container(HttpHeaderAuthentication::class.java) + } } } } diff --git a/src/main/java/us/ajg0702/queue/Main.java b/src/main/java/us/ajg0702/queue/Main.java index 3eaab6a..98c815b 100644 --- a/src/main/java/us/ajg0702/queue/Main.java +++ b/src/main/java/us/ajg0702/queue/Main.java @@ -119,6 +119,7 @@ public class Main extends Plugin implements Listener { d.put("commands.listqueues.format", "{COLOR}{NAME}&7: {COUNT} queued"); d.put("max-tries-reached", "&cUnable to connect to {SERVER}. Max retries reached."); + d.put("auto-queued", "&aYou've been auto-queued for {SERVER} because you were kicked."); msgs = BungeeMessages.getInstance(this, d); @@ -215,7 +216,7 @@ public class Main extends Plugin implements Listener { @EventHandler public void onFailedMove(ServerKickEvent e) { - ProxiedPlayer p = e.getPlayer(); + final ProxiedPlayer p = e.getPlayer(); List queuedServers = man.findPlayerInQueue(p); @@ -236,7 +237,11 @@ public class Main extends Plugin implements Listener { } if(shouldqueue || reasons.isEmpty()) { plugin.getProxy().getScheduler().schedule(this, () -> { - man.addToQueue(p, e.getKickedFrom().getName()); + if(!p.isConnected()) return; + + String toName = e.getKickedFrom().getName(); + p.sendMessage(msgs.getBC("auto-queued", "SERVER:"+toName)); + man.addToQueue(p, toName); }, (long) (config.getDouble("auto-add-to-queue-on-kick-delay")*1000), TimeUnit.MILLISECONDS); } diff --git a/src/main/java/us/ajg0702/queue/Manager.java b/src/main/java/us/ajg0702/queue/Manager.java index 208d1b8..95ec37c 100644 --- a/src/main/java/us/ajg0702/queue/Manager.java +++ b/src/main/java/us/ajg0702/queue/Manager.java @@ -615,11 +615,13 @@ public class Manager { * @param s The name of the server */ public void addToQueue(ProxiedPlayer p, String s) { + if(p == null || s == null) return; QueueServer server = findServer(s); if(server == null) { p.sendMessage(msgs.getBC("errors.server-not-exist")); return; } + if(!p.isConnected()) return; if(pl.config.getBoolean("joinfrom-server-permission") && !p.hasPermission("ajqueue.joinfrom."+p.getServer().getInfo().getName())) { p.sendMessage(msgs.getBC("errors.deny-joining-from-server"));