From a64fa24dccf7bc2a1ea23440ea8e45dddebc1636 Mon Sep 17 00:00:00 2001 From: Adrian Bergqvist Date: Sun, 3 Jul 2022 05:32:14 +0200 Subject: [PATCH] Bstats and velocity 3.1.1 compatibility --- build.gradle | 17 ++++++++++++++--- .../org/adde0109/ambassador/Ambassador.java | 16 ++++++++++------ 2 files changed, 24 insertions(+), 9 deletions(-) diff --git a/build.gradle b/build.gradle index 9fd75eb..992dc6b 100644 --- a/build.gradle +++ b/build.gradle @@ -1,9 +1,10 @@ plugins { id 'java' + id "com.github.johnrengelman.shadow" version "7.1.2" } group 'org.adde0109' -version '1.0-SNAPSHOT' +version '0.2.0-SNAPSHOT' repositories { maven { @@ -14,8 +15,18 @@ repositories { } dependencies { - implementation 'com.velocitypowered:velocity-api:3.1.2-SNAPSHOT' + implementation 'com.velocitypowered:velocity-api:3.1.1' implementation 'com.electronwill.night-config:toml:3.6.5' - implementation 'com.google.guava:guava:31.1-jre' + implementation 'org.bstats:bstats-velocity:3.0.0' annotationProcessor 'com.velocitypowered:velocity-api:3.1.2-SNAPSHOT' } + +shadowJar { + relocate 'org.bstats', 'org.adde0109.ambassador' +} + + +assemble.dependsOn(shadowJar) +tasks.shadowJar.configure { + classifier = null +} \ No newline at end of file diff --git a/src/main/java/org/adde0109/ambassador/Ambassador.java b/src/main/java/org/adde0109/ambassador/Ambassador.java index 182ab60..8b99206 100644 --- a/src/main/java/org/adde0109/ambassador/Ambassador.java +++ b/src/main/java/org/adde0109/ambassador/Ambassador.java @@ -2,7 +2,6 @@ package org.adde0109.ambassador; import com.google.inject.Inject; import com.velocitypowered.api.event.Continuation; -import com.velocitypowered.api.event.PostOrder; import com.velocitypowered.api.event.Subscribe; import com.velocitypowered.api.event.player.PlayerChooseInitialServerEvent; import com.velocitypowered.api.event.player.ServerPreConnectEvent; @@ -13,21 +12,23 @@ import com.velocitypowered.api.proxy.ProxyServer; import com.velocitypowered.api.proxy.server.RegisteredServer; import net.kyori.adventure.text.Component; +import net.kyori.adventure.text.format.NamedTextColor; import org.adde0109.ambassador.Forge.ForgeConnection; import org.adde0109.ambassador.Forge.ForgeHandshakeHandler; import org.adde0109.ambassador.Forge.ForgeHandshakeUtils; import org.adde0109.ambassador.Forge.ForgeServerConnection; -import org.checkerframework.checker.index.qual.PolyUpperBound; +import org.bstats.velocity.Metrics; import org.slf4j.Logger; import java.nio.file.Path; import java.util.*; -@Plugin(id = "ambassador", name = "Ambassador", version = "0.1.0-SNAPSHOT", url = "", description = "", authors = {"adde0109"}) +@Plugin(id = "ambassador", name = "Ambassador", version = "0.2.0-SNAPSHOT", url = "", description = "", authors = {"adde0109"}) public class Ambassador { private final ProxyServer server; private final Logger logger; + private final Metrics.Factory metricsFactory; private final Path dataDirectory; private Optional forgeServer; private AmbassadorConfig config; @@ -37,14 +38,17 @@ public class Ambassador { @Inject - public Ambassador(ProxyServer server, Logger logger, @DataDirectory Path dataDirectory) { + public Ambassador(ProxyServer server, Logger logger, @DataDirectory Path dataDirectory, Metrics.Factory metricsFactory) { this.server = server; this.logger = logger; this.dataDirectory = dataDirectory; + this.metricsFactory = metricsFactory; } @Subscribe public void onProxyInitialization(ProxyInitializeEvent event) { + Metrics metrics = metricsFactory.make(this, 15655); + config = AmbassadorConfig.readOrCreateConfig(dataDirectory,server,logger); if(config != null) { forgeHandshakeHandler = new ForgeHandshakeHandler(config, server, logger); @@ -89,9 +93,9 @@ public class Ambassador { }); //If vanilla tries to connect to forge - } else if (forgeServerConnectionOptional.isPresent() && (event.getPreviousServer() != null)){ + } else if (forgeServerConnectionOptional.isPresent() && (event.getPlayer().getCurrentServer().isPresent())){ event.setResult(ServerPreConnectEvent.ServerResult.denied()); - event.getPlayer().sendMessage(Component.text("This server requires Forge!")); + event.getPlayer().sendMessage(Component.text("This server requires Forge!", NamedTextColor.RED)); continuation.resume(); } else { continuation.resume();