diff --git a/bukkit/src/main/java/dev/faststats/bukkit/BukkitMetricsImpl.java b/bukkit/src/main/java/dev/faststats/bukkit/BukkitMetricsImpl.java index 565aa0d..6daf7b5 100644 --- a/bukkit/src/main/java/dev/faststats/bukkit/BukkitMetricsImpl.java +++ b/bukkit/src/main/java/dev/faststats/bukkit/BukkitMetricsImpl.java @@ -9,6 +9,7 @@ import org.jetbrains.annotations.Contract; import org.jspecify.annotations.Nullable; +import java.io.File; import java.nio.file.Path; import java.util.Optional; import java.util.function.Supplier; @@ -93,9 +94,17 @@ private Optional tryOrEmpty(Supplier supplier) { static final class Factory extends SimpleMetrics.Factory { @Override public Metrics create(Plugin plugin) throws IllegalStateException { - var dataFolder = plugin.getServer().getPluginsFolder().toPath().resolve("faststats"); + var dataFolder = getPluginsFolder(plugin).resolve("faststats"); var config = dataFolder.resolve("config.properties"); return new BukkitMetricsImpl(this, plugin, config); } + + private static Path getPluginsFolder(Plugin plugin) { + try { + return plugin.getServer().getPluginsFolder().toPath(); + } catch (NoSuchMethodError e) { + return plugin.getDataFolder().getParentFile().toPath(); + } + } } }