diff --git a/bukkit/src/main/java/net/william278/husksync/BukkitHuskSync.java b/bukkit/src/main/java/net/william278/husksync/BukkitHuskSync.java index c2436cd3..e2372492 100644 --- a/bukkit/src/main/java/net/william278/husksync/BukkitHuskSync.java +++ b/bukkit/src/main/java/net/william278/husksync/BukkitHuskSync.java @@ -29,6 +29,7 @@ import net.william278.husksync.player.BukkitPlayer; import net.william278.husksync.player.OnlineUser; import net.william278.husksync.redis.RedisManager; import net.william278.husksync.util.*; +import org.bstats.bukkit.Metrics; import org.bukkit.Bukkit; import org.bukkit.command.PluginCommand; import org.bukkit.entity.Player; @@ -47,6 +48,10 @@ import java.util.stream.Collectors; public class BukkitHuskSync extends JavaPlugin implements HuskSync { + /** + * Metrics ID for HuskSync on Bukkit. + */ + private static final int METRICS_ID = 13140; private Database database; private RedisManager redisManager; private Logger logger; @@ -145,10 +150,10 @@ public class BukkitHuskSync extends JavaPlugin implements HuskSync { getLoggingAdapter().log(Level.INFO, "Registering permissions & commands..."); Arrays.stream(Permission.values()).forEach(permission -> getServer().getPluginManager() .addPermission(new org.bukkit.permissions.Permission(permission.node, switch (permission.defaultAccess) { - case EVERYONE -> PermissionDefault.TRUE; - case NOBODY -> PermissionDefault.FALSE; - case OPERATORS -> PermissionDefault.OP; - }))); + case EVERYONE -> PermissionDefault.TRUE; + case NOBODY -> PermissionDefault.FALSE; + case OPERATORS -> PermissionDefault.OP; + }))); // Register commands for (final BukkitCommandType bukkitCommandType : BukkitCommandType.values()) { @@ -166,6 +171,13 @@ public class BukkitHuskSync extends JavaPlugin implements HuskSync { getLoggingAdapter().log(Level.INFO, "Plan integration enabled!"); } + // Hook into bStats metrics + try { + new Metrics(this, METRICS_ID); + } catch (final Exception e) { + getLoggingAdapter().log(Level.WARNING, "Skipped bStats metrics initialization due to an exception."); + } + // Check for updates if (settings.getBooleanValue(Settings.ConfigOption.CHECK_FOR_UPDATES)) { getLoggingAdapter().log(Level.INFO, "Checking for updates...");