From 63f018cd34cb2a4b47ea94c1d7f5f69411c99f91 Mon Sep 17 00:00:00 2001 From: AxenoDev Date: Sun, 8 Feb 2026 19:17:45 +0100 Subject: [PATCH 1/3] update: integrate bStats for metrics tracking and add bstats dependency --- build.gradle | 8 ++++++++ gradle.properties | 2 ++ src/main/java/me/axeno/hommr/Hommr.java | 20 +++++++++++++++++++ .../me/axeno/hommr/commands/HomeCommands.java | 3 +-- 4 files changed, 31 insertions(+), 2 deletions(-) diff --git a/build.gradle b/build.gradle index eb8b152..631cab8 100644 --- a/build.gradle +++ b/build.gradle @@ -44,6 +44,8 @@ dependencies { implementation("io.github.revxrsal:lamp.brigadier:${revxrsal_lamp_version}") implementation("io.github.revxrsal:lamp.bukkit:${revxrsal_lamp_version}") + implementation("org.bstats:bstats-bukkit:${bstats_version}") + implementation("com.j256.ormlite:ormlite-jdbc:${ormlite_version}") implementation("org.xerial:sqlite-jdbc:${sqlite_jdbc_version}") implementation("com.mysql:mysql-connector-j:${mysql_connector_version}") @@ -107,6 +109,12 @@ processResources { } } +shadowJar { + relocate("org.bstats", "${project.group}.lib.bstats") + + destinationDirectory.set(file("./server/plugins/")) +} + modrinth { token = System.getenv("MODRINTH_TOKEN") projectId = "hommr" diff --git a/gradle.properties b/gradle.properties index 55a2d56..a172cab 100644 --- a/gradle.properties +++ b/gradle.properties @@ -7,6 +7,8 @@ revxrsal_paper_version=4.0.0-beta.19 menulib_version=1.3.6 +bstats_version=3.1.0 + ormlite_version=6.1 sqlite_jdbc_version=3.51.1.0 mysql_connector_version=9.6.0 diff --git a/src/main/java/me/axeno/hommr/Hommr.java b/src/main/java/me/axeno/hommr/Hommr.java index 74fccb4..94d481a 100644 --- a/src/main/java/me/axeno/hommr/Hommr.java +++ b/src/main/java/me/axeno/hommr/Hommr.java @@ -6,6 +6,11 @@ import me.axeno.hommr.api.impl.HommrApiImpl; import me.axeno.hommr.commands.HomeCommands; import me.axeno.hommr.managers.HomeManager; +import me.axeno.hommr.models.PlayerHomes; +import org.bstats.bukkit.Metrics; +import org.bstats.charts.DrilldownPie; +import org.bstats.charts.SimplePie; +import org.bstats.charts.SingleLineChart; import org.bukkit.Bukkit; import org.bukkit.plugin.ServicePriority; import org.bukkit.plugin.java.JavaPlugin; @@ -14,6 +19,9 @@ import revxrsal.commands.bukkit.BukkitLamp; import revxrsal.commands.bukkit.actor.BukkitCommandActor; +import java.util.HashMap; +import java.util.Map; + public final class Hommr extends JavaPlugin { @Getter @@ -38,6 +46,18 @@ public void onEnable() { HomeManager.init(); + int pluginId = 29415; + Metrics metrics = new Metrics(this, pluginId); + + System.out.println("Registering bStats metrics..."); + + metrics.addCustomChart(new SingleLineChart("total_homes", () -> { + System.out.println("Calculating total homes for metrics..."); + return HomeManager.getPlayerHomesCache().values().stream() + .mapToInt(PlayerHomes::getHomeCount) + .sum(); + })); + MenuLib.init(this); this.api = new HommrApiImpl(); diff --git a/src/main/java/me/axeno/hommr/commands/HomeCommands.java b/src/main/java/me/axeno/hommr/commands/HomeCommands.java index eacd630..269c643 100644 --- a/src/main/java/me/axeno/hommr/commands/HomeCommands.java +++ b/src/main/java/me/axeno/hommr/commands/HomeCommands.java @@ -1,7 +1,6 @@ package me.axeno.hommr.commands; import me.axeno.hommr.managers.HomeManager; -import me.axeno.hommr.menus.HomeListMenu; import net.kyori.adventure.text.Component; import net.kyori.adventure.text.format.NamedTextColor; import net.kyori.adventure.text.format.TextDecoration; @@ -32,7 +31,7 @@ public void noArgs(Player player) { return; } - new HomeListMenu(player).open(); +// new HomeListMenu(player).open(); // msg(player, Component.text("Your Homes", NamedTextColor.GOLD, TextDecoration.BOLD)); // From c3897383ad97e3029972849d6f50b5ee4d36f2d1 Mon Sep 17 00:00:00 2001 From: AxenoDev Date: Sun, 8 Feb 2026 19:18:00 +0100 Subject: [PATCH 2/3] update: adjust shadowJar configuration to set destination directory for plugin output --- build.gradle | 2 -- 1 file changed, 2 deletions(-) diff --git a/build.gradle b/build.gradle index 631cab8..984df59 100644 --- a/build.gradle +++ b/build.gradle @@ -111,8 +111,6 @@ processResources { shadowJar { relocate("org.bstats", "${project.group}.lib.bstats") - - destinationDirectory.set(file("./server/plugins/")) } modrinth { From bec99673273231ff9ce7fcb6d50a3ddc0d3b184a Mon Sep 17 00:00:00 2001 From: AxenoDev Date: Sun, 8 Feb 2026 19:23:51 +0100 Subject: [PATCH 3/3] update: remove unused imports and initialization code from Hommr class --- src/main/java/me/axeno/hommr/Hommr.java | 7 ------- 1 file changed, 7 deletions(-) diff --git a/src/main/java/me/axeno/hommr/Hommr.java b/src/main/java/me/axeno/hommr/Hommr.java index c33753e..94527c4 100644 --- a/src/main/java/me/axeno/hommr/Hommr.java +++ b/src/main/java/me/axeno/hommr/Hommr.java @@ -7,8 +7,6 @@ import me.axeno.hommr.managers.HomeManager; import me.axeno.hommr.models.PlayerHomes; import org.bstats.bukkit.Metrics; -import org.bstats.charts.DrilldownPie; -import org.bstats.charts.SimplePie; import org.bstats.charts.SingleLineChart; import org.bukkit.Bukkit; import org.bukkit.plugin.ServicePriority; @@ -18,9 +16,6 @@ import revxrsal.commands.bukkit.BukkitLamp; import revxrsal.commands.bukkit.actor.BukkitCommandActor; -import java.util.HashMap; -import java.util.Map; - public final class Hommr extends JavaPlugin { @Getter @@ -54,8 +49,6 @@ public void onEnable() { .sum(); })); - MenuLib.init(this); - this.api = new HommrApiImpl(); Bukkit.getServicesManager().register(HommrApi.class, api, this, ServicePriority.Normal);