From 122441d526cc76d5f9030d5d2381f4e6069eb5f0 Mon Sep 17 00:00:00 2001 From: broken1arrow Date: Fri, 21 Jun 2024 21:40:43 +0200 Subject: [PATCH 1/9] change the Gradle version Change the version of Gradle to use and update the API and remove MVdWPlaceholder as it is not updated any more. --- build.gradle | 65 +++++++++++++----------- gradle/wrapper/gradle-wrapper.properties | 2 +- 2 files changed, 37 insertions(+), 30 deletions(-) diff --git a/build.gradle b/build.gradle index 7dc0234..606b595 100644 --- a/build.gradle +++ b/build.gradle @@ -1,4 +1,3 @@ -import org.apache.tools.ant.filters.ReplaceTokens buildscript { repositories { @@ -6,14 +5,17 @@ buildscript { gradlePluginPortal() } - dependencies { - classpath 'com.github.jengelman.gradle.plugins:shadow:2.0.4' - } + +/* dependencies { + classpath 'com.github.jengelman.gradle.plugins:shadow:8.0.0' + }*/ + } + plugins { id 'java' - id 'com.github.johnrengelman.shadow' version '2.0.4' + id 'com.github.johnrengelman.shadow' version '8.1.1' } group 'me.realized' @@ -24,10 +26,10 @@ compileJava.options.encoding = 'UTF-8' processResources { def group = project.group.toString() + "." + project.name.toLowerCase() + ".shaded" - from(sourceSets.main.resources.srcDirs) { - include '**/*.yml' + /* from(sourceSets.main.resources.srcDirs) { + include '**.yml' filter(ReplaceTokens, tokens: [NAME: project.name, VERSION: project.version, SHADED_GROUP: group]) - } + }*/ } repositories { @@ -42,15 +44,14 @@ repositories { name 'bungeecord-repo' url 'https://oss.sonatype.org/content/repositories/snapshots' } - - maven { + maven { url 'https://jitpack.io' } +/* maven { name 'mvdw-repo' url 'http://repo.mvdw-software.be/content/groups/public/' - } + }*/ maven { - name 'clip-repo' - url 'http://repo.extendedclip.com/content/repositories/placeholderapi/' + url = 'https://repo.extendedclip.com/content/repositories/placeholderapi/' } maven { @@ -58,31 +59,35 @@ repositories { url 'https://repo.codemc.io/repository/maven-public/' } + maven { name 'inventive-repo' url 'https://repo.inventivetalent.org/content/groups/public/' } + flatDir { dirs "$rootDir/libs/" } } dependencies { - compile 'org.projectlombok:lombok:1.18.22' - compile 'org.spigotmc:spigot-api:1.14.4-R0.1-SNAPSHOT' - compile (name: 'MVdWPlaceholderAPI-3.1.1') { + compileOnly 'org.projectlombok:lombok:1.18.24' + annotationProcessor 'org.projectlombok:lombok:1.18.24' + + compileOnly 'org.spigotmc:spigot-api:1.14.4-R0.1-SNAPSHOT' + /* compileOnly (name: 'MVdWPlaceholderAPI-3.1.1') { transitive = false - } - compile name: 'Vault-1.6.7' - compile 'me.clip:placeholderapi:2.10.9' + }*/ + compileOnly "com.github.MilkBowl:VaultAPI:1.7" + compileOnly 'me.clip:placeholderapi:2.10.9' // shaded dependencies - compile 'redis.clients:jedis:3.5.1' - compile 'org.apache.commons:commons-pool2:2.4.2' - compile 'com.zaxxer:HikariCP:4.0.2' - compile 'org.slf4j:slf4j-nop:1.7.32' - compile 'org.bstats:bstats-bukkit:1.7' + implementation 'redis.clients:jedis:3.5.1' + implementation 'org.apache.commons:commons-pool2:2.4.2' + implementation 'com.zaxxer:HikariCP:4.0.2' + implementation 'org.slf4j:slf4j-nop:1.7.32' + implementation 'org.bstats:bstats-bukkit:3.0.2' } clean.doFirst { @@ -90,11 +95,13 @@ clean.doFirst { } shadowJar { - duplicatesStrategy = DuplicatesStrategy.EXCLUDE - destinationDir = file("$rootDir/out/") - sourceCompatibility = targetCompatibility = JavaVersion.VERSION_1_8 - baseName = 'TokenManager' - classifier = null + //duplicatesStrategy = DuplicatesStrategy.EXCLUDE + setDestinationDirectory(file("$rootDir/out/")) + // destinationDir = file("$rootDir/out/") + sourceCompatibility = JavaVersion.VERSION_1_8 + targetCompatibility = JavaVersion.VERSION_1_8 +// baseName = 'TokenManager' +// classifier = null dependencies { include(dependency('redis.clients:.*')) diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 20a8408..2323675 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-4.4-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip From 901bb1690f27b487deb68baf90d839456c76cab2 Mon Sep 17 00:00:00 2001 From: broken1arrow Date: Fri, 21 Jun 2024 21:42:31 +0200 Subject: [PATCH 2/9] Update MVdWPlaceholderHook.java part of the removal. --- .../hook/hooks/MVdWPlaceholderHook.java | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/src/main/java/me/realized/tokenmanager/hook/hooks/MVdWPlaceholderHook.java b/src/main/java/me/realized/tokenmanager/hook/hooks/MVdWPlaceholderHook.java index 9f2f311..e7285bd 100644 --- a/src/main/java/me/realized/tokenmanager/hook/hooks/MVdWPlaceholderHook.java +++ b/src/main/java/me/realized/tokenmanager/hook/hooks/MVdWPlaceholderHook.java @@ -1,14 +1,17 @@ package me.realized.tokenmanager.hook.hooks; -import be.maximvdw.placeholderapi.PlaceholderAPI; -import be.maximvdw.placeholderapi.PlaceholderReplaceEvent; -import be.maximvdw.placeholderapi.PlaceholderReplacer; +//import be.maximvdw.placeholderapi.PlaceholderAPI; +//import be.maximvdw.placeholderapi.PlaceholderReplaceEvent; +//import be.maximvdw.placeholderapi.PlaceholderReplacer; import me.realized.tokenmanager.TokenManagerPlugin; import me.realized.tokenmanager.util.hook.PluginHook; public class MVdWPlaceholderHook extends PluginHook { + public MVdWPlaceholderHook(TokenManagerPlugin plugin, String name) { + super(plugin, name); + } - public MVdWPlaceholderHook(final TokenManagerPlugin plugin) { +/* public MVdWPlaceholderHook(final TokenManagerPlugin plugin) { super(plugin, "MVdWPlaceholderAPI"); final Placeholders placeholders = new Placeholders(); @@ -30,5 +33,5 @@ public class Placeholders implements PlaceholderReplacer { public String onPlaceholderReplace(final PlaceholderReplaceEvent event) { return plugin.handlePlaceholderRequest(event.getPlayer(), event.getPlaceholder().substring(3)); } - } + }*/ } From 2ed944e88a7700d3222720b695ae0f27c29237a8 Mon Sep 17 00:00:00 2001 From: broken1arrow Date: Fri, 21 Jun 2024 21:42:47 +0200 Subject: [PATCH 3/9] change the list option --- .../java/me/realized/tokenmanager/TokenManagerPlugin.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/me/realized/tokenmanager/TokenManagerPlugin.java b/src/main/java/me/realized/tokenmanager/TokenManagerPlugin.java index d12791c..da48888 100644 --- a/src/main/java/me/realized/tokenmanager/TokenManagerPlugin.java +++ b/src/main/java/me/realized/tokenmanager/TokenManagerPlugin.java @@ -1,6 +1,6 @@ package me.realized.tokenmanager; -import com.google.common.collect.Lists; +//import com.google.common.collect.Lists; import java.util.ArrayList; import java.util.List; import java.util.Optional; @@ -139,7 +139,7 @@ private boolean load() { * @return true if unload was successful, otherwise false */ private boolean unload() { - for (final Loadable loadable : Lists.reverse(loadables)) { + for (final Loadable loadable : loadables) { try { if (loadables.indexOf(loadable) > lastLoad) { continue; From 54d4160fc40469321c2c2bb8925a866ecbcbda38 Mon Sep 17 00:00:00 2001 From: broken1arrow Date: Fri, 21 Jun 2024 21:43:06 +0200 Subject: [PATCH 4/9] made it create database if it not exist. --- .../tokenmanager/data/database/MySQLDatabase.java | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/main/java/me/realized/tokenmanager/data/database/MySQLDatabase.java b/src/main/java/me/realized/tokenmanager/data/database/MySQLDatabase.java index 91cc183..6f47985 100644 --- a/src/main/java/me/realized/tokenmanager/data/database/MySQLDatabase.java +++ b/src/main/java/me/realized/tokenmanager/data/database/MySQLDatabase.java @@ -4,6 +4,7 @@ import com.zaxxer.hikari.HikariDataSource; import java.io.File; import java.sql.Connection; +import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; @@ -69,6 +70,7 @@ public MySQLDatabase(final TokenManagerPlugin plugin) { @Override public void setup() throws Exception { final Config config = plugin.getConfiguration(); + this.createDatabase(config); final HikariConfig hikariConfig = new HikariConfig(); hikariConfig.setJdbcUrl(config.getMysqlUrl() .replace("%hostname%", config.getMysqlHostname()) @@ -116,6 +118,19 @@ public void setup() throws Exception { } } } + private void createDatabase(final Config config) { + String configUrl = config.getMysqlUrl() + .replace("%hostname%", config.getMysqlHostname()) + .replace("%port%", config.getMysqlPort()) + .replace("%database%", ""); + try (Connection connection = DriverManager.getConnection(configUrl, config.getMysqlUsername(), config.getMysqlPassword()); + Statement statement = connection.createStatement()) { + statement.executeUpdate("CREATE DATABASE IF NOT EXISTS " + config.getMysqlDatabase()); + } catch (SQLException ex) { + Log.error("Failed to connect to create the database!"); + Log.error("Cause of error: " + ex.getMessage()); + } + } @Override public OptionalLong get(final Player player) { From 62112f9e5b982ccd5224cf92218384b30155889d Mon Sep 17 00:00:00 2001 From: broken1arrow Date: Fri, 21 Jun 2024 21:43:21 +0200 Subject: [PATCH 5/9] change how it gets the version. --- .../java/me/realized/tokenmanager/util/compat/CompatUtil.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/me/realized/tokenmanager/util/compat/CompatUtil.java b/src/main/java/me/realized/tokenmanager/util/compat/CompatUtil.java index ee101f1..31513f8 100644 --- a/src/main/java/me/realized/tokenmanager/util/compat/CompatUtil.java +++ b/src/main/java/me/realized/tokenmanager/util/compat/CompatUtil.java @@ -8,8 +8,8 @@ public final class CompatUtil { private static final long SUB_VERSION; static { - final String packageName = Bukkit.getServer().getClass().getPackage().getName(); - SUB_VERSION = NumberUtil.parseLong(packageName.substring(packageName.lastIndexOf('.') + 1).split("_")[1]).orElse(0); + final String packageName = Bukkit.getServer().getBukkitVersion().split("\\.")[1]; + SUB_VERSION = NumberUtil.parseLong(packageName).orElse(0); } private CompatUtil() {} From c7cac7091274f367974cd387380fb70d23ea7477 Mon Sep 17 00:00:00 2001 From: broken1arrow Date: Fri, 21 Jun 2024 21:43:50 +0200 Subject: [PATCH 6/9] Temporary remove the version placeholder. --- src/main/resources/plugin.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml index 4be5550..4be5a32 100644 --- a/src/main/resources/plugin.yml +++ b/src/main/resources/plugin.yml @@ -1,6 +1,6 @@ name: TokenManager main: me.realized.tokenmanager.TokenManagerPlugin -version: @VERSION@ +version: 3.2.8 softdepend: [MVdWPlaceholderAPI, PlaceholderAPI, Vault] api-version: 1.14 From 0428312a6d7d3ea6eb04f87a2c54176c9ba7ab73 Mon Sep 17 00:00:00 2001 From: broken1arrow Date: Sat, 22 Jun 2024 08:34:04 +0200 Subject: [PATCH 7/9] Change the logic around MVdWPlaceholder But still tur off the support for MVdWPlaceholder as it abandon project. --- build.gradle | 4 ++-- .../me/realized/tokenmanager/hook/HookManager.java | 2 +- .../hook/hooks/MVdWPlaceholderHook.java | 14 ++++++-------- 3 files changed, 9 insertions(+), 11 deletions(-) diff --git a/build.gradle b/build.gradle index 606b595..64e875d 100644 --- a/build.gradle +++ b/build.gradle @@ -76,9 +76,9 @@ dependencies { annotationProcessor 'org.projectlombok:lombok:1.18.24' compileOnly 'org.spigotmc:spigot-api:1.14.4-R0.1-SNAPSHOT' - /* compileOnly (name: 'MVdWPlaceholderAPI-3.1.1') { + compileOnly (name: 'MVdWPlaceholderAPI-3.1.1') { transitive = false - }*/ + } compileOnly "com.github.MilkBowl:VaultAPI:1.7" compileOnly 'me.clip:placeholderapi:2.10.9' diff --git a/src/main/java/me/realized/tokenmanager/hook/HookManager.java b/src/main/java/me/realized/tokenmanager/hook/HookManager.java index ed18f2c..7be3ed7 100644 --- a/src/main/java/me/realized/tokenmanager/hook/HookManager.java +++ b/src/main/java/me/realized/tokenmanager/hook/HookManager.java @@ -14,7 +14,7 @@ public HookManager(final TokenManagerPlugin plugin) { @Override public void handleLoad() { - register("MVdWPlaceholderAPI", MVdWPlaceholderHook.class); + //register("MVdWPlaceholderAPI", MVdWPlaceholderHook.class); register("PlaceholderAPI", PlaceholderHook.class); register("Vault", VaultHook.class); } diff --git a/src/main/java/me/realized/tokenmanager/hook/hooks/MVdWPlaceholderHook.java b/src/main/java/me/realized/tokenmanager/hook/hooks/MVdWPlaceholderHook.java index e7285bd..82fbce6 100644 --- a/src/main/java/me/realized/tokenmanager/hook/hooks/MVdWPlaceholderHook.java +++ b/src/main/java/me/realized/tokenmanager/hook/hooks/MVdWPlaceholderHook.java @@ -1,17 +1,15 @@ package me.realized.tokenmanager.hook.hooks; -//import be.maximvdw.placeholderapi.PlaceholderAPI; -//import be.maximvdw.placeholderapi.PlaceholderReplaceEvent; -//import be.maximvdw.placeholderapi.PlaceholderReplacer; +import be.maximvdw.placeholderapi.PlaceholderAPI; +import be.maximvdw.placeholderapi.PlaceholderReplaceEvent; +import be.maximvdw.placeholderapi.PlaceholderReplacer; import me.realized.tokenmanager.TokenManagerPlugin; import me.realized.tokenmanager.util.hook.PluginHook; public class MVdWPlaceholderHook extends PluginHook { - public MVdWPlaceholderHook(TokenManagerPlugin plugin, String name) { - super(plugin, name); - } -/* public MVdWPlaceholderHook(final TokenManagerPlugin plugin) { + + public MVdWPlaceholderHook(final TokenManagerPlugin plugin) { super(plugin, "MVdWPlaceholderAPI"); final Placeholders placeholders = new Placeholders(); @@ -33,5 +31,5 @@ public class Placeholders implements PlaceholderReplacer { public String onPlaceholderReplace(final PlaceholderReplaceEvent event) { return plugin.handlePlaceholderRequest(event.getPlayer(), event.getPlaceholder().substring(3)); } - }*/ + } } From be1258a545e60782fe1044f54f06c65c775c408c Mon Sep 17 00:00:00 2001 From: broken1arrow Date: Sat, 22 Jun 2024 08:42:08 +0200 Subject: [PATCH 8/9] updated shaded dependency's --- build.gradle | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/build.gradle b/build.gradle index 64e875d..8d07c2e 100644 --- a/build.gradle +++ b/build.gradle @@ -83,10 +83,10 @@ dependencies { compileOnly 'me.clip:placeholderapi:2.10.9' // shaded dependencies - implementation 'redis.clients:jedis:3.5.1' - implementation 'org.apache.commons:commons-pool2:2.4.2' - implementation 'com.zaxxer:HikariCP:4.0.2' - implementation 'org.slf4j:slf4j-nop:1.7.32' + implementation 'redis.clients:jedis:5.1.2' + implementation 'org.apache.commons:commons-pool2:2.12.0' + implementation 'com.zaxxer:HikariCP:4.0.3' + implementation 'org.slf4j:slf4j-nop:2.0.13' implementation 'org.bstats:bstats-bukkit:3.0.2' } From 552c1044ab9b6482abcc31591cdee1a87283f972 Mon Sep 17 00:00:00 2001 From: broken1arrow Date: Fri, 2 Aug 2024 13:01:58 +0200 Subject: [PATCH 9/9] Bug where it does not read version Implemented a fix when it not read some versions correctly and prevention to use the potion if you are on 1.20.5 as it is replaced. Did not implement a workaround for it. --- .../me/realized/tokenmanager/util/compat/CompatUtil.java | 6 ++++-- .../me/realized/tokenmanager/util/inventory/ItemUtil.java | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/main/java/me/realized/tokenmanager/util/compat/CompatUtil.java b/src/main/java/me/realized/tokenmanager/util/compat/CompatUtil.java index 31513f8..5e1fe5a 100644 --- a/src/main/java/me/realized/tokenmanager/util/compat/CompatUtil.java +++ b/src/main/java/me/realized/tokenmanager/util/compat/CompatUtil.java @@ -9,11 +9,13 @@ public final class CompatUtil { static { final String packageName = Bukkit.getServer().getBukkitVersion().split("\\.")[1]; - SUB_VERSION = NumberUtil.parseLong(packageName).orElse(0); + SUB_VERSION = NumberUtil.parseLong(packageName.replace("-R0", "")).orElse(0); } private CompatUtil() {} - + public static boolean isAfter1_20() { + return SUB_VERSION > 20; + } public static boolean isPre1_17() { return SUB_VERSION < 17; } diff --git a/src/main/java/me/realized/tokenmanager/util/inventory/ItemUtil.java b/src/main/java/me/realized/tokenmanager/util/inventory/ItemUtil.java index 31646ec..8715ddd 100644 --- a/src/main/java/me/realized/tokenmanager/util/inventory/ItemUtil.java +++ b/src/main/java/me/realized/tokenmanager/util/inventory/ItemUtil.java @@ -132,7 +132,7 @@ public static ItemStack loadFromString(final String line) { if (materialData.length > 1) { // Handle potions and spawn eggs switching to NBT in 1.9+ - if (!CompatUtil.isPre1_9()) { + if (!CompatUtil.isPre1_9() && !CompatUtil.isAfter1_20()) { if (material.name().contains("POTION")) { final List values = Arrays.asList(materialData[1].split("-")); final PotionType type;