diff --git a/README.md b/README.md index 28b4c3f5..62ba15d2 100644 --- a/README.md +++ b/README.md @@ -1,56 +1 @@ -# AuthMeReReloaded -**"A fork of the best authentication plugin for the Bukkit modding API!⭐"** - -[English](https://github.com/HaHaWTH/AuthMeReReloaded) | [简体中文](https://github.com/HaHaWTH/AuthMeReReloaded/blob/master/README-zh.md) - -![Graph](https://bstats.org/signatures/bukkit/AuthMeReloaded-Fork.svg) -

- Code size - GitHub repo size - CodeFactor - GitHub Downloads (all assets, all releases) - Spiget Downloads - Modrinth Downloads - Hangar Downloads -

- -**Detailed Changes:** - 1. Improved mail sending logic & support more emails - 2. Shutdown mail sending(When server is closed, email you) - 3. Legacy bug fixes - 4. Anti Ghost Player(Doubled login bug) - 5. Use the best performance method by server brand - 6. Bedrock Compatibility(Floodgate needed)(based on UUID) - 7. Update checker - 8. Integrated GUI Captcha feature(Bedrock compatibility & ProtocolLib needed)(70% Asynchronous) - 9. Improved listeners - 10. Player login logic improvement to reduce lag - 11. Automatically purge bot data - 12. **Folia support (in active testing)** - 13. Offhand Menu compatibility(Thats amazing) - 14. **Velocity support (See [Velocity Support](./vc-support.md))** - 15. Support Virtual Threads caching - 16. Automatically fix portal stuck issue - 17. Automatically login for Bedrock players(configurable) - 18. Fix shulker box crash bug on legacy versions(MC 1.13-) - 19. **H2 database support** - 20. **100% compatibility with original authme and extensions** - 21. More...... - -**Download links:** -[Releases](https://github.com/HaHaWTH/AuthMeReReloaded/releases/latest) -[Actions(Dev builds, use at your own risk!)](https://github.com/HaHaWTH/AuthMeReReloaded/actions/workflows/maven.yml) - -If you are using FRP(内网穿透) for your server, this plugin may help [HAProxy-Detector](https://github.com/HaHaWTH/HAProxy-Detector) - -**Pull Requests and suggestions are welcome!** - - - - Star History Chart - +**This branch adds Multipaper support, requires Java17 or higher** \ No newline at end of file diff --git a/pom.xml b/pom.xml index 53573e33..7c59d410 100644 --- a/pom.xml +++ b/pom.xml @@ -409,6 +409,10 @@ com.github.benmanes.caffeine fr.xephi.authme.libs.com.github.benmanes.caffeine + + com.github.puregero.multilib + fr.xephi.authme.libs.com.github.puregero.multilib + @@ -639,6 +643,12 @@ + + + clojars + https://repo.clojars.org + + dmulloy2-repo-releases @@ -1186,6 +1196,14 @@ compile + + + com.github.puregero + multilib + 1.1.13 + compile + + org.xerial diff --git a/src/main/java/fr/xephi/authme/datasource/H2.java b/src/main/java/fr/xephi/authme/datasource/H2.java index 94b28f58..161fd1c2 100644 --- a/src/main/java/fr/xephi/authme/datasource/H2.java +++ b/src/main/java/fr/xephi/authme/datasource/H2.java @@ -29,7 +29,7 @@ import static fr.xephi.authme.datasource.SqlDataSourceUtils.logSqlException; /** * H2 data source. */ -@SuppressWarnings({"checkstyle:AbbreviationAsWordInName"}) // Justification: Class name cannot be changed anymore +@SuppressWarnings({"all"}) // Justification: Class name cannot be changed anymore public class H2 extends AbstractSqlDataSource { private final ConsoleLogger logger = ConsoleLoggerFactory.get(H2.class); diff --git a/src/main/java/fr/xephi/authme/listener/ListenerService.java b/src/main/java/fr/xephi/authme/listener/ListenerService.java index 073b3975..81615d98 100644 --- a/src/main/java/fr/xephi/authme/listener/ListenerService.java +++ b/src/main/java/fr/xephi/authme/listener/ListenerService.java @@ -1,5 +1,6 @@ package fr.xephi.authme.listener; +import com.github.puregero.multilib.MultiLib; import fr.xephi.authme.AuthMe; import fr.xephi.authme.api.v3.AuthMeApi; import fr.xephi.authme.data.auth.PlayerCache; @@ -81,7 +82,11 @@ class ListenerService implements SettingsDependent { */ public boolean shouldCancelEvent(Player player) { - + if (MultiLib.isMultiPaper()) { + if (MultiLib.isExternalPlayer(player)) { + return false; + } + } return player != null && !checkAuth(player.getName()) && !PlayerUtils.isNpc(player); } public boolean shouldCancelInvEvent(Player player) {