From 31690cbd0006d661a1e25eb6263c7e246425fb93 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 19 Oct 2021 06:12:52 +0000 Subject: [PATCH 01/10] Bump mysql-connector-java from 8.0.26 to 8.0.27 Bumps [mysql-connector-java](https://github.com/mysql/mysql-connector-j) from 8.0.26 to 8.0.27. - [Release notes](https://github.com/mysql/mysql-connector-j/releases) - [Changelog](https://github.com/mysql/mysql-connector-j/blob/release/8.0/CHANGES) - [Commits](https://github.com/mysql/mysql-connector-j/compare/8.0.26...8.0.27) --- updated-dependencies: - dependency-name: mysql:mysql-connector-java dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index fa59df7d..50461ed4 100644 --- a/build.gradle +++ b/build.gradle @@ -89,7 +89,7 @@ dependencies { slim 'com.h2database:h2:1.4.200' slim 'org.xerial:sqlite-jdbc:3.36.0.3' slim 'org.mariadb.jdbc:mariadb-java-client:2.7.4' - slim 'mysql:mysql-connector-java:8.0.26' + slim 'mysql:mysql-connector-java:8.0.27' implementation 'org.spongepowered:configurate-core:4.1.2' implementation 'org.spongepowered:configurate-gson:4.1.2' implementation 'org.spongepowered:configurate-yaml:4.1.2' From a2840025e15729e4892e8e9187d114b0b1052298 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 12 Nov 2021 06:11:49 +0000 Subject: [PATCH 02/10] Bump mongodb-driver-sync from 4.3.3 to 4.4.0 Bumps [mongodb-driver-sync](https://github.com/mongodb/mongo-java-driver) from 4.3.3 to 4.4.0. - [Release notes](https://github.com/mongodb/mongo-java-driver/releases) - [Commits](https://github.com/mongodb/mongo-java-driver/compare/r4.3.3...r4.4.0) --- updated-dependencies: - dependency-name: org.mongodb:mongodb-driver-sync dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index de03710a..deb642b7 100644 --- a/build.gradle +++ b/build.gradle @@ -84,7 +84,7 @@ dependencies { // Spigot compileOnly 'org.spigotmc:spigot-api:1.17.1-R0.1-SNAPSHOT' // Storage Methods - slim 'org.mongodb:mongodb-driver-sync:4.3.3' + slim 'org.mongodb:mongodb-driver-sync:4.4.0' slim 'com.zaxxer:HikariCP:4.0.3' slim 'com.h2database:h2:1.4.200' slim 'org.xerial:sqlite-jdbc:3.36.0.3' From 9381dba700f74adb3819dc28091802905ab79db8 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 22 Nov 2021 06:20:43 +0000 Subject: [PATCH 03/10] Bump maven-artifact from 3.8.3 to 3.8.4 Bumps [maven-artifact](https://github.com/apache/maven) from 3.8.3 to 3.8.4. - [Release notes](https://github.com/apache/maven/releases) - [Commits](https://github.com/apache/maven/compare/maven-3.8.3...maven-3.8.4) --- updated-dependencies: - dependency-name: org.apache.maven:maven-artifact dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index 0f930e0b..3b33f777 100644 --- a/build.gradle +++ b/build.gradle @@ -103,7 +103,7 @@ dependencies { implementation 'com.github.mkremins:fanciful:18dc039f5b' slim 'com.fasterxml.jackson.core:jackson-databind:2.13.0' slim 'com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:2.13.0' - implementation 'org.apache.maven:maven-artifact:3.8.3' + implementation 'org.apache.maven:maven-artifact:3.8.4' implementation 'org.bstats:bstats-bukkit:2.2.1' slim 'org.slf4j:slf4j-simple:1.7.32' slim 'org.slf4j:slf4j-api:1.7.32' From b7bb5d117d70a7c574f15074ec0b6476dfb9356c Mon Sep 17 00:00:00 2001 From: Picono435 Date: Thu, 25 Nov 2021 09:01:02 +0000 Subject: [PATCH 04/10] Fixed Available for --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index f1ac0de1..59a3cfb3 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,7 @@ The best RandomTP mod ever! [![Release](https://img.shields.io/github/v/release/Picono435/PicoJobs?style=for-the-badge&include_prereleases&sort=semver)][releases] -[![Available For](https://img.shields.io/static/v1?label=Available%20For&style=for-the-badge&color=34aa2f&message=1.17.x-1.18.x)][bukkitdev] +[![Available For](https://img.shields.io/static/v1?label=Available%20For&style=for-the-badge&color=34aa2f&message=1.17.x-1.8.x)][bukkitdev] [![BukkitDev Downloads](https://img.shields.io/badge/dynamic/json?color=f16436&style=for-the-badge&label=BukkitDev&query=downloadCount&url=https://addons-ecs.forgesvc.net/api/v2/addon/385252&logo=CurseForge)][bukkitdev] [![SpigotMC Downloads](https://img.shields.io/badge/dynamic/json?color=f16436&style=for-the-badge&label=SpigotMC&query=stats.downloads&url=https%3A%2F%2Fapi.spigotmc.org%2Fsimple%2F0.2%2Findex.php%3Faction%3DgetResource%26id%3D82784&logo=SpigotMC)][spigotmc] From 58b6fffa52d21878d2931a5c605e640dd4263430 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 29 Nov 2021 06:15:57 +0000 Subject: [PATCH 05/10] Bump junit-jupiter-engine from 5.8.1 to 5.8.2 Bumps [junit-jupiter-engine](https://github.com/junit-team/junit5) from 5.8.1 to 5.8.2. - [Release notes](https://github.com/junit-team/junit5/releases) - [Commits](https://github.com/junit-team/junit5/compare/r5.8.1...r5.8.2) --- updated-dependencies: - dependency-name: org.junit.jupiter:junit-jupiter-engine dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index 0f930e0b..7c7554eb 100644 --- a/build.gradle +++ b/build.gradle @@ -108,7 +108,7 @@ dependencies { slim 'org.slf4j:slf4j-simple:1.7.32' slim 'org.slf4j:slf4j-api:1.7.32' testImplementation 'com.github.seeseemelk:MockBukkit-v1.16:1.0.0' - testImplementation 'org.junit.jupiter:junit-jupiter-engine:5.8.1' + testImplementation 'org.junit.jupiter:junit-jupiter-engine:5.8.2' testCompileOnly 'org.spigotmc:spigot-api:1.17.1-R0.1-SNAPSHOT' testCompileOnly('me.clip:placeholderapi:2.10.10') { transitive = false } testCompileOnly('com.github.MilkBowl:VaultAPI:1.7') { transitive = false } From a6076f1001b17811c600f63365020856e9e77db4 Mon Sep 17 00:00:00 2001 From: Picono435 Date: Tue, 30 Nov 2021 22:03:14 +0000 Subject: [PATCH 06/10] Bumped to Minecraft 1.18 :) --- build.gradle | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build.gradle b/build.gradle index 24f1f9ce..7a2914cb 100644 --- a/build.gradle +++ b/build.gradle @@ -82,7 +82,7 @@ dependencies { // Slimjar implementation slimjar("1.2.6") // Spigot - compileOnly 'org.spigotmc:spigot-api:1.17.1-R0.1-SNAPSHOT' + compileOnly 'org.spigotmc:spigot-api:1.18-R0.1-SNAPSHOT' // Storage Methods slim 'org.mongodb:mongodb-driver-sync:4.4.0' slim 'com.zaxxer:HikariCP:4.0.3' @@ -109,7 +109,7 @@ dependencies { slim 'org.slf4j:slf4j-api:1.7.32' testImplementation 'com.github.seeseemelk:MockBukkit-v1.16:1.0.0' testImplementation 'org.junit.jupiter:junit-jupiter-engine:5.8.2' - testCompileOnly 'org.spigotmc:spigot-api:1.17.1-R0.1-SNAPSHOT' + testCompileOnly 'org.spigotmc:spigot-api:1.18-R0.1-SNAPSHOT' testCompileOnly('me.clip:placeholderapi:2.10.10') { transitive = false } testCompileOnly('com.github.MilkBowl:VaultAPI:1.7') { transitive = false } testCompileOnly('org.black_ixx:playerpoints:3.0.3') { transitive = false } From ff15ef25acc788b9eb8d5132d59dddd86fec7399 Mon Sep 17 00:00:00 2001 From: Picono435 Date: Tue, 30 Nov 2021 22:33:22 +0000 Subject: [PATCH 07/10] Added h2database migrating and backing up when updating --- .../picono435/picojobs/PicoJobsPlugin.java | 23 +++++++++++++++++++ .../sql/file/FlatfileStorageFactory.java | 19 +++++++++++++++ 2 files changed, 42 insertions(+) diff --git a/src/main/java/com/gmail/picono435/picojobs/PicoJobsPlugin.java b/src/main/java/com/gmail/picono435/picojobs/PicoJobsPlugin.java index 0f839fb1..51493b1c 100644 --- a/src/main/java/com/gmail/picono435/picojobs/PicoJobsPlugin.java +++ b/src/main/java/com/gmail/picono435/picojobs/PicoJobsPlugin.java @@ -17,6 +17,7 @@ import java.util.concurrent.Callable; import java.util.logging.*; +import com.gmail.picono435.picojobs.storage.sql.file.H2Storage; import com.gmail.picono435.picojobs.utils.GitHubAPI; import io.github.slimjar.logging.ProcessLogger; import io.github.slimjar.resolver.data.Mirror; @@ -187,6 +188,14 @@ public Integer call() throws Exception { } })); } + + if(getDataFolder().toPath().toAbsolutePath().resolve("storage").resolve("script.sql").toFile().exists() && PicoJobsAPI.getStorageManager().getStorageFactory() instanceof H2Storage) { + try { + ((H2Storage) PicoJobsAPI.getStorageManager().getStorageFactory()).retrieveDataFrom(getDataFolder().toPath().toAbsolutePath().resolve("storage").resolve("script.sql").toFile()); + } catch (Exception e) { + e.printStackTrace(); + } + } // REGISTERING COMMANDS this.getCommand("jobs").setExecutor(new JobsCommand()); @@ -439,6 +448,20 @@ public void run() { } public boolean updatePlugin(CommandSender p, String message) { + try { + if(PicoJobsAPI.getStorageManager().getStorageFactory() instanceof H2Storage) { + sendConsoleMessage(Level.INFO, "Backing up H2 database before update..."); + if(!getDataFolder().toPath().toAbsolutePath().resolve("storage").resolve("picojobs-h2").toFile().renameTo(new File("picojobs-h2-old"))) { + throw new Exception("Error renaming old database file..."); + } + ((H2Storage) PicoJobsAPI.getStorageManager().getStorageFactory()).backupDataTo(getDataFolder().toPath().toAbsolutePath().resolve("storage").resolve("script").toFile()); + sendConsoleMessage(Level.INFO, "Backed up H2 database. The update will now continue..."); + } + } catch(Exception ex) { + ex.printStackTrace(); + sendConsoleMessage(Level.SEVERE, "Error backing up database... DOWNLOAD WILL NOT BE COMPLETED, please make sure to back up your database and update the plugin manually."); + } + try { URL url = new URL(PicoJobsPlugin.getInstance().getLastestDownloadUrl()); diff --git a/src/main/java/com/gmail/picono435/picojobs/storage/sql/file/FlatfileStorageFactory.java b/src/main/java/com/gmail/picono435/picojobs/storage/sql/file/FlatfileStorageFactory.java index 3c85b856..0b3658bb 100644 --- a/src/main/java/com/gmail/picono435/picojobs/storage/sql/file/FlatfileStorageFactory.java +++ b/src/main/java/com/gmail/picono435/picojobs/storage/sql/file/FlatfileStorageFactory.java @@ -1,5 +1,6 @@ package com.gmail.picono435.picojobs.storage.sql.file; +import java.io.File; import java.lang.reflect.Constructor; import java.sql.Connection; import java.sql.PreparedStatement; @@ -26,6 +27,24 @@ protected void destroyStorage() { return; } } + + public void backupDataTo(File file) throws Exception { + try(Connection conn = getConnection()) { + PreparedStatement stm = conn.prepareStatement("SCRIPT TO ?"); + stm.setString(1, file.getAbsolutePath()); + stm.executeUpdate(); + stm.close(); + } + } + + public void retrieveDataFrom(File file) throws Exception { + try(Connection conn = getConnection()) { + PreparedStatement stm = conn.prepareStatement("RUNSCRIPT FROM ?"); + stm.setString(1, file.getAbsolutePath()); + stm.executeUpdate(); + stm.close(); + } + } @Override public boolean createPlayer(UUID uuid) throws Exception { From 51bd41d50d2cdb8009c1a0b34ea1ec9ce0d52803 Mon Sep 17 00:00:00 2001 From: Picono435 Date: Tue, 30 Nov 2021 22:33:42 +0000 Subject: [PATCH 08/10] Bumped version to 1.0-beta-5 --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index 7a2914cb..bab2d6d2 100644 --- a/build.gradle +++ b/build.gradle @@ -22,7 +22,7 @@ targetCompatibility = '1.8' versioning { releaseMode = { nextTag, lastTag, currentTag, extension -> - "1.0-beta-4" + "1.0-beta-5" } as Object } From 69593e696418a6df5c8b9dc9dc42f6fffa4fbd8c Mon Sep 17 00:00:00 2001 From: Picono435 Date: Wed, 8 Dec 2021 15:21:35 +0000 Subject: [PATCH 09/10] Fixed issues with database migration H2 --- .../picono435/picojobs/PicoJobsPlugin.java | 66 +++++++++---------- .../sql/file/FlatfileStorageFactory.java | 4 +- .../picojobs/storage/sql/file/H2Storage.java | 16 ++++- 3 files changed, 47 insertions(+), 39 deletions(-) diff --git a/src/main/java/com/gmail/picono435/picojobs/PicoJobsPlugin.java b/src/main/java/com/gmail/picono435/picojobs/PicoJobsPlugin.java index 51493b1c..417d4e7f 100644 --- a/src/main/java/com/gmail/picono435/picojobs/PicoJobsPlugin.java +++ b/src/main/java/com/gmail/picono435/picojobs/PicoJobsPlugin.java @@ -1,29 +1,23 @@ package com.gmail.picono435.picojobs; -import java.io.BufferedOutputStream; -import java.io.BufferedReader; -import java.io.File; -import java.io.FileOutputStream; -import java.io.InputStream; -import java.io.InputStreamReader; -import java.io.OutputStream; +import java.io.*; import java.lang.reflect.Method; import java.net.HttpURLConnection; import java.net.MalformedURLException; import java.net.URL; import java.net.URLConnection; import java.nio.charset.StandardCharsets; +import java.nio.file.Path; +import java.sql.PreparedStatement; import java.util.*; import java.util.concurrent.Callable; import java.util.logging.*; import com.gmail.picono435.picojobs.storage.sql.file.H2Storage; import com.gmail.picono435.picojobs.utils.GitHubAPI; -import io.github.slimjar.logging.ProcessLogger; import io.github.slimjar.resolver.data.Mirror; import io.github.slimjar.resolver.data.Repository; import io.github.slimjar.resolver.mirrors.MirrorSelector; -import io.github.slimjar.resolver.mirrors.SimpleMirrorSelector; import org.apache.maven.artifact.versioning.DefaultArtifactVersion; import org.bstats.bukkit.Metrics; import org.bstats.charts.DrilldownPie; @@ -73,6 +67,7 @@ import com.google.gson.JsonParser; import io.github.slimjar.app.builder.ApplicationBuilder; +import org.codehaus.plexus.util.FileUtils; public class PicoJobsPlugin extends JavaPlugin { @@ -87,6 +82,7 @@ protected PicoJobsPlugin(JavaPluginLoader loader, PluginDescriptionFile descript //PLUGIN private static PicoJobsPlugin instance; public static boolean isTestEnvironment = false; + private static boolean wasUpdated; private String serverVersion; private boolean oldVersion; private String lastestPluginVersion; @@ -182,19 +178,11 @@ public void run() { PicoJobsAPI.getStorageManager().initializeStorageFactory(); if(!isTestEnvironment) { metrics.addCustomChart(new SingleLineChart("created_jobs", new Callable() { - @Override - public Integer call() throws Exception { - return jobs.size(); - } - })); - } - - if(getDataFolder().toPath().toAbsolutePath().resolve("storage").resolve("script.sql").toFile().exists() && PicoJobsAPI.getStorageManager().getStorageFactory() instanceof H2Storage) { - try { - ((H2Storage) PicoJobsAPI.getStorageManager().getStorageFactory()).retrieveDataFrom(getDataFolder().toPath().toAbsolutePath().resolve("storage").resolve("script.sql").toFile()); - } catch (Exception e) { - e.printStackTrace(); - } + @Override + public Integer call() throws Exception { + return jobs.size(); + } + })); } // REGISTERING COMMANDS @@ -228,6 +216,25 @@ public Integer call() throws Exception { public void onDisable() { sendConsoleMessage(Level.INFO, "Disconnecting connection to storage..."); jobs.clear(); + + if(wasUpdated && PicoJobsAPI.getStorageManager().getStorageFactory() instanceof H2Storage) { + try { + // Copy the current database to a -old file + FileUtils.copyFile(PicoJobsPlugin.getInstance().getDataFolder().toPath().resolve("storage").resolve("picojobs-h2.mv.db").toFile(), PicoJobsPlugin.getInstance().getDataFolder().toPath().resolve("storage").resolve("picojobs-h2-old.mv.db").toFile()); + // Set the path where the script file will be located + Path scriptFile = PicoJobsPlugin.getInstance().getDataFolder().toPath().resolve("storage").resolve("script").toAbsolutePath(); + // Backup database to script + ((H2Storage) PicoJobsAPI.getStorageManager().getStorageFactory()).backupDataTo(scriptFile.toFile()); + PicoJobsAPI.getStorageManager().destroyStorageFactory(); + // Delete the current database + PicoJobsPlugin.getInstance().getDataFolder().toPath().toAbsolutePath().resolve("storage").resolve("picojobs-h2.mv.db").toFile().delete(); + sendConsoleMessage(Level.INFO, "The plugin was succefully disabled."); + return; + } catch (Exception e) { + e.printStackTrace(); + } + } + PicoJobsAPI.getStorageManager().destroyStorageFactory(); sendConsoleMessage(Level.INFO, "The plugin was succefully disabled."); @@ -449,20 +456,7 @@ public void run() { public boolean updatePlugin(CommandSender p, String message) { try { - if(PicoJobsAPI.getStorageManager().getStorageFactory() instanceof H2Storage) { - sendConsoleMessage(Level.INFO, "Backing up H2 database before update..."); - if(!getDataFolder().toPath().toAbsolutePath().resolve("storage").resolve("picojobs-h2").toFile().renameTo(new File("picojobs-h2-old"))) { - throw new Exception("Error renaming old database file..."); - } - ((H2Storage) PicoJobsAPI.getStorageManager().getStorageFactory()).backupDataTo(getDataFolder().toPath().toAbsolutePath().resolve("storage").resolve("script").toFile()); - sendConsoleMessage(Level.INFO, "Backed up H2 database. The update will now continue..."); - } - } catch(Exception ex) { - ex.printStackTrace(); - sendConsoleMessage(Level.SEVERE, "Error backing up database... DOWNLOAD WILL NOT BE COMPLETED, please make sure to back up your database and update the plugin manually."); - } - - try { + wasUpdated = true; URL url = new URL(PicoJobsPlugin.getInstance().getLastestDownloadUrl()); Method getFileMethod = JavaPlugin.class.getDeclaredMethod("getFile"); diff --git a/src/main/java/com/gmail/picono435/picojobs/storage/sql/file/FlatfileStorageFactory.java b/src/main/java/com/gmail/picono435/picojobs/storage/sql/file/FlatfileStorageFactory.java index 0b3658bb..10bd02fc 100644 --- a/src/main/java/com/gmail/picono435/picojobs/storage/sql/file/FlatfileStorageFactory.java +++ b/src/main/java/com/gmail/picono435/picojobs/storage/sql/file/FlatfileStorageFactory.java @@ -32,7 +32,7 @@ public void backupDataTo(File file) throws Exception { try(Connection conn = getConnection()) { PreparedStatement stm = conn.prepareStatement("SCRIPT TO ?"); stm.setString(1, file.getAbsolutePath()); - stm.executeUpdate(); + stm.execute(); stm.close(); } } @@ -41,7 +41,7 @@ public void retrieveDataFrom(File file) throws Exception { try(Connection conn = getConnection()) { PreparedStatement stm = conn.prepareStatement("RUNSCRIPT FROM ?"); stm.setString(1, file.getAbsolutePath()); - stm.executeUpdate(); + stm.execute(); stm.close(); } } diff --git a/src/main/java/com/gmail/picono435/picojobs/storage/sql/file/H2Storage.java b/src/main/java/com/gmail/picono435/picojobs/storage/sql/file/H2Storage.java index b1ce47e7..2258a155 100644 --- a/src/main/java/com/gmail/picono435/picojobs/storage/sql/file/H2Storage.java +++ b/src/main/java/com/gmail/picono435/picojobs/storage/sql/file/H2Storage.java @@ -1,10 +1,14 @@ package com.gmail.picono435.picojobs.storage.sql.file; +import java.io.File; +import java.nio.file.Path; import java.sql.Connection; import java.sql.PreparedStatement; import java.util.Properties; import com.gmail.picono435.picojobs.PicoJobsPlugin; +import com.gmail.picono435.picojobs.api.PicoJobsAPI; +import org.codehaus.plexus.util.FileUtils; public class H2Storage extends FlatfileStorageFactory { @@ -20,8 +24,18 @@ protected boolean initializeStorage() throws Exception { @Override protected Connection getConnection() throws Exception { - if(this.conn == null || this.conn.isClosed()) { + if(this.conn == null || this.conn.isClosed() || !this.conn.isValid(15)) { this.conn = (Connection) this.connectionConstructor.newInstance("jdbc:h2:" + PicoJobsPlugin.getInstance().getDataFolder().toPath().toAbsolutePath().resolve("storage").resolve("picojobs-h2"), new Properties()); + Path scriptFile = PicoJobsPlugin.getInstance().getDataFolder().toPath().resolve("storage").resolve("script").toAbsolutePath(); + if(scriptFile.toFile().exists()) { + // Import data to the database + PreparedStatement stm = conn.prepareStatement("RUNSCRIPT FROM ?"); + stm.setString(1, scriptFile.toString()); + stm.execute(); + stm.close(); + scriptFile.toFile().delete(); + this.conn = (Connection) this.connectionConstructor.newInstance("jdbc:h2:" + PicoJobsPlugin.getInstance().getDataFolder().toPath().toAbsolutePath().resolve("storage").resolve("picojobs-h2"), new Properties()); + } } return this.conn; } From 4c28321cfa894fb553ef428b33210192359042bf Mon Sep 17 00:00:00 2001 From: Picono435 Date: Wed, 8 Dec 2021 15:22:33 +0000 Subject: [PATCH 10/10] Bumped available for to 1.18 --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 59a3cfb3..4a8fd744 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,7 @@ The best RandomTP mod ever! [![Release](https://img.shields.io/github/v/release/Picono435/PicoJobs?style=for-the-badge&include_prereleases&sort=semver)][releases] -[![Available For](https://img.shields.io/static/v1?label=Available%20For&style=for-the-badge&color=34aa2f&message=1.17.x-1.8.x)][bukkitdev] +[![Available For](https://img.shields.io/static/v1?label=Available%20For&style=for-the-badge&color=34aa2f&message=1.18.x-1.8.x)][bukkitdev] [![BukkitDev Downloads](https://img.shields.io/badge/dynamic/json?color=f16436&style=for-the-badge&label=BukkitDev&query=downloadCount&url=https://addons-ecs.forgesvc.net/api/v2/addon/385252&logo=CurseForge)][bukkitdev] [![SpigotMC Downloads](https://img.shields.io/badge/dynamic/json?color=f16436&style=for-the-badge&label=SpigotMC&query=stats.downloads&url=https%3A%2F%2Fapi.spigotmc.org%2Fsimple%2F0.2%2Findex.php%3Faction%3DgetResource%26id%3D82784&logo=SpigotMC)][spigotmc]