avoid error on java < 21

This commit is contained in:
alexcrea 2026-03-03 15:51:41 +01:00
parent e08a02a84a
commit b532ce7dc6
Signed by: alexcrea
GPG key ID: E346CD16413450E3

View file

@ -32,22 +32,32 @@ object MetricsUtil {
} }
if(metricType.allowFastStats) { if(metricType.allowFastStats) {
val reportErrors = config.getBoolean(ConfigOptions.METRIC_COLLECT_ERROR, true) // Check support java 21 (metric only work in java 21)
if(reportErrors) val versionParts = System.getProperty("java.version").split(".")
ERROR_TRACKER = ErrorTracker.contextAware() val majorVersion = versionParts[0].toInt()
if (majorVersion >= 21) try {
FAST_STATS_METRICS = BukkitMetrics.factory() faststatTelemetry(plugin, nmsType, isAlpha)
.addMetric(Metric.string("nms_type") { nmsType }) } catch (_: Throwable) {}
.addMetric(Metric.bool("replace_too_expensive") { ConfigOptions.doReplaceTooExpensive })
.addMetric(Metric.bool("using_alpha") { isAlpha })
.errorTracker(ERROR_TRACKER)
.token(FASTSTATS_TOKEN)
.create(plugin)
if(reportErrors) FAST_STATS_METRICS!!.ready()
} }
} }
private fun faststatTelemetry(plugin: CustomAnvil, nmsType: String, isAlpha: Boolean) {
val config = ConfigHolder.DEFAULT_CONFIG.config
val reportErrors = config.getBoolean(ConfigOptions.METRIC_COLLECT_ERROR, true)
if(reportErrors)
ERROR_TRACKER = ErrorTracker.contextAware()
FAST_STATS_METRICS = BukkitMetrics.factory()
.addMetric(Metric.string("nms_type") { nmsType })
.addMetric(Metric.bool("replace_too_expensive") { ConfigOptions.doReplaceTooExpensive })
.addMetric(Metric.bool("using_alpha") { isAlpha })
.errorTracker(ERROR_TRACKER)
.token(FASTSTATS_TOKEN)
.create(plugin)
if(reportErrors) FAST_STATS_METRICS!!.ready()
}
fun shutdownMetrics() { fun shutdownMetrics() {
FAST_STATS_METRICS?.shutdown() FAST_STATS_METRICS?.shutdown()
} }