From 23faeb5ab4bff17fa3b2e90097756bb1e0eb866d Mon Sep 17 00:00:00 2001 From: Adrian3d04 Date: Fri, 5 Aug 2022 02:03:48 +0000 Subject: [PATCH] refactor(api): Implement API modules --- api/paper/build.gradle.kts | 3 +++ .../api/paper/event}/PreSendLoginEvent.java | 2 +- api/paper/src/main/java/module-info.java | 5 +++++ api/velocity/build.gradle.kts | 3 +++ .../api}/velocity/AuthMeVelocityAPI.java | 5 ++--- .../api}/velocity/event/PreSendOnLoginEvent.java | 2 +- .../velocity/event/ProxyForcedUnregisterEvent.java | 2 +- .../api}/velocity/event/ProxyLoginEvent.java | 2 +- .../api}/velocity/event/ProxyLogoutEvent.java | 2 +- .../api}/velocity/event/ProxyRegisterEvent.java | 2 +- .../api}/velocity/event/ProxyUnregisterEvent.java | 2 +- api/velocity/src/main/java/module-info.java | 6 ++++++ build.gradle.kts | 2 ++ common/src/main/java/module-info.java | 4 ++++ paper/build.gradle.kts | 3 ++- .../authmevelocity/paper/AuthmePlaceholders.java | 4 ++-- .../paper/listeners/AuthMeListener.java | 2 +- settings.gradle.kts | 5 +++++ velocity/build.gradle.kts | 1 + .../velocity/AuthMeVelocityPlugin.java | 1 + .../velocity/listener/ConnectListener.java | 2 +- .../velocity/listener/FastLoginListener.java | 2 +- .../velocity/listener/PluginMessageListener.java | 14 +++++++------- .../velocity/listener/ProxyListener.java | 2 +- 24 files changed, 54 insertions(+), 24 deletions(-) create mode 100644 api/paper/build.gradle.kts rename {paper/src/main/java/me/adrianed/authmevelocity/paper/events => api/paper/src/main/java/me/adrianed/authmevelocity/api/paper/event}/PreSendLoginEvent.java (94%) create mode 100644 api/paper/src/main/java/module-info.java create mode 100644 api/velocity/build.gradle.kts rename {velocity/src/main/java/me/adrianed/authmevelocity => api/velocity/src/main/java/me/adrianed/authmevelocity/api}/velocity/AuthMeVelocityAPI.java (92%) rename {velocity/src/main/java/me/adrianed/authmevelocity => api/velocity/src/main/java/me/adrianed/authmevelocity/api}/velocity/event/PreSendOnLoginEvent.java (97%) rename {velocity/src/main/java/me/adrianed/authmevelocity => api/velocity/src/main/java/me/adrianed/authmevelocity/api}/velocity/event/ProxyForcedUnregisterEvent.java (86%) rename {velocity/src/main/java/me/adrianed/authmevelocity => api/velocity/src/main/java/me/adrianed/authmevelocity/api}/velocity/event/ProxyLoginEvent.java (87%) rename {velocity/src/main/java/me/adrianed/authmevelocity => api/velocity/src/main/java/me/adrianed/authmevelocity/api}/velocity/event/ProxyLogoutEvent.java (85%) rename {velocity/src/main/java/me/adrianed/authmevelocity => api/velocity/src/main/java/me/adrianed/authmevelocity/api}/velocity/event/ProxyRegisterEvent.java (85%) rename {velocity/src/main/java/me/adrianed/authmevelocity => api/velocity/src/main/java/me/adrianed/authmevelocity/api}/velocity/event/ProxyUnregisterEvent.java (85%) create mode 100644 api/velocity/src/main/java/module-info.java create mode 100644 common/src/main/java/module-info.java diff --git a/api/paper/build.gradle.kts b/api/paper/build.gradle.kts new file mode 100644 index 0000000..d0d7da0 --- /dev/null +++ b/api/paper/build.gradle.kts @@ -0,0 +1,3 @@ +dependencies { + compileOnly("io.papermc.paper:paper-api:1.19.1-R0.1-SNAPSHOT") +} \ No newline at end of file diff --git a/paper/src/main/java/me/adrianed/authmevelocity/paper/events/PreSendLoginEvent.java b/api/paper/src/main/java/me/adrianed/authmevelocity/api/paper/event/PreSendLoginEvent.java similarity index 94% rename from paper/src/main/java/me/adrianed/authmevelocity/paper/events/PreSendLoginEvent.java rename to api/paper/src/main/java/me/adrianed/authmevelocity/api/paper/event/PreSendLoginEvent.java index 6472b87..431b96f 100644 --- a/paper/src/main/java/me/adrianed/authmevelocity/paper/events/PreSendLoginEvent.java +++ b/api/paper/src/main/java/me/adrianed/authmevelocity/api/paper/event/PreSendLoginEvent.java @@ -1,4 +1,4 @@ -package me.adrianed.authmevelocity.paper.events; +package me.adrianed.authmevelocity.api.paper.event; import org.bukkit.Bukkit; import org.bukkit.entity.Player; diff --git a/api/paper/src/main/java/module-info.java b/api/paper/src/main/java/module-info.java new file mode 100644 index 0000000..64b7e65 --- /dev/null +++ b/api/paper/src/main/java/module-info.java @@ -0,0 +1,5 @@ +module me.adrianed.authmevelocity.api.paper { + requires static transitive org.bukkit; + requires static org.jetbrains.annotations; + exports me.adrianed.authmevelocity.api.paper.event; +} diff --git a/api/velocity/build.gradle.kts b/api/velocity/build.gradle.kts new file mode 100644 index 0000000..5e5ae5e --- /dev/null +++ b/api/velocity/build.gradle.kts @@ -0,0 +1,3 @@ +dependencies { + compileOnly("com.velocitypowered:velocity-api:3.1.2-SNAPSHOT") +} \ No newline at end of file diff --git a/velocity/src/main/java/me/adrianed/authmevelocity/velocity/AuthMeVelocityAPI.java b/api/velocity/src/main/java/me/adrianed/authmevelocity/api/velocity/AuthMeVelocityAPI.java similarity index 92% rename from velocity/src/main/java/me/adrianed/authmevelocity/velocity/AuthMeVelocityAPI.java rename to api/velocity/src/main/java/me/adrianed/authmevelocity/api/velocity/AuthMeVelocityAPI.java index 2de20d8..5c0bb10 100644 --- a/velocity/src/main/java/me/adrianed/authmevelocity/velocity/AuthMeVelocityAPI.java +++ b/api/velocity/src/main/java/me/adrianed/authmevelocity/api/velocity/AuthMeVelocityAPI.java @@ -1,8 +1,7 @@ -package me.adrianed.authmevelocity.velocity; +package me.adrianed.authmevelocity.api.velocity; import java.util.function.Predicate; -import me.adrianed.authmevelocity.velocity.config.AuthMeConfig; import com.velocitypowered.api.proxy.Player; import com.velocitypowered.api.proxy.ServerConnection; import com.velocitypowered.api.proxy.server.RegisteredServer; @@ -12,7 +11,7 @@ import org.jetbrains.annotations.NotNull; /** * API provided to interact with logged players */ -public sealed interface AuthMeVelocityAPI permits AuthMeVelocityPlugin { +public interface AuthMeVelocityAPI { /** * Check if the player is logged in or not diff --git a/velocity/src/main/java/me/adrianed/authmevelocity/velocity/event/PreSendOnLoginEvent.java b/api/velocity/src/main/java/me/adrianed/authmevelocity/api/velocity/event/PreSendOnLoginEvent.java similarity index 97% rename from velocity/src/main/java/me/adrianed/authmevelocity/velocity/event/PreSendOnLoginEvent.java rename to api/velocity/src/main/java/me/adrianed/authmevelocity/api/velocity/event/PreSendOnLoginEvent.java index 0d103dc..e5bceb1 100644 --- a/velocity/src/main/java/me/adrianed/authmevelocity/velocity/event/PreSendOnLoginEvent.java +++ b/api/velocity/src/main/java/me/adrianed/authmevelocity/api/velocity/event/PreSendOnLoginEvent.java @@ -1,4 +1,4 @@ -package me.adrianed.authmevelocity.velocity.event; +package me.adrianed.authmevelocity.api.velocity.event; import java.util.Objects; diff --git a/velocity/src/main/java/me/adrianed/authmevelocity/velocity/event/ProxyForcedUnregisterEvent.java b/api/velocity/src/main/java/me/adrianed/authmevelocity/api/velocity/event/ProxyForcedUnregisterEvent.java similarity index 86% rename from velocity/src/main/java/me/adrianed/authmevelocity/velocity/event/ProxyForcedUnregisterEvent.java rename to api/velocity/src/main/java/me/adrianed/authmevelocity/api/velocity/event/ProxyForcedUnregisterEvent.java index b216a20..81301fb 100644 --- a/velocity/src/main/java/me/adrianed/authmevelocity/velocity/event/ProxyForcedUnregisterEvent.java +++ b/api/velocity/src/main/java/me/adrianed/authmevelocity/api/velocity/event/ProxyForcedUnregisterEvent.java @@ -1,4 +1,4 @@ -package me.adrianed.authmevelocity.velocity.event; +package me.adrianed.authmevelocity.api.velocity.event; import com.velocitypowered.api.proxy.Player; diff --git a/velocity/src/main/java/me/adrianed/authmevelocity/velocity/event/ProxyLoginEvent.java b/api/velocity/src/main/java/me/adrianed/authmevelocity/api/velocity/event/ProxyLoginEvent.java similarity index 87% rename from velocity/src/main/java/me/adrianed/authmevelocity/velocity/event/ProxyLoginEvent.java rename to api/velocity/src/main/java/me/adrianed/authmevelocity/api/velocity/event/ProxyLoginEvent.java index cd8b3df..6ed50ca 100644 --- a/velocity/src/main/java/me/adrianed/authmevelocity/velocity/event/ProxyLoginEvent.java +++ b/api/velocity/src/main/java/me/adrianed/authmevelocity/api/velocity/event/ProxyLoginEvent.java @@ -1,4 +1,4 @@ -package me.adrianed.authmevelocity.velocity.event; +package me.adrianed.authmevelocity.api.velocity.event; import com.velocitypowered.api.proxy.Player; diff --git a/velocity/src/main/java/me/adrianed/authmevelocity/velocity/event/ProxyLogoutEvent.java b/api/velocity/src/main/java/me/adrianed/authmevelocity/api/velocity/event/ProxyLogoutEvent.java similarity index 85% rename from velocity/src/main/java/me/adrianed/authmevelocity/velocity/event/ProxyLogoutEvent.java rename to api/velocity/src/main/java/me/adrianed/authmevelocity/api/velocity/event/ProxyLogoutEvent.java index 2fa3c52..7c4ff23 100644 --- a/velocity/src/main/java/me/adrianed/authmevelocity/velocity/event/ProxyLogoutEvent.java +++ b/api/velocity/src/main/java/me/adrianed/authmevelocity/api/velocity/event/ProxyLogoutEvent.java @@ -1,4 +1,4 @@ -package me.adrianed.authmevelocity.velocity.event; +package me.adrianed.authmevelocity.api.velocity.event; import com.velocitypowered.api.proxy.Player; diff --git a/velocity/src/main/java/me/adrianed/authmevelocity/velocity/event/ProxyRegisterEvent.java b/api/velocity/src/main/java/me/adrianed/authmevelocity/api/velocity/event/ProxyRegisterEvent.java similarity index 85% rename from velocity/src/main/java/me/adrianed/authmevelocity/velocity/event/ProxyRegisterEvent.java rename to api/velocity/src/main/java/me/adrianed/authmevelocity/api/velocity/event/ProxyRegisterEvent.java index 0d060d8..9d0899e 100644 --- a/velocity/src/main/java/me/adrianed/authmevelocity/velocity/event/ProxyRegisterEvent.java +++ b/api/velocity/src/main/java/me/adrianed/authmevelocity/api/velocity/event/ProxyRegisterEvent.java @@ -1,4 +1,4 @@ -package me.adrianed.authmevelocity.velocity.event; +package me.adrianed.authmevelocity.api.velocity.event; import com.velocitypowered.api.proxy.Player; diff --git a/velocity/src/main/java/me/adrianed/authmevelocity/velocity/event/ProxyUnregisterEvent.java b/api/velocity/src/main/java/me/adrianed/authmevelocity/api/velocity/event/ProxyUnregisterEvent.java similarity index 85% rename from velocity/src/main/java/me/adrianed/authmevelocity/velocity/event/ProxyUnregisterEvent.java rename to api/velocity/src/main/java/me/adrianed/authmevelocity/api/velocity/event/ProxyUnregisterEvent.java index 2467d00..4510ac6 100644 --- a/velocity/src/main/java/me/adrianed/authmevelocity/velocity/event/ProxyUnregisterEvent.java +++ b/api/velocity/src/main/java/me/adrianed/authmevelocity/api/velocity/event/ProxyUnregisterEvent.java @@ -1,4 +1,4 @@ -package me.adrianed.authmevelocity.velocity.event; +package me.adrianed.authmevelocity.api.velocity.event; import com.velocitypowered.api.proxy.Player; diff --git a/api/velocity/src/main/java/module-info.java b/api/velocity/src/main/java/module-info.java new file mode 100644 index 0000000..a2a1150 --- /dev/null +++ b/api/velocity/src/main/java/module-info.java @@ -0,0 +1,6 @@ +module me.adrianed.authmevelocity.api.velocity { + requires static transitive com.velocitypowered.api; + requires static org.jetbrains.annotations; + exports me.adrianed.authmevelocity.api.velocity; + exports me.adrianed.authmevelocity.api.velocity.event; +} diff --git a/build.gradle.kts b/build.gradle.kts index 6c4b5fd..73ebd29 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -15,6 +15,8 @@ allprojects { dependencies { shadow(project(":authmevelocity-common")) + shadow(project(":authmevelocity-api-paper")) + shadow(project(":authmevelocity-api-velocity")) shadow(project(":authmevelocity-velocity")) shadow(project(":authmevelocity-paper")) } diff --git a/common/src/main/java/module-info.java b/common/src/main/java/module-info.java new file mode 100644 index 0000000..1cb9444 --- /dev/null +++ b/common/src/main/java/module-info.java @@ -0,0 +1,4 @@ +module me.adrianed.authmevelocity.common { + exports me.adrianed.authmevelocity.common; + exports me.adrianed.authmevelocity.common.configuration; +} diff --git a/paper/build.gradle.kts b/paper/build.gradle.kts index fa90cc6..227ff15 100644 --- a/paper/build.gradle.kts +++ b/paper/build.gradle.kts @@ -12,11 +12,12 @@ repositories { } dependencies { + compileOnly(project(":authmevelocity-common")) + compileOnly(project(":authmevelocity-api-paper")) compileOnly("io.papermc.paper:paper-api:1.19.1-R0.1-SNAPSHOT") compileOnly("fr.xephi:authme:5.6.0-SNAPSHOT") compileOnly("com.github.4drian3d:MiniPlaceholders:1.1.1") shadow("net.byteflux:libby-bukkit:1.1.5") - compileOnly(project(":authmevelocity-common")) } bukkit { diff --git a/paper/src/main/java/me/adrianed/authmevelocity/paper/AuthmePlaceholders.java b/paper/src/main/java/me/adrianed/authmevelocity/paper/AuthmePlaceholders.java index bb7ebdd..48f4d1f 100644 --- a/paper/src/main/java/me/adrianed/authmevelocity/paper/AuthmePlaceholders.java +++ b/paper/src/main/java/me/adrianed/authmevelocity/paper/AuthmePlaceholders.java @@ -10,7 +10,7 @@ import net.kyori.adventure.text.minimessage.tag.Tag; import static me.dreamerzero.miniplaceholders.api.utils.Components.*; final class AuthmePlaceholders { - private AuthmePlaceholders(){} + private AuthmePlaceholders() {} static Expansion getExpansion(){ return Expansion.builder("authme") @@ -23,7 +23,7 @@ final class AuthmePlaceholders { .globalPlaceholder("is_player_logged", (queue, ctx) -> { String playerName = queue.popOr("you need to provide a player name").value(); Player player = Bukkit.getPlayer(playerName); - if(player == null) return Tag.selfClosingInserting(FALSE_COMPONENT); + if (player == null) return Tag.selfClosingInserting(FALSE_COMPONENT); return Tag.selfClosingInserting(AuthMeApi.getInstance().isAuthenticated(player) ? TRUE_COMPONENT : FALSE_COMPONENT); diff --git a/paper/src/main/java/me/adrianed/authmevelocity/paper/listeners/AuthMeListener.java b/paper/src/main/java/me/adrianed/authmevelocity/paper/listeners/AuthMeListener.java index d2856a5..1453ef5 100644 --- a/paper/src/main/java/me/adrianed/authmevelocity/paper/listeners/AuthMeListener.java +++ b/paper/src/main/java/me/adrianed/authmevelocity/paper/listeners/AuthMeListener.java @@ -2,7 +2,7 @@ package me.adrianed.authmevelocity.paper.listeners; import me.adrianed.authmevelocity.paper.AuthMeVelocityPlugin; import me.adrianed.authmevelocity.common.MessageType; -import me.adrianed.authmevelocity.paper.events.PreSendLoginEvent; +import me.adrianed.authmevelocity.api.paper.event.PreSendLoginEvent; import fr.xephi.authme.events.LoginEvent; import fr.xephi.authme.events.LogoutEvent; diff --git a/settings.gradle.kts b/settings.gradle.kts index ca8070f..ba8295d 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -3,4 +3,9 @@ rootProject.name = "authmevelocity-parent" listOf("common", "paper", "velocity").forEach { include("authmevelocity-$it") project(":authmevelocity-$it").projectDir = file(it) +} + +listOf("paper", "velocity").forEach { + include("authmevelocity-api-$it") + project(":authmevelocity-api-$it").projectDir = file("api/$it") } \ No newline at end of file diff --git a/velocity/build.gradle.kts b/velocity/build.gradle.kts index a900d80..99fd428 100644 --- a/velocity/build.gradle.kts +++ b/velocity/build.gradle.kts @@ -15,6 +15,7 @@ dependencies { compileOnly("com.github.games647:fastlogin.velocity:1.11-SNAPSHOT") shadow("net.byteflux:libby-velocity:1.1.5") compileOnly(project(":authmevelocity-common")) + compileOnly(project(":authmevelocity-api-velocity")) } tasks.compileJava { diff --git a/velocity/src/main/java/me/adrianed/authmevelocity/velocity/AuthMeVelocityPlugin.java b/velocity/src/main/java/me/adrianed/authmevelocity/velocity/AuthMeVelocityPlugin.java index bfcd35c..2123c07 100644 --- a/velocity/src/main/java/me/adrianed/authmevelocity/velocity/AuthMeVelocityPlugin.java +++ b/velocity/src/main/java/me/adrianed/authmevelocity/velocity/AuthMeVelocityPlugin.java @@ -6,6 +6,7 @@ import me.adrianed.authmevelocity.velocity.listener.ConnectListener; import me.adrianed.authmevelocity.velocity.listener.FastLoginListener; import me.adrianed.authmevelocity.velocity.listener.PluginMessageListener; import me.adrianed.authmevelocity.velocity.listener.ProxyListener; +import me.adrianed.authmevelocity.api.velocity.AuthMeVelocityAPI; import com.google.inject.Inject; import com.moandjiezana.toml.Toml; import com.velocitypowered.api.command.CommandSource; diff --git a/velocity/src/main/java/me/adrianed/authmevelocity/velocity/listener/ConnectListener.java b/velocity/src/main/java/me/adrianed/authmevelocity/velocity/listener/ConnectListener.java index db0c452..78dddd6 100644 --- a/velocity/src/main/java/me/adrianed/authmevelocity/velocity/listener/ConnectListener.java +++ b/velocity/src/main/java/me/adrianed/authmevelocity/velocity/listener/ConnectListener.java @@ -19,7 +19,7 @@ import com.velocitypowered.api.proxy.ProxyServer; import com.velocitypowered.api.proxy.server.RegisteredServer; import me.adrianed.authmevelocity.velocity.AuthMeVelocityPlugin; -import me.adrianed.authmevelocity.velocity.AuthMeVelocityAPI; +import me.adrianed.authmevelocity.api.velocity.AuthMeVelocityAPI; public class ConnectListener { private final ProxyServer proxy; diff --git a/velocity/src/main/java/me/adrianed/authmevelocity/velocity/listener/FastLoginListener.java b/velocity/src/main/java/me/adrianed/authmevelocity/velocity/listener/FastLoginListener.java index d2322ee..b76c90e 100644 --- a/velocity/src/main/java/me/adrianed/authmevelocity/velocity/listener/FastLoginListener.java +++ b/velocity/src/main/java/me/adrianed/authmevelocity/velocity/listener/FastLoginListener.java @@ -4,7 +4,7 @@ import com.github.games647.fastlogin.velocity.event.VelocityFastLoginAutoLoginEv import com.velocitypowered.api.event.Subscribe; import com.velocitypowered.api.proxy.ProxyServer; -import me.adrianed.authmevelocity.velocity.AuthMeVelocityAPI; +import me.adrianed.authmevelocity.api.velocity.AuthMeVelocityAPI; public class FastLoginListener { private final ProxyServer server; diff --git a/velocity/src/main/java/me/adrianed/authmevelocity/velocity/listener/PluginMessageListener.java b/velocity/src/main/java/me/adrianed/authmevelocity/velocity/listener/PluginMessageListener.java index c38d483..d9aff27 100644 --- a/velocity/src/main/java/me/adrianed/authmevelocity/velocity/listener/PluginMessageListener.java +++ b/velocity/src/main/java/me/adrianed/authmevelocity/velocity/listener/PluginMessageListener.java @@ -4,12 +4,12 @@ import java.util.List; import java.util.Random; import me.adrianed.authmevelocity.velocity.config.AuthMeConfig; -import me.adrianed.authmevelocity.velocity.event.PreSendOnLoginEvent; -import me.adrianed.authmevelocity.velocity.event.ProxyForcedUnregisterEvent; -import me.adrianed.authmevelocity.velocity.event.ProxyLoginEvent; -import me.adrianed.authmevelocity.velocity.event.ProxyLogoutEvent; -import me.adrianed.authmevelocity.velocity.event.ProxyRegisterEvent; -import me.adrianed.authmevelocity.velocity.event.ProxyUnregisterEvent; +import me.adrianed.authmevelocity.api.velocity.event.PreSendOnLoginEvent; +import me.adrianed.authmevelocity.api.velocity.event.ProxyForcedUnregisterEvent; +import me.adrianed.authmevelocity.api.velocity.event.ProxyLoginEvent; +import me.adrianed.authmevelocity.api.velocity.event.ProxyLogoutEvent; +import me.adrianed.authmevelocity.api.velocity.event.ProxyRegisterEvent; +import me.adrianed.authmevelocity.api.velocity.event.ProxyUnregisterEvent; import com.google.common.io.ByteArrayDataInput; import com.velocitypowered.api.event.Continuation; import com.velocitypowered.api.event.Subscribe; @@ -22,7 +22,7 @@ import com.velocitypowered.api.proxy.ServerConnection; import com.velocitypowered.api.proxy.server.RegisteredServer; import me.adrianed.authmevelocity.velocity.AuthMeVelocityPlugin; -import me.adrianed.authmevelocity.velocity.AuthMeVelocityAPI; +import me.adrianed.authmevelocity.api.velocity.AuthMeVelocityAPI; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; diff --git a/velocity/src/main/java/me/adrianed/authmevelocity/velocity/listener/ProxyListener.java b/velocity/src/main/java/me/adrianed/authmevelocity/velocity/listener/ProxyListener.java index ee7a537..6bf0294 100644 --- a/velocity/src/main/java/me/adrianed/authmevelocity/velocity/listener/ProxyListener.java +++ b/velocity/src/main/java/me/adrianed/authmevelocity/velocity/listener/ProxyListener.java @@ -13,7 +13,7 @@ import com.velocitypowered.api.event.player.PlayerChatEvent; import com.velocitypowered.api.event.player.TabCompleteEvent; import com.velocitypowered.api.proxy.Player; -import me.adrianed.authmevelocity.velocity.AuthMeVelocityAPI; +import me.adrianed.authmevelocity.api.velocity.AuthMeVelocityAPI; import org.jetbrains.annotations.NotNull;