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..e588a8a 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.1.1
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
@@ -77,6 +76,11 @@
sonatype
https://oss.sonatype.org/content/groups/public/
+
+ faststats-releases
+ FastStats
+ https://repo.faststats.dev/releases
+
@@ -91,6 +95,11 @@
bstats-bukkit
3.2.1
+
+ dev.faststats.metrics
+ bukkit
+ 0.10.0
+
org.projectlombok
lombok
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..19b9f6f
--- /dev/null
+++ b/src/main/java/fr/gamecreep/basichomes/MetricsLoader.java
@@ -0,0 +1,42 @@
+package fr.gamecreep.basichomes;
+
+import dev.faststats.bukkit.BukkitMetrics;
+import dev.faststats.core.ErrorTracker;
+import dev.faststats.core.chart.Chart;
+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() {
+ Chart warpsChart = Chart.bool("using_warps", this::getWarpMetricValue);
+
+ BukkitMetrics.factory()
+ .token(Constants.FASTSTATS_TOKEN)
+ .errorTracker(ERROR_TRACKER)
+ .addChart(warpsChart)
+ .create(plugin);
+ }
+
+ 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());