Skip to content

Commit 43d1a0f

Browse files
committed
Add FastStats support
1 parent ba57d87 commit 43d1a0f

File tree

6 files changed

+39
-7
lines changed

6 files changed

+39
-7
lines changed

api/src/main/java/fr/euphyllia/skyllia/api/utils/Metrics.java renamed to api/src/main/java/fr/euphyllia/skyllia/api/utils/metrics/BStatsMetrics.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
*
1313
* Violations will result in a ban of your plugin and account from bStats.
1414
*/
15-
package fr.euphyllia.skyllia.api.utils;
15+
package fr.euphyllia.skyllia.api.utils.metrics;
1616

1717
import org.bukkit.Bukkit;
1818
import org.bukkit.configuration.file.YamlConfiguration;
@@ -34,7 +34,7 @@
3434
import java.util.stream.Collectors;
3535
import java.util.zip.GZIPOutputStream;
3636

37-
public class Metrics {
37+
public class BStatsMetrics {
3838

3939
private final Plugin plugin;
4040

@@ -47,7 +47,7 @@ public class Metrics {
4747
* @param serviceId The id of the service. It can be found at <a
4848
* href="https://bstats.org/what-is-my-plugin-id">What is my plugin id?</a>
4949
*/
50-
public Metrics(Plugin plugin, int serviceId) {
50+
public BStatsMetrics(Plugin plugin, int serviceId) {
5151
this.plugin = plugin;
5252
// Get the config file
5353
File bStatsFolder = new File(plugin.getDataFolder().getParentFile(), "bStats");

build.gradle.kts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ val engineHubRepo = "https://maven.enginehub.org/repo/";
1616
val jitpack = "https://jitpack.io"
1717
val mojang = "https://libraries.minecraft.net";
1818
var extendedclip = "https://repo.extendedclip.com/content/repositories/placeholderapi/";
19+
var theNextLvl = "https://repo.thenextlvl.net/releases";
1920

2021
dependencies {
2122
implementation(project(":database"))
@@ -59,6 +60,7 @@ allprojects {
5960
maven(mojang)
6061
maven(jitpack)
6162
maven(extendedclip)
63+
maven(theNextLvl)
6264
}
6365

6466
dependencies {

plugin/build.gradle.kts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ dependencies {
99
compileOnly("io.papermc.paper:paper-api:1.21.10-R0.1-SNAPSHOT") { isTransitive = false }
1010
compileOnly("net.kyori:adventure-text-minimessage:4.25.0")
1111
compileOnly("me.clip:placeholderapi:2.11.6")
12+
compileOnly("dev.faststats.metrics:bukkit:0.17.2")
1213
compileOnly(project(":api"))
1314
compileOnly(project(":database"))
1415
compileOnly(project(":hook:worldedit"))

plugin/src/main/java/fr/euphyllia/skyllia/Skyllia.java

Lines changed: 27 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
11
package fr.euphyllia.skyllia;
22

3+
import dev.faststats.bukkit.BukkitMetrics;
4+
import dev.faststats.core.ErrorTracker;
35
import fr.euphyllia.skyllia.api.InterneAPI;
46
import fr.euphyllia.skyllia.api.commands.SubCommandRegistry;
57
import fr.euphyllia.skyllia.api.exceptions.UnsupportedMinecraftVersionException;
6-
import fr.euphyllia.skyllia.api.utils.Metrics;
78
import fr.euphyllia.skyllia.api.utils.VersionUtils;
9+
import fr.euphyllia.skyllia.api.utils.metrics.BStatsMetrics;
810
import fr.euphyllia.skyllia.commands.CommandRegistrar;
911
import fr.euphyllia.skyllia.configuration.ConfigLoader;
1012
import fr.euphyllia.skyllia.hook.HookBootstrap;
@@ -30,6 +32,9 @@ public class Skyllia extends JavaPlugin {
3032
private SubCommandRegistry commandRegistry;
3133
private SubCommandRegistry adminCommandRegistry;
3234

35+
public static final ErrorTracker ERROR_TRACKER = ErrorTracker.contextAware();
36+
private BukkitMetrics fastStatsMetrics;
37+
3338
public static Skyllia getInstance() {
3439
return instance;
3540
}
@@ -83,7 +88,8 @@ public void onEnable() {
8388

8489
checkDisabledConfig();
8590

86-
new Metrics(this, 20874);
91+
new BStatsMetrics(this, 20874);
92+
initializeFastStats();
8793

8894
ConfigLoader.permissionsV2.compileNow();
8995
ConfigLoader.islandFlags.compileNow();
@@ -97,6 +103,11 @@ public void onEnable() {
97103
public void onDisable() {
98104
Bukkit.getAsyncScheduler().cancelTasks(this);
99105
Bukkit.getGlobalRegionScheduler().cancelTasks(this);
106+
107+
if (fastStatsMetrics != null) {
108+
fastStatsMetrics.shutdown();
109+
}
110+
100111
if (this.interneAPI != null) {
101112
if (this.interneAPI.getDatabaseLoader() != null) {
102113
this.interneAPI.getDatabaseLoader().closeDatabase();
@@ -194,4 +205,18 @@ private String center(String text, int lineWidth) {
194205
int padding = (lineWidth - textLength) / 2;
195206
return " ".repeat(Math.max(0, padding)) + text;
196207
}
208+
209+
private void initializeFastStats() {
210+
try {
211+
this.fastStatsMetrics = BukkitMetrics.factory()
212+
.token("f329c2c0e1c9562dffebed9b6786d4c9")
213+
.errorTracker(ERROR_TRACKER)
214+
.debug(false)
215+
.create(this);
216+
this.fastStatsMetrics.ready();
217+
logger.info("[FastStats] initialized");
218+
} catch (Exception exception) {
219+
logger.log(Level.FATAL, exception, exception);
220+
}
221+
}
197222
}

plugin/src/main/java/fr/euphyllia/skyllia/SkylliaLoader.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ public void classloader(PluginClasspathBuilder classpathBuilder) {
1616
resolver.addRepository(new RemoteRepository.Builder("central", "default", "https://repo.euphyllia.moe/repository/maven-public/").build());
1717
resolver.addRepository(new RemoteRepository.Builder("mojang", "default", "https://libraries.minecraft.net").build());
1818
resolver.addRepository(new RemoteRepository.Builder("jitpack", "default", "https://jitpack.io").build());
19+
resolver.addRepository(new RemoteRepository.Builder("thenextlvl", "default", "https://repo.thenextlvl.net/releases").build());
1920

2021
// Maven Repository Dependencies
2122
resolver.addDependency(new Dependency(new DefaultArtifact("org.apache.logging.log4j:log4j-core:2.25.3"), null));
@@ -40,6 +41,9 @@ public void classloader(PluginClasspathBuilder classpathBuilder) {
4041
// Mojang Repo
4142
resolver.addDependency(new Dependency(new DefaultArtifact("com.mojang:brigadier:1.0.18"), null));
4243

44+
// thenextlvl Repo
45+
resolver.addDependency(new Dependency(new DefaultArtifact("dev.faststats.metrics:bukkit:0.17.2"), null));
46+
4347
classpathBuilder.addLibrary(resolver);
4448
}
4549
}

readme.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,13 @@
55
### Le premier plugin Skyblock entièrement compatible Folia
66

77
[![Folia](https://img.shields.io/badge/Folia-Compatible-green.svg)](https://papermc.io/software/folia)
8-
[![Paper](https://img.shields.io/badge/Paper-1.21+-blue.svg)](https://papermc.io/)
8+
[![Paper](https://img.shields.io/badge/Paper-1.20.1+-blue.svg)](https://papermc.io/)
99
[![Java](https://img.shields.io/badge/Java-21+-orange.svg)](https://www.oracle.com/java/)
1010
[![License](https://img.shields.io/badge/license-MIT-blue)](https://github.com/Euphillya/Skyllia)
1111

1212
[Documentation](https://skyllia.eupyllia.moe)[GitHub](https://github.com/Euphillya/Skyllia)[Modrinth](https://modrinth.com/plugin/skyllia)[Discord](https://discord.gg/uUJQEB7XNN)
1313

14-
[![](https://bstats.org/signatures/bukkit/Skyllia.svg)](https://bstats.org/plugin/bukkit/Skyllia/20874)
14+
[![Servers & Players](https://faststats.dev/embed/26db4d71-4959-449d-a0c9-302ea90f2efc?w=800&h=300)](https://faststats.dev/project/skyllia/skyllia-plugin)
1515
</div>
1616

1717
---

0 commit comments

Comments
 (0)