diff --git a/.github/assets/serverwave_banner.png b/.github/assets/serverwave_banner.png deleted file mode 100644 index bfbbcc9..0000000 Binary files a/.github/assets/serverwave_banner.png and /dev/null differ diff --git a/.github/workflows/build-and-publish.yml b/.github/workflows/build-and-publish.yml index 2427043..d2e9654 100644 --- a/.github/workflows/build-and-publish.yml +++ b/.github/workflows/build-and-publish.yml @@ -19,10 +19,10 @@ jobs: - name: Checkout Code uses: actions/checkout@v4 - - name: Set up JDK 17 + - name: Set up JDK 21 uses: actions/setup-java@v4 with: - java-version: '17' + java-version: '21' distribution: 'temurin' cache: maven @@ -39,7 +39,7 @@ jobs: files: target/*.jar changelog-file: CHANGELOG.md game-versions: | - 1.21 + 26 loaders: | bukkit spigot diff --git a/.github/workflows/build-test.yml b/.github/workflows/build-test.yml index b03f93e..4e98f44 100644 --- a/.github/workflows/build-test.yml +++ b/.github/workflows/build-test.yml @@ -18,10 +18,10 @@ jobs: - name: Checkout Code uses: actions/checkout@v4 - - name: Set up JDK 17 + - name: Set up JDK 21 uses: actions/setup-java@v4 with: - java-version: '17' + java-version: '21' distribution: 'temurin' cache: maven diff --git a/pom.xml b/pom.xml index d9ef712..191f7f8 100644 --- a/pom.xml +++ b/pom.xml @@ -6,14 +6,13 @@ fr.gamecreep BasicHomes - 1.9.8-RELEASE-26.1.1 + 1.9.8-BETA-26.2 jar BasicHomes Basic Minecraft Spigot plugin to use homes ! - 1.8 UTF-8 https://github.com/iGameCreep/BasicHomes @@ -25,8 +24,8 @@ maven-compiler-plugin 3.8.1 - 16 - 16 + 21 + 21 @@ -46,15 +45,11 @@ org.bstats fr.gamecreep.basichomes.libs.bstats + + dev.faststats + fr.gamecreep.basichomes.libs.faststats + - - - org.bstats:bstats-bukkit - - ** - - - @@ -77,13 +72,18 @@ sonatype https://oss.sonatype.org/content/groups/public/ + + faststats-releases + FastStats + https://repo.faststats.dev/releases + org.spigotmc spigot-api - 26.1.1-R0.1-SNAPSHOT + 26.2-R0.1-SNAPSHOT provided @@ -91,16 +91,21 @@ bstats-bukkit 3.2.1 + + dev.faststats.metrics + bukkit + 0.30.1 + org.projectlombok lombok - 1.18.44 + 1.18.48 provided com.google.code.gson gson - 2.13.2 + 2.14.0 jakarta.annotation diff --git a/src/main/java/fr/gamecreep/basichomes/BasicHomes.java b/src/main/java/fr/gamecreep/basichomes/BasicHomes.java index c26ba95..782b7c6 100644 --- a/src/main/java/fr/gamecreep/basichomes/BasicHomes.java +++ b/src/main/java/fr/gamecreep/basichomes/BasicHomes.java @@ -18,8 +18,6 @@ import fr.gamecreep.basichomes.utils.TeleportUtils; import fr.gamecreep.basichomes.utils.Updater; import lombok.Getter; -import org.bstats.bukkit.Metrics; -import org.bstats.charts.SimplePie; import org.bukkit.configuration.file.FileConfiguration; import org.bukkit.entity.Player; import org.bukkit.permissions.PermissionAttachment; @@ -110,13 +108,13 @@ private void loadConfig() { private void loadMetrics() { try { - final Metrics metrics = new Metrics(this, Constants.BSTATS_PLUGIN_ID); - - metrics.addCustomChart(new SimplePie("using_warps", - () -> Boolean.toString((Boolean) this.pluginConfig.getConfig().getOrDefault(ConfigElement.WARPS_ENABLED, false)) - )); + MetricsLoader loader = new MetricsLoader(this); + loader.loadbStats(); LoggerUtils.logInfo("Metrics (bStats) successfully loaded !"); + + loader.loadFastStats(); + LoggerUtils.logInfo("Metrics (FastStats) successfully loaded !"); } catch (Exception e) { LoggerUtils.logWarning("Failed to register plugin metrics: " + e.getMessage()); } diff --git a/src/main/java/fr/gamecreep/basichomes/Constants.java b/src/main/java/fr/gamecreep/basichomes/Constants.java index 3338562..bf0ee0c 100644 --- a/src/main/java/fr/gamecreep/basichomes/Constants.java +++ b/src/main/java/fr/gamecreep/basichomes/Constants.java @@ -10,6 +10,7 @@ public class Constants { public static final String PLUGIN_VERSION = "1.9.8"; public static final int BSTATS_PLUGIN_ID = 25429; + public static final String FASTSTATS_TOKEN = "c958237076bde0583471cdd8e83cae05"; public static final ChatColor INFO_COLOR = ChatColor.DARK_AQUA; public static final ChatColor SUCCESS_COLOR = ChatColor.GREEN; @@ -21,7 +22,7 @@ public class Constants { String colorTemp; try { colorTemp = net.md_5.bungee.api.ChatColor.of("#2596be").toString(); - } catch (Throwable t) { + } catch (Exception e) { colorTemp = ChatColor.DARK_AQUA.toString(); } PLUGIN_COLOR = colorTemp; diff --git a/src/main/java/fr/gamecreep/basichomes/MetricsLoader.java b/src/main/java/fr/gamecreep/basichomes/MetricsLoader.java new file mode 100644 index 0000000..e42f7fd --- /dev/null +++ b/src/main/java/fr/gamecreep/basichomes/MetricsLoader.java @@ -0,0 +1,45 @@ +package fr.gamecreep.basichomes; + +import dev.faststats.ErrorTracker; +import dev.faststats.bukkit.BukkitContext; +import dev.faststats.data.Metric; +import fr.gamecreep.basichomes.config.enums.ConfigElement; +import org.bstats.charts.SimplePie; + +import java.util.Map; + +public class MetricsLoader { + public static final ErrorTracker ERROR_TRACKER = ErrorTracker.contextAware(); + + private final BasicHomes plugin; + + public MetricsLoader(BasicHomes plugin) { + this.plugin = plugin; + } + + public void loadbStats() { + org.bstats.bukkit.Metrics metrics = new org.bstats.bukkit.Metrics(this.plugin, Constants.BSTATS_PLUGIN_ID); + + SimplePie warpsChart = new SimplePie("using_warps", () -> Boolean.toString(getWarpMetricValue())); + metrics.addCustomChart(warpsChart); + } + + public void loadFastStats() { + BukkitContext context = new BukkitContext.Factory(this.plugin, Constants.FASTSTATS_TOKEN) + .errorTrackerService(ERROR_TRACKER) + .metrics(factory -> + factory + .addMetric(Metric.bool("using_warps", this::getWarpMetricValue)) + .create() + ) + .create(); + + context.ready(); + } + + private boolean getWarpMetricValue() { + Map pluginConfig = plugin.getPluginConfig().getConfig(); + + return (Boolean) pluginConfig.getOrDefault(ConfigElement.WARPS_ENABLED, false); + } +} diff --git a/src/main/java/fr/gamecreep/basichomes/commands/permission/PermissionCommand.java b/src/main/java/fr/gamecreep/basichomes/commands/permission/PermissionCommand.java index 18fc1c3..abcdc5a 100644 --- a/src/main/java/fr/gamecreep/basichomes/commands/permission/PermissionCommand.java +++ b/src/main/java/fr/gamecreep/basichomes/commands/permission/PermissionCommand.java @@ -41,13 +41,13 @@ public boolean onCommand(@NonNull final CommandSender sender, @NonNull final String label, @NonNull final String @NonNull[] args ) { - if (args.length < 3) return false; - if (!sender.hasPermission(Permission.PERMISSIONS.getName())) { ChatUtils.sendNoPermission(sender, Permission.PERMISSIONS); return true; } + if (args.length < 3) return false; + final String action = args[0].toLowerCase(); final boolean isSet = action.equals(ActionType.SET.getStringValue()); final boolean isRemove = action.equals(ActionType.REMOVE.getStringValue());