diff --git a/.checkstyle.xml b/.checkstyle.xml
deleted file mode 100644
index 0d4cb9a251..0000000000
--- a/.checkstyle.xml
+++ /dev/null
@@ -1,203 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/.codeclimate.yml b/.codeclimate.yml
deleted file mode 100644
index 536899863d..0000000000
--- a/.codeclimate.yml
+++ /dev/null
@@ -1,44 +0,0 @@
-version: '2' # required to adjust maintainability checks
-
-plugins:
- checkstyle:
- enabled: true
- config:
- file: '.checkstyle.xml'
-
-checks:
- # We disable all the following CodeClimate checks: Checkstyle already checks for these things and has the advantage
- # that the Checkstyle config can also be used in one's IDE.
- argument-count:
- enabled: false
- complex-logic:
- enabled: false
- file-lines:
- enabled: false
- method-complexity:
- enabled: false
- method-count:
- enabled: false
- method-lines:
- enabled: false
- nested-control-flow:
- enabled: false
- return-statements:
- enabled: false
- similar-code:
- enabled: false
- # The "identical-code" check would be cool to enable since Checkstyle offers no such functionality, but it is
- # too aggressive and we'd have to suppress many reported warnings.
- identical-code:
- enabled: false
-
-exclude_patterns:
- # Exclude code from third-party sources
- - 'src/main/java/fr/xephi/authme/mail/OAuth2Provider.java'
- - 'src/main/java/fr/xephi/authme/mail/OAuth2SaslClient.java'
- - 'src/main/java/fr/xephi/authme/mail/OAuth2SaslClientFactory.java'
- - 'src/main/java/fr/xephi/authme/security/crypts/PhpBB.java'
- - 'src/main/java/fr/xephi/authme/security/crypts/Whirlpool.java'
- - 'src/main/java/fr/xephi/authme/security/crypts/Wordpress.java'
- # Don't check test classes
- - 'src/test/java/**/*Test.java'
diff --git a/.editorconfig b/.editorconfig
deleted file mode 100644
index ae800ac655..0000000000
--- a/.editorconfig
+++ /dev/null
@@ -1,13 +0,0 @@
-# Top-most EditorConfig file
-root = true
-
-# Unix-style newlines with a newline ending every file
-[*]
-end_of_line = lf
-insert_final_newline = true
-
-# Set the charset, and space indention
-[*.java]
-charset = utf-8
-indent_style = space
-indent_size = 4
diff --git a/.github/workflows/maven.yml b/.github/workflows/build.yml
similarity index 50%
rename from .github/workflows/maven.yml
rename to .github/workflows/build.yml
index 9241baade0..3a6c29beee 100644
--- a/.github/workflows/maven.yml
+++ b/.github/workflows/build.yml
@@ -1,34 +1,38 @@
-name: Java CI
+name: Plugin Build
on:
+ workflow_dispatch:
push:
pull_request:
branches:
- master
jobs:
- Build:
- strategy:
- matrix:
- jdkversion: [ 21 ]
+ build:
+ if: ${{ !contains(github.event.head_commit.message, '[skip]') }}
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@v4
- - uses: actions/setup-java@v4
+ - name: Checkout Repository
+ uses: actions/checkout@v4
+ - name: Setup Java
+ uses: actions/setup-java@v4
with:
- distribution: 'temurin'
- java-version: ${{ matrix.jdkversion }}
- cache: 'maven'
+ java-version: 21
+ distribution: temurin
+ - name: Setup Gradle
+ uses: gradle/actions/setup-gradle@v4
+ - name: Make Gradle Wrapper Executable
+ run: chmod +x ./gradlew
- name: Build
- run: mvn -V -B clean package --file pom.xml
- - name: Upload Artifacts
+ run: ./gradlew clean build
+ - name: Capture Build Artifacts
uses: actions/upload-artifact@v4
with:
- name: Download
- path: ./target/AuthMe-*-FORK-Universal.jar
+ name: Artifacts
+ path: outs/
runtime-test:
- name: Plugin Runtime Test
- needs: [Build]
+ name: Plugin Runtime Test
+ needs: [ build ]
runs-on: ubuntu-latest
strategy:
matrix:
@@ -41,11 +45,11 @@ jobs:
javaVersion: '17'
- mcVersion: '1.20.4'
javaVersion: '21'
- - mcVersion: '1.21.1'
+ - mcVersion: '1.20.6'
javaVersion: '21'
- steps:
+ steps:
- uses: HaHaWTH/minecraft-plugin-runtime-test@paper
with:
server-version: ${{ matrix.mcVersion }}
java-version: ${{ matrix.javaVersion }}
- artifact-name: Download
+ artifact-name: Artifacts
diff --git a/.gitignore b/.gitignore
index 63ea4bd9cb..350a516554 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,117 +1,16 @@
-### Java files ###
-*.class
-MANIFEST.MF
-
-# Package Files
-#*.jar
-*.war
-*.ear
-
-# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
-hs_err_pid*
-
-# Mac OS
+# Mac filesystem dust
+.DS_Store/
.DS_Store
-### Intellij ###
-# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm
-# Ignore project files
-*.iml
-*.java___jb_tmp___
-
-# Ignore IDEA directory
-.idea/*
-.idea/
-
-
-# Include the project's code style settings file
-
-# File-based project format:
-*.ipr
-*.iws
+# Linux temp files
+*~
-### Plugin-specific files: ###
# IntelliJ
-/out/
-
-# mpeltonen/sbt-idea plugin
-.idea_modules/
-
-# JIRA plugin
-atlassian-ide-plugin.xml
-
-# Crashlytics plugin (for Android Studio and IntelliJ)
-com_crashlytics_export_strings.xml
-crashlytics.properties
-crashlytics-build.properties
-
-
+*.iml
+.idea
-### Eclipse ###
-*.pydevproject
-.metadata
+# Gradle
+!gradle/wrapper/gradle-wrapper.jar
.gradle
-bin/
-tmp/
-*.tmp
-*.bak
-*.swp
-*~.nib
-local.properties
-.settings/
-.loadpath
-
-# Eclipse Core
-.project
-
-# External tool builders
-.externalToolBuilders/
-
-# Locally stored "Eclipse launch configurations"
-*.launch
-
-# CDT-specific
-.cproject
-
-# JDT-specific (Eclipse Java Development Tools)
-.classpath
-
-# PDT-specific
-.buildpath
-
-# sbteclipse plugin
-.target
-
-# TeXlipse plugin
-.texlipse
-
-
-
-### Maven ###
-target/
-pom.xml.tag
-pom.xml.releaseBackup
-pom.xml.versionsBackup
-pom.xml.next
-release.properties
-dependency-reduced-pom.xml
-buildNumber.properties
-
-
-
-### NetBeans ###
-nbproject/private/
-build/
-nbbuild/
-dist/
-nbdist/
-nbactions.xml
-nb-configuration.xml
-.nb-gradle/
-
-
-
-### Git ###
-# Don't exclude the .gitignore itself
-!.gitignore
-/samples/
+build
+outs
diff --git a/.idea/.gitignore b/.idea/.gitignore
deleted file mode 100644
index 359bb5307e..0000000000
--- a/.idea/.gitignore
+++ /dev/null
@@ -1,3 +0,0 @@
-# 默认忽略的文件
-/shelf/
-/workspace.xml
diff --git a/.idea/codeStyleSettings.xml b/.idea/codeStyleSettings.xml
deleted file mode 100644
index 71001a85cd..0000000000
--- a/.idea/codeStyleSettings.xml
+++ /dev/null
@@ -1,291 +0,0 @@
-
-
-
-
-
-
-
diff --git a/.travis.yml b/.travis.yml
deleted file mode 100644
index 7ca0e106e9..0000000000
--- a/.travis.yml
+++ /dev/null
@@ -1,35 +0,0 @@
-dist: focal
-
-language: java
-
-matrix:
- include:
- - env:
- - JDK_VERSION=8
- - env:
- - JDK_VERSION=11
- - env:
- - JDK_VERSION=17
-
-before_install:
- - "[[ -d $HOME/.sdkman/ ]] && [[ -d $HOME/.sdkman/bin/ ]] || rm -rf $HOME/.sdkman/"
- - curl -s "https://get.sdkman.io" | bash
- - mkdir -p "$HOME/.sdkman/etc/"
- - echo sdkman_auto_answer=true > "$HOME/.sdkman/etc/config"
- - echo sdkman_auto_selfupdate=true >> "$HOME/.sdkman/etc/config"
- - source "$HOME/.sdkman/bin/sdkman-init.sh"
-
-install:
- - sdk install java $(sdk list java | grep -o "$JDK_VERSION\.[0-9]*\.[0-9]*\-open" | head -1)
- - sdk install maven
- - export JAVA_HOME="$HOME/.sdkman/candidates/java/current"
- - export PATH=${JAVA_HOME}/bin:${PATH}
- - export MAVEN_HOME="$HOME/.sdkman/candidates/maven/current"
- - export M2_HOME="$MAVEN_HOME"
- - export PATH=${M2_HOME}/bin:${PATH}
- - env
- - mvn -v
-
-cache:
- directories:
- - $HOME/.m2/repository
diff --git a/README.md b/README.md
index 0e1dba5496..f02fca14e3 100644
--- a/README.md
+++ b/README.md
@@ -42,6 +42,26 @@
**Pull Requests and suggestions are welcome!**
+## Building
+
+* [Gradle](https://gradle.org/) - Dependency Management
+
+The GradleWrapper in included in this project.
+
+**Windows:**
+
+```
+gradlew.bat clean build
+```
+
+**macOS/Linux:**
+
+```
+./gradlew clean build
+```
+
+Build artifacts should be found in `./outs` folder.
+
## License
Only modifications to AuthMeReloaded is under AGPL-3.0 license, AuthMeReloaded is licensed under GPL-3.0.
diff --git a/build.gradle.kts b/build.gradle.kts
new file mode 100644
index 0000000000..cd12056527
--- /dev/null
+++ b/build.gradle.kts
@@ -0,0 +1,190 @@
+plugins {
+ `java-library`
+ `maven-publish`
+ id("com.gradleup.shadow") version "9.0.0-beta4"
+}
+
+description = "Fork of the first authentication plugin for the Bukkit API!"
+
+java {
+ withSourcesJar()
+ sourceCompatibility = JavaVersion.VERSION_1_8
+}
+
+tasks.withType {
+ options.encoding = "UTF-8"
+}
+
+repositories {
+ mavenCentral()
+ mavenLocal()
+ // PaperMC
+ maven("https://papermc.io/repo/repository/maven-public/")
+ maven("https://repo.opencollab.dev/main/")
+ maven("https://repo.opencollab.dev/maven-snapshots/")
+ maven("https://s01.oss.sonatype.org/content/repositories/snapshots/")
+ maven("https://repository.apache.org/content/repositories/snapshots/")
+ maven("https://hub.spigotmc.org/nexus/content/repositories/snapshots")
+ maven("https://repo.codemc.io/repository/maven-public/")
+ maven("https://repo.essentialsx.net/releases/")
+ maven("https://repo.dmulloy2.net/nexus/repository/releases/")
+ maven("https://repo.dmulloy2.net/nexus/repository/snapshots/")
+ maven("https://repo.onarandombox.com/multiverse-releases")
+ maven("https://jitpack.io/")
+ maven("https://repo.extendedclip.com/content/repositories/placeholderapi/")
+}
+
+dependencies {
+ // Spigot API, https://www.spigotmc.org/
+ compileOnly("org.spigotmc:spigot-api:1.20.6-R0.1-SNAPSHOT")
+ // Adventure API
+ implementation(libs.adventure.text.minimessage)
+ implementation(libs.adventure.platform.bukkit)
+ implementation(libs.adventure.text.serializer.gson)
+ // Java Libraries
+ compileOnly("org.geysermc.floodgate:api:2.2.2-SNAPSHOT")
+ // Jalu Injector
+ implementation(libs.injector)
+ // String comparison library. Used for dynamic help system.
+ implementation(libs.string.similarity)
+ // MaxMind GEO IP with our modifications to use GSON in replacement of the big Jackson dependency
+ // GSON is already included and therefore it reduces the file size in comparison to the original version
+ implementation(libs.maxmind.db.gson) {
+ exclude("com.google.code.gson", "gson")
+ }
+ // Library for tar archives
+ implementation(libs.javatar)
+ // Java Email Library
+ implementation(libs.commons.email)
+ // Log4J Logger (required by the console filter)
+ compileOnly(libs.log4j.core) // Log4J version bundled in 1.12.2
+ // Libby
+ implementation(libs.libby.bukkit)
+ // Database Connection Pool
+ implementation(libs.hikaricp) {
+ exclude("org.slf4j", "slf4j-api")
+ }
+ // HikariCP Logger
+ implementation(libs.slf4j.simple) // We can't update to 2.x as long as we use HikariCP for java 8
+ // PBKDF2 implementation
+ implementation(libs.pbkdf2)
+ // MySQL connector, shaded into the legacy jar
+ implementation(libs.mysql.connector.j)
+ implementation(libs.mariadb.java.client)
+ // Argon2 implementation
+ implementation(libs.argon2.jvm.nolibs)
+ // TOTP client
+ implementation(libs.googleauth)
+ // Keep in sync with spigot 1.19
+ implementation(libs.guava) {
+ exclude("org.checkerframework", "checker-qual")
+ }
+ implementation(libs.gson)
+ // ConfigMe
+ implementation(libs.configme) {
+ exclude("org.yaml", "snakeyaml")
+ }
+ // bStats metrics
+ implementation("org.bstats:bstats-bukkit:3.0.2")
+ // ProtocolLib
+ compileOnly("com.comphenix.protocol:ProtocolLib:5.3.0")
+ // LuckPerms plugin
+ compileOnly("net.luckperms:api:5.4")
+ // PermissionsEx plugin
+ compileOnly("ru.tehkode:PermissionsEx:1.23.5-SNAPSHOT")
+ // zPermissions plugin
+ compileOnly("org.tyrannyofheaven.bukkit:zPermissions:1.4.3-SNAPSHOT") {
+ exclude("org.avaje", "ebean")
+ }
+ // Vault, https://dev.bukkit.org/bukkit-plugins/vault/
+ compileOnly("net.milkbowl.vault:VaultAPI:1.7")
+ // Multi World plugin, https://www.spigotmc.org/resources/multiverse-core.390/
+ compileOnly("com.onarandombox.multiversecore:multiverse-core:4.3.14")
+ // EssentialsX plugin
+ compileOnly("net.essentialsx:EssentialsX:2.20.1") {
+ exclude("io.papermc", "paperlib")
+ }
+ // BCrypt implementation
+ implementation(libs.bcrypt)
+ // PlaceholderAPI
+ compileOnly("me.clip:placeholderapi:2.11.6")
+ // XAuth, another authentication plugin, required by the database converter
+ compileOnly("de.luricos.bukkit:xAuth:2.6.1-SNAPSHOT")
+ implementation(libs.datasourcecolumns)
+ implementation(libs.postgresql) {
+ exclude("org.checkerframework", "checker-qual")
+ }
+ // Required to mock the LuckPerms API
+ testImplementation(libs.checker.qual)
+ // Universal Scheduler
+ implementation(libs.universalscheduler)
+ // JDBC drivers for datasource integration tests
+ testImplementation(libs.sqlite.jdbc)
+ compileOnly(libs.h2)
+}
+
+tasks {
+ processResources {
+ filesMatching("**/*.yml") {
+ expand(project.properties)
+ }
+ }
+
+ build { dependsOn(shadowJar) }
+
+ // ShadowJar Config
+ shadowJar {
+ // Options
+ archiveFileName = "AuthMe-${project.version}.${archiveExtension.get()}"
+ destinationDirectory.set(file("$rootDir/outs"))
+ // Libraries Relocate
+ relocate("org.apache.http", "fr.xephi.authme.libs.org.apache.http")
+ relocate("org.apache.commons", "fr.xephi.authme.libs.org.apache.commons")
+ relocate("waffle", "fr.xephi.authme.libs.waffle")
+ relocate("com.github.benmanes.caffeine", "fr.xephi.authme.libs.com.github.benmanes.caffeine")
+ relocate("com.google.common", "fr.xephi.authme.libs.com.google.common")
+ relocate("com.google.thirdparty", "fr.xephi.authme.libs.com.google.thirdparty")
+ relocate("com.google.j2objc", "fr.xephi.authme.libs.com.google.j2objc")
+ relocate("com.google.errorprone", "fr.xephi.authme.libs.com.google.errorprone")
+ relocate("com.google.gson", "fr.xephi.authme.libs.com.google.gson")
+ relocate("org.apache.http", "fr.xephi.authme.libs.org.apache.http")
+ relocate("org.apache.commons", "fr.xephi.authme.libs.org.apache.commons")
+ relocate("waffle", "fr.xephi.authme.libs.waffle")
+ relocate("com.github.benmanes.caffeine", "fr.xephi.authme.libs.com.github.benmanes.caffeine")
+ relocate("ch.jalu", "fr.xephi.authme.libs.ch.jalu")
+ relocate("com.zaxxer.hikari", "fr.xephi.authme.libs.com.zaxxer.hikari")
+ relocate("org.slf4j", "fr.xephi.authme.libs.org.slf4j")
+ relocate("com.maxmind.db", "fr.xephi.authme.libs.com.maxmind.db")
+ relocate("com.ice.tar", "fr.xephi.authme.libs.com.icetar.tar")
+ relocate("net.ricecode.similarity", "fr.xephi.authme.libs.ricecode.net.ricecode.similarity")
+ relocate("de.rtner", "fr.xephi.authme.libs.de.rtner")
+ relocate("org.picketbox", "fr.xephi.authme.libs.org.picketbox")
+ relocate("org.jboss.crypto", "fr.xephi.authme.libs.org.jboss.crypto")
+ relocate("org.jboss.security", "fr.xephi.authme.libs.org.jboss.security")
+ relocate("de.mkammerer", "fr.xephi.authme.libs.de.mkammerer")
+ relocate("com.warrenstrange", "fr.xephi.authme.libs.com.warrenstrange")
+ relocate("javax.inject", "fr.xephi.authme.libs.javax.inject")
+ relocate("at.favre.lib", "fr.xephi.authme.libs.at.favre.lib")
+ relocate("org.postgresql", "fr.xephi.authme.libs.org.postgresql")
+ // bStats metrics class
+ relocate("org.bstats", "fr.xephi.authme.libs.org.bstats")
+ relocate("org.mariadb.jdbc", "fr.xephi.authme.libs.org.mariadb.jdbc")
+ relocate("com.github.Anon8281.universalScheduler", "fr.xephi.authme.libs.com.github.Anon8281.universalScheduler")
+ relocate("com.mysql", "fr.xephi.authme.libs.com.mysql")
+ relocate("com.google.protobuf", "fr.xephi.authme.libs.com.google.protobuf")
+ relocate("io.netty", "fr.xephi.authme.libs.io.netty")
+ relocate("org.apache.commons.validator", "fr.xephi.authme.libs.org.apache.commons.validator")
+ relocate("com.alessiodp.libby", "fr.xephi.authme.libs.com.alessiodp.libby")
+ relocate("net.kyori.adventure", "fr.xephi.authme.libs.net.kyori.adventure")
+ relocate("net.kyori.examination", "fr.xephi.authme.libs.net.kyori.examination")
+ relocate("net.kyori.option", "fr.xephi.authme.libs.net.kyori.option")
+ }
+}
+
+publishing {
+ publications {
+ create("maven") {
+ from(components["java"])
+ }
+ }
+}
diff --git a/gradle.properties b/gradle.properties
new file mode 100644
index 0000000000..71007ff5fe
--- /dev/null
+++ b/gradle.properties
@@ -0,0 +1,4 @@
+group=fr.xephi
+version=5.7.0-FORK-b53
+mainClass = fr.xephi.authme.AuthMe
+authors = [sgdc3, games647, Hex3l, krusic22]
diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml
new file mode 100644
index 0000000000..a5afecdc74
--- /dev/null
+++ b/gradle/libs.versions.toml
@@ -0,0 +1,56 @@
+[versions]
+adventureApi = "4.18.0"
+adventurePlatform = "4.3.4"
+injector = "1.0"
+string-similarity = "1.0.0"
+maxmind-db-gson = "2.0.3"
+javatar = "2.5"
+commons-email = "1.6-SNAPSHOT"
+log4j-core = "2.20.0"
+libby-bukkit = "2.0.0-SNAPSHOT"
+hikaricp = "4.0.3"
+slf4j-simple = "1.7.36"
+pbkdf2 = "1.1.4"
+mysql-connector-j = "9.1.0"
+mariadb-java-client = "3.5.1"
+argon2-jvm-nolibs = "2.11"
+googleauth = "1.5.0"
+guava = "33.2.1-jre"
+gson = "2.10.1"
+configme = "1.3.1"
+bcrypt = "0.10.2"
+datasourcecolumns = "0.1.1-SNAPSHOT"
+postgresql = "42.7.4"
+checker-qual = "3.48.0"
+universalscheduler = "0.1.6"
+sqlite-jdbc = "3.47.1.0"
+h2 = "2.2.224"
+
+[libraries]
+adventure-text-minimessage = { group = "net.kyori", name = "adventure-text-minimessage", version.ref = "adventureApi" }
+adventure-platform-bukkit = { group = "net.kyori", name = "adventure-platform-bukkit", version.ref = "adventurePlatform" }
+adventure-text-serializer-gson = { group = "net.kyori", name = "adventure-text-serializer-gson", version.ref = "adventureApi" }
+injector = { group = "ch.jalu", name = "injector", version.ref = "injector" }
+string-similarity = { group = "net.ricecode", name = "string-similarity", version.ref = "string-similarity" }
+maxmind-db-gson = { group = "com.maxmind.db", name = "maxmind-db-gson", version.ref = "maxmind-db-gson" }
+javatar = { group = "javatar", name = "javatar", version.ref = "javatar" }
+commons-email = { group = "org.apache.commons", name = "commons-email", version.ref = "commons-email" }
+log4j-core = { group = "org.apache.logging.log4j", name = "log4j-core", version.ref = "log4j-core" }
+libby-bukkit = { group = "com.alessiodp.libby", name = "libby-bukkit", version.ref = "libby-bukkit" }
+hikaricp = { group = "com.zaxxer", name = "HikariCP", version.ref = "hikaricp" }
+slf4j-simple = { group = "org.slf4j", name = "slf4j-simple", version.ref = "slf4j-simple" }
+pbkdf2 = { group = "de.rtner", name = "PBKDF2", version.ref = "pbkdf2" }
+mysql-connector-j = { group = "com.mysql", name = "mysql-connector-j", version.ref = "mysql-connector-j" }
+mariadb-java-client = { group = "org.mariadb.jdbc", name = "mariadb-java-client", version.ref = "mariadb-java-client" }
+argon2-jvm-nolibs = { group = "de.mkammerer", name = "argon2-jvm-nolibs", version.ref = "argon2-jvm-nolibs" }
+googleauth = { group = "com.warrenstrange", name = "googleauth", version.ref = "googleauth" }
+guava = { group = "com.google.guava", name = "guava", version.ref = "guava" }
+gson = { group = "com.google.code.gson", name = "gson", version.ref = "gson" }
+configme = { group = "ch.jalu", name = "configme", version.ref = "configme" }
+bcrypt = { group = "at.favre.lib", name = "bcrypt", version.ref = "bcrypt" }
+datasourcecolumns = { group = "ch.jalu", name = "datasourcecolumns", version.ref = "datasourcecolumns" }
+postgresql = { group = "org.postgresql", name = "postgresql", version.ref = "postgresql" }
+checker-qual = { group = "org.checkerframework", name = "checker-qual", version.ref = "checker-qual" }
+universalscheduler = { group = "com.github.Anon8281", name = "UniversalScheduler", version.ref = "universalscheduler" }
+sqlite-jdbc = { group = "org.xerial", name = "sqlite-jdbc", version.ref = "sqlite-jdbc" }
+h2 = { group = "com.h2database", name = "h2", version.ref = "h2" }
\ No newline at end of file
diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar
new file mode 100644
index 0000000000..a4b76b9530
Binary files /dev/null and b/gradle/wrapper/gradle-wrapper.jar differ
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
new file mode 100644
index 0000000000..e18bc253b8
--- /dev/null
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -0,0 +1,7 @@
+distributionBase=GRADLE_USER_HOME
+distributionPath=wrapper/dists
+distributionUrl=https\://services.gradle.org/distributions/gradle-8.12.1-bin.zip
+networkTimeout=10000
+validateDistributionUrl=true
+zipStoreBase=GRADLE_USER_HOME
+zipStorePath=wrapper/dists
diff --git a/gradlew b/gradlew
new file mode 100644
index 0000000000..f3b75f3b0d
--- /dev/null
+++ b/gradlew
@@ -0,0 +1,251 @@
+#!/bin/sh
+
+#
+# Copyright © 2015-2021 the original authors.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# https://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+#
+
+##############################################################################
+#
+# Gradle start up script for POSIX generated by Gradle.
+#
+# Important for running:
+#
+# (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is
+# noncompliant, but you have some other compliant shell such as ksh or
+# bash, then to run this script, type that shell name before the whole
+# command line, like:
+#
+# ksh Gradle
+#
+# Busybox and similar reduced shells will NOT work, because this script
+# requires all of these POSIX shell features:
+# * functions;
+# * expansions «$var», «${var}», «${var:-default}», «${var+SET}»,
+# «${var#prefix}», «${var%suffix}», and «$( cmd )»;
+# * compound commands having a testable exit status, especially «case»;
+# * various built-in commands including «command», «set», and «ulimit».
+#
+# Important for patching:
+#
+# (2) This script targets any POSIX shell, so it avoids extensions provided
+# by Bash, Ksh, etc; in particular arrays are avoided.
+#
+# The "traditional" practice of packing multiple parameters into a
+# space-separated string is a well documented source of bugs and security
+# problems, so this is (mostly) avoided, by progressively accumulating
+# options in "$@", and eventually passing that to Java.
+#
+# Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS,
+# and GRADLE_OPTS) rely on word-splitting, this is performed explicitly;
+# see the in-line comments for details.
+#
+# There are tweaks for specific operating systems such as AIX, CygWin,
+# Darwin, MinGW, and NonStop.
+#
+# (3) This script is generated from the Groovy template
+# https://github.com/gradle/gradle/blob/HEAD/platforms/jvm/plugins-application/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
+# within the Gradle project.
+#
+# You can find Gradle at https://github.com/gradle/gradle/.
+#
+##############################################################################
+
+# Attempt to set APP_HOME
+
+# Resolve links: $0 may be a link
+app_path=$0
+
+# Need this for daisy-chained symlinks.
+while
+ APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path
+ [ -h "$app_path" ]
+do
+ ls=$( ls -ld "$app_path" )
+ link=${ls#*' -> '}
+ case $link in #(
+ /*) app_path=$link ;; #(
+ *) app_path=$APP_HOME$link ;;
+ esac
+done
+
+# This is normally unused
+# shellcheck disable=SC2034
+APP_BASE_NAME=${0##*/}
+# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036)
+APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s\n' "$PWD" ) || exit
+
+# Use the maximum available, or set MAX_FD != -1 to use that value.
+MAX_FD=maximum
+
+warn () {
+ echo "$*"
+} >&2
+
+die () {
+ echo
+ echo "$*"
+ echo
+ exit 1
+} >&2
+
+# OS specific support (must be 'true' or 'false').
+cygwin=false
+msys=false
+darwin=false
+nonstop=false
+case "$( uname )" in #(
+ CYGWIN* ) cygwin=true ;; #(
+ Darwin* ) darwin=true ;; #(
+ MSYS* | MINGW* ) msys=true ;; #(
+ NONSTOP* ) nonstop=true ;;
+esac
+
+CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
+
+
+# Determine the Java command to use to start the JVM.
+if [ -n "$JAVA_HOME" ] ; then
+ if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
+ # IBM's JDK on AIX uses strange locations for the executables
+ JAVACMD=$JAVA_HOME/jre/sh/java
+ else
+ JAVACMD=$JAVA_HOME/bin/java
+ fi
+ if [ ! -x "$JAVACMD" ] ; then
+ die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
+
+Please set the JAVA_HOME variable in your environment to match the
+location of your Java installation."
+ fi
+else
+ JAVACMD=java
+ if ! command -v java >/dev/null 2>&1
+ then
+ die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
+
+Please set the JAVA_HOME variable in your environment to match the
+location of your Java installation."
+ fi
+fi
+
+# Increase the maximum file descriptors if we can.
+if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then
+ case $MAX_FD in #(
+ max*)
+ # In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked.
+ # shellcheck disable=SC2039,SC3045
+ MAX_FD=$( ulimit -H -n ) ||
+ warn "Could not query maximum file descriptor limit"
+ esac
+ case $MAX_FD in #(
+ '' | soft) :;; #(
+ *)
+ # In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked.
+ # shellcheck disable=SC2039,SC3045
+ ulimit -n "$MAX_FD" ||
+ warn "Could not set maximum file descriptor limit to $MAX_FD"
+ esac
+fi
+
+# Collect all arguments for the java command, stacking in reverse order:
+# * args from the command line
+# * the main class name
+# * -classpath
+# * -D...appname settings
+# * --module-path (only if needed)
+# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables.
+
+# For Cygwin or MSYS, switch paths to Windows format before running java
+if "$cygwin" || "$msys" ; then
+ APP_HOME=$( cygpath --path --mixed "$APP_HOME" )
+ CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" )
+
+ JAVACMD=$( cygpath --unix "$JAVACMD" )
+
+ # Now convert the arguments - kludge to limit ourselves to /bin/sh
+ for arg do
+ if
+ case $arg in #(
+ -*) false ;; # don't mess with options #(
+ /?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath
+ [ -e "$t" ] ;; #(
+ *) false ;;
+ esac
+ then
+ arg=$( cygpath --path --ignore --mixed "$arg" )
+ fi
+ # Roll the args list around exactly as many times as the number of
+ # args, so each arg winds up back in the position where it started, but
+ # possibly modified.
+ #
+ # NB: a `for` loop captures its iteration list before it begins, so
+ # changing the positional parameters here affects neither the number of
+ # iterations, nor the values presented in `arg`.
+ shift # remove old arg
+ set -- "$@" "$arg" # push replacement arg
+ done
+fi
+
+
+# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
+DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
+
+# Collect all arguments for the java command:
+# * DEFAULT_JVM_OPTS, JAVA_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments,
+# and any embedded shellness will be escaped.
+# * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be
+# treated as '${Hostname}' itself on the command line.
+
+set -- \
+ "-Dorg.gradle.appname=$APP_BASE_NAME" \
+ -classpath "$CLASSPATH" \
+ org.gradle.wrapper.GradleWrapperMain \
+ "$@"
+
+# Stop when "xargs" is not available.
+if ! command -v xargs >/dev/null 2>&1
+then
+ die "xargs is not available"
+fi
+
+# Use "xargs" to parse quoted args.
+#
+# With -n1 it outputs one arg per line, with the quotes and backslashes removed.
+#
+# In Bash we could simply go:
+#
+# readarray ARGS < <( xargs -n1 <<<"$var" ) &&
+# set -- "${ARGS[@]}" "$@"
+#
+# but POSIX shell has neither arrays nor command substitution, so instead we
+# post-process each arg (as a line of input to sed) to backslash-escape any
+# character that might be a shell metacharacter, then use eval to reverse
+# that process (while maintaining the separation between arguments), and wrap
+# the whole thing up as a single "set" statement.
+#
+# This will of course break if any of these variables contains a newline or
+# an unmatched quote.
+#
+
+eval "set -- $(
+ printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" |
+ xargs -n1 |
+ sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' |
+ tr '\n' ' '
+ )" '"$@"'
+
+exec "$JAVACMD" "$@"
diff --git a/gradlew.bat b/gradlew.bat
new file mode 100644
index 0000000000..9d21a21834
--- /dev/null
+++ b/gradlew.bat
@@ -0,0 +1,94 @@
+@rem
+@rem Copyright 2015 the original author or authors.
+@rem
+@rem Licensed under the Apache License, Version 2.0 (the "License");
+@rem you may not use this file except in compliance with the License.
+@rem You may obtain a copy of the License at
+@rem
+@rem https://www.apache.org/licenses/LICENSE-2.0
+@rem
+@rem Unless required by applicable law or agreed to in writing, software
+@rem distributed under the License is distributed on an "AS IS" BASIS,
+@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+@rem See the License for the specific language governing permissions and
+@rem limitations under the License.
+@rem
+@rem SPDX-License-Identifier: Apache-2.0
+@rem
+
+@if "%DEBUG%"=="" @echo off
+@rem ##########################################################################
+@rem
+@rem Gradle startup script for Windows
+@rem
+@rem ##########################################################################
+
+@rem Set local scope for the variables with windows NT shell
+if "%OS%"=="Windows_NT" setlocal
+
+set DIRNAME=%~dp0
+if "%DIRNAME%"=="" set DIRNAME=.
+@rem This is normally unused
+set APP_BASE_NAME=%~n0
+set APP_HOME=%DIRNAME%
+
+@rem Resolve any "." and ".." in APP_HOME to make it shorter.
+for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi
+
+@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
+set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m"
+
+@rem Find java.exe
+if defined JAVA_HOME goto findJavaFromJavaHome
+
+set JAVA_EXE=java.exe
+%JAVA_EXE% -version >NUL 2>&1
+if %ERRORLEVEL% equ 0 goto execute
+
+echo. 1>&2
+echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 1>&2
+echo. 1>&2
+echo Please set the JAVA_HOME variable in your environment to match the 1>&2
+echo location of your Java installation. 1>&2
+
+goto fail
+
+:findJavaFromJavaHome
+set JAVA_HOME=%JAVA_HOME:"=%
+set JAVA_EXE=%JAVA_HOME%/bin/java.exe
+
+if exist "%JAVA_EXE%" goto execute
+
+echo. 1>&2
+echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 1>&2
+echo. 1>&2
+echo Please set the JAVA_HOME variable in your environment to match the 1>&2
+echo location of your Java installation. 1>&2
+
+goto fail
+
+:execute
+@rem Setup the command line
+
+set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
+
+
+@rem Execute Gradle
+"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %*
+
+:end
+@rem End local scope for the variables with windows NT shell
+if %ERRORLEVEL% equ 0 goto mainEnd
+
+:fail
+rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
+rem the _cmd.exe /c_ return code!
+set EXIT_CODE=%ERRORLEVEL%
+if %EXIT_CODE% equ 0 set EXIT_CODE=1
+if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE%
+exit /b %EXIT_CODE%
+
+:mainEnd
+if "%OS%"=="Windows_NT" endlocal
+
+:omega
diff --git a/pom.xml b/pom.xml
deleted file mode 100644
index 31343c8fb4..0000000000
--- a/pom.xml
+++ /dev/null
@@ -1,1157 +0,0 @@
-
-
- 4.0.0
-
- fr.xephi
- authme
- 5.7.0-FORK
-
- AuthMeReReloaded
- Fork of the first authentication plugin for the Bukkit API!
- 2013
- https://github.com/AuthMe/AuthMeReloaded
-
-
- AuthMe-Team
- https://github.com/AuthMe
-
-
-
- scm:git:https://github.com/AuthMe/AuthMeReloaded.git
- scm:git:git@github.com:AuthMe/AuthMeReloaded.git
- https://github.com/AuthMe/AuthMeReloaded
-
-
-
- jenkins
- https://ci.codemc.io/job/AuthMe/job/AuthMeReloaded/
-
-
-
- GitHub
- https://github.com/AuthMe/AuthMeReloaded/issues
-
-
-
-
- codemc-snapshots
- https://repo.codemc.io/repository/maven-snapshots/
-
-
- codemc-releases
- https://repo.codemc.io/repository/maven-releases/
-
-
-
-
-
- The GNU Public Licence version 3 (GPLv3)
- https://www.gnu.org/licenses/gpl-3.0.html
- repo
-
-
-
-
-
- false
-
-
- UTF-8
- UTF-8
- 1.8
- 1.8
- 8
- 11
- 3.6.3
-
-
- 1.21.1-R0.1-SNAPSHOT
-
-
- AuthMe
- 28
- ${project.version}-b${project.buildNumber}
- ${project.outputName}-${project.version}
-
-
- ${project.outputName}
- ${project.versionCode}
- ${project.groupId}.${project.artifactId}.${pluginDescription.name}
- sgdc3, games647, Hex3l, krusic22
-
-
-
-
- clean package
-
- ${project.finalNameBase}-noshade
-
-
- .
- false
-
- LICENSE
-
-
-
- src/main/resources/
- true
-
-
- src/main/resources/messages/
- ./messages/
- false
-
-
-
-
-
-
- org.apache.maven.plugins
- maven-javadoc-plugin
- 3.11.1
-
- false
- false
- true
-
-
-
-
-
-
-
-
- org.apache.maven.plugins
- maven-enforcer-plugin
- 3.5.0
-
-
- enforce-environment
-
- enforce
-
-
-
-
- ${maven.minimumVersion}
-
-
- [17,)
-
-
- true
-
-
-
-
-
-
- org.apache.maven.plugins
- maven-clean-plugin
- 3.4.0
-
-
-
- org.apache.maven.plugins
- maven-resources-plugin
- 3.3.1
-
-
- mmdb
-
-
-
-
-
- org.apache.maven.plugins
- maven-compiler-plugin
- 3.13.0
-
- ${java.source}
- ${java.target}
- ${java.apiVersion}
-
-
-
-
- org.jacoco
- jacoco-maven-plugin
- 0.8.12
-
-
- pre-unit-test
-
- prepare-agent
-
-
-
- post-unit-test
-
- report
-
-
-
-
-
-
- org.apache.maven.plugins
- maven-jar-plugin
- 3.4.2
-
-
-
- mojang
-
-
-
-
-
-
- org.apache.maven.plugins
- maven-javadoc-plugin
-
- ${project.finalNameBase}
-
- 8
-
-
-
- attach-javadoc
-
- jar
-
-
-
-
-
-
- org.apache.maven.plugins
- maven-source-plugin
- 3.3.1
-
- ${project.finalNameBase}
-
-
-
- attach-sources
-
- jar
-
-
-
-
-
-
- org.apache.maven.plugins
- maven-shade-plugin
- 3.6.0
-
-
- shaded-jar
- package
-
- shade
-
-
- ${project.finalNameBase}-Lite
-
-
-
- com.google.guava:guava
- com.google.guava:failureaccess
- com.google.guava:listenablefuture
- com.google.errorprone:error_prone_annotations
- com.google.j2objc:j2objc-annotations
-
- com.google.code.gson:gson
-
-
-
-
- org.apache.http
- fr.xephi.authme.libs.org.apache.http
-
-
- org.apache.commons
- fr.xephi.authme.libs.org.apache.commons
-
-
- waffle
- fr.xephi.authme.libs.waffle
-
-
- com.github.benmanes.caffeine
- fr.xephi.authme.libs.com.github.benmanes.caffeine
-
-
-
-
- *:*
-
- META-INF/*.SF
- META-INF/*.DSA
- META-INF/*.RSA
-
-
-
-
-
-
- shaded-jar-relocate
- package
-
- shade
-
-
- ${project.finalNameBase}-Universal
-
-
- com.google.common
- fr.xephi.authme.libs.com.google.common
-
-
- com.google.thirdparty
- fr.xephi.authme.libs.com.google.thirdparty
-
-
- com.google.j2objc
- fr.xephi.authme.libs.com.google.j2objc
-
-
- com.google.errorprone
- fr.xephi.authme.libs.com.google.errorprone
-
-
- com.google.gson
- fr.xephi.authme.libs.com.google.gson
-
-
- org.apache.http
- fr.xephi.authme.libs.org.apache.http
-
-
- org.apache.commons
- fr.xephi.authme.libs.org.apache.commons
-
-
- waffle
- fr.xephi.authme.libs.waffle
-
-
- com.github.benmanes.caffeine
- fr.xephi.authme.libs.com.github.benmanes.caffeine
-
-
-
-
-
-
-
- false
-
- true
-
- ${project.finalNameBase}
-
-
-
-
- ch.jalu
- fr.xephi.authme.libs.ch.jalu
-
-
- com.zaxxer.hikari
- fr.xephi.authme.libs.com.zaxxer.hikari
-
-
- org.slf4j
- fr.xephi.authme.libs.org.slf4j
-
-
- com.maxmind.db
- fr.xephi.authme.libs.com.maxmind.db
-
-
- com.ice.tar
- fr.xephi.authme.libs.com.icetar.tar
-
-
- net.ricecode.similarity
- fr.xephi.authme.libs.ricecode.net.ricecode.similarity
-
-
- de.rtner
- fr.xephi.authme.libs.de.rtner
-
-
- org.picketbox
- fr.xephi.authme.libs.org.picketbox
-
-
- org.jboss.crypto
- fr.xephi.authme.libs.org.jboss.crypto
-
-
- org.jboss.security
- fr.xephi.authme.libs.org.jboss.security
-
-
- de.mkammerer
- fr.xephi.authme.libs.de.mkammerer
-
-
- com.warrenstrange
- fr.xephi.authme.libs.com.warrenstrange
-
-
- javax.inject
- fr.xephi.authme.libs.javax.inject
-
-
- at.favre.lib
- fr.xephi.authme.libs.at.favre.lib
-
-
- org.postgresql
- fr.xephi.authme.libs.org.postgresql
-
-
-
- org.bstats
- fr.xephi.authme.libs.org.bstats
-
-
- org.mariadb.jdbc
- fr.xephi.authme.libs.org.mariadb.jdbc
-
-
- com.github.Anon8281.universalScheduler
- fr.xephi.authme.libs.com.github.Anon8281.universalScheduler
-
-
- com.mysql
- fr.xephi.authme.libs.com.mysql
-
-
- com.google.protobuf
- fr.xephi.authme.libs.com.google.protobuf
-
-
- io.netty
- fr.xephi.authme.libs.io.netty
-
-
- org.apache.commons.validator
- fr.xephi.authme.libs.org.apache.commons.validator
-
-
- com.alessiodp.libby
- fr.xephi.authme.libs.com.alessiodp.libby
-
-
- net.kyori.adventure
- fr.xephi.authme.libs.net.kyori.adventure
-
-
- net.kyori.examination
- fr.xephi.authme.libs.net.kyori.examination
-
-
- net.kyori.option
- fr.xephi.authme.libs.net.kyori.option
-
-
-
-
-
-
-
- *:*
-
- META-INF/*.SF
- META-INF/*.DSA
- META-INF/*.RSA
- META-INF/*.RSA
- META-INF/DEPENDENCIES
- META-INF/**/module-info.class
-
-
-
-
-
-
-
- false
-
-
-
-
-
-
-
- org.apache.maven.plugins
- maven-install-plugin
- 3.1.3
-
-
-
- org.apache.maven.plugins
- maven-deploy-plugin
- 3.1.3
-
-
-
- org.apache.maven.plugins
- maven-site-plugin
- 3.21.0
-
-
-
- org.eluder.coveralls
- coveralls-maven-plugin
- 4.3.0
-
-
- false
-
-
-
- javax.xml.bind
- jaxb-api
- 2.3.1
-
-
-
-
-
-
-
-
- opencollab-snapshot-main
- https://repo.opencollab.dev/main/
-
-
- opencollab-maven-snapshots
- https://repo.opencollab.dev/maven-snapshots/
-
-
-
-
- sonatype-oss-snapshots1
- https://s01.oss.sonatype.org/content/repositories/snapshots/
-
-
-
-
- apache-snapshots
- https://repository.apache.org/content/repositories/snapshots/
-
- false
-
-
- true
-
-
-
-
-
- spigotmc-repo
- https://hub.spigotmc.org/nexus/content/repositories/snapshots
-
- false
-
-
- true
-
-
-
-
-
- codemc-repo
- https://repo.codemc.io/repository/maven-public/
-
- true
-
-
- true
-
-
-
-
-
- essentialsx-repo
- https://repo.essentialsx.net/releases/
-
- true
-
-
- true
-
-
-
-
-
- dmulloy2-repo-releases
- https://repo.dmulloy2.net/nexus/repository/releases/
-
- true
-
-
- false
-
-
-
- dmulloy2-repo-snapshots
- https://repo.dmulloy2.net/nexus/repository/snapshots/
-
- false
-
-
- true
-
-
-
-
-
- maven-snapshots
- https://s01.oss.sonatype.org/content/repositories/snapshots/
-
-
-
-
- placeholderapi-repo
- https://repo.extendedclip.com/content/repositories/placeholderapi/
-
-
-
-
- multiverse-multiverse-releases
- Multiverse Repository
- https://repo.onarandombox.com/multiverse-releases
-
- true
-
-
- false
-
-
-
-
- opencollab-snapshot
- https://repo.opencollab.dev/maven-snapshots/
-
- false
-
-
- true
-
-
-
- jitpack
- https://jitpack.io/
-
- true
-
-
- false
-
-
-
-
-
-
-
- org.geysermc.floodgate
- api
- 2.2.2-SNAPSHOT
- provided
-
-
-
-
- ch.jalu
- injector
- 1.0
- true
-
-
-
-
- net.ricecode
- string-similarity
- 1.0.0
- true
-
-
-
-
-
- com.maxmind.db
- maxmind-db-gson
- 2.0.3
- true
-
-
- com.google.code.gson
- gson
-
-
-
-
-
-
- javatar
- javatar
- 2.5
- true
-
-
-
-
- org.apache.commons
- commons-email
- 1.6-SNAPSHOT
- true
-
-
-
-
- org.apache.logging.log4j
- log4j-core
- 2.20.0
- provided
-
-
-
-
- com.alessiodp.libby
- libby-bukkit
- 2.0.0-SNAPSHOT
- compile
-
-
-
-
- com.zaxxer
- HikariCP
- 4.0.3
- true
-
-
- slf4j-api
- org.slf4j
-
-
-
-
-
- org.slf4j
- slf4j-simple
- 1.7.36
- true
-
-
-
-
- de.rtner
- PBKDF2
- 1.1.4
- true
-
-
-
-
- com.mysql
- mysql-connector-j
- 8.0.33
- true
-
-
- org.mariadb.jdbc
- mariadb-java-client
- 3.3.3
- true
-
-
-
-
- de.mkammerer
- argon2-jvm-nolibs
- 2.11
- true
-
-
-
-
- com.warrenstrange
- googleauth
- 1.5.0
- true
-
-
-
-
- org.spigotmc
- spigot-api
- ${spigot.version}
- provided
-
-
- junit
- junit
-
-
- com.googlecode.json-simple
- json-simple
-
-
-
-
-
- com.google.guava
- guava
- 31.1-jre
- true
-
-
- org.checkerframework
- checker-qual
-
-
-
-
-
- com.google.code.gson
- gson
- 2.10.1
- true
-
-
-
-
- ch.jalu
- configme
- 1.3.1
- true
-
-
- org.yaml
- snakeyaml
-
-
-
-
-
-
- org.bstats
- bstats-bukkit
- 3.0.2
- true
-
-
-
-
- com.comphenix.protocol
- ProtocolLib
- 5.1.0
- provided
-
-
- cglib-nodep
- cglib
-
-
- BukkitExecutors
- com.comphenix.executors
-
-
- byte-buddy
- net.bytebuddy
-
-
-
-
-
-
- net.kyori
- adventure-text-minimessage
- 4.17.0
-
-
- net.kyori
- adventure-platform-bukkit
- 4.3.4
-
-
- net.kyori
- adventure-text-serializer-gson
- 4.17.0
-
-
-
-
- net.luckperms
- api
- 5.4
- provided
-
-
-
-
- ru.tehkode
- PermissionsEx
- 1.23.5-SNAPSHOT
- provided
-
-
- commons-dbcp
- commons-dbcp
-
-
- accounts-client
- com.mojang
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- org.tyrannyofheaven.bukkit
- zPermissions
- 1.4.3-SNAPSHOT
- provided
-
-
- org.avaje
- ebean
-
-
-
-
-
-
- net.milkbowl.vault
- VaultAPI
- 1.7
- provided
-
-
- org.bukkit
- bukkit
-
-
- org.bukkit
- craftbukkit
-
-
-
-
-
-
- com.onarandombox.multiversecore
- multiverse-core
- 4.3.14
- jar
- provided
-
-
- org.bukkit
- bukkit
-
-
- org.bukkit
- craftbukkit
-
-
- AllPay
- com.fernferret.allpay
-
-
- Vault
- net.milkbowl.vault
-
-
- VaultAPI
- net.milkbowl.vault
-
-
- CommandHandler
- com.pneumaticraft.commandhandler
-
-
- SerializationConfig
- me.main__.util
-
-
- Logging
- com.dumptruckman.minecraft
-
-
- metrics
- org.mcstats.bukkit
-
-
- buscript
- com.dumptruckman.minecraft
-
-
- junit
- junit
-
-
- spigot-api
- org.spigotmc
-
-
- jettison
- org.codehaus.jettison
-
-
-
-
-
-
- me.clip
- placeholderapi
- 2.11.6
- provided
-
-
-
-
- net.essentialsx
- EssentialsX
- 2.20.1
- provided
-
-
- io.papermc
- paperlib
-
-
- org.bstats
- bstats-bukkit
-
-
- net.essentialsx
- BaseProviders
-
-
- net.essentialsx
- PaperProvider
-
-
- net.essentialsx
- NMSReflectionProvider
-
-
- net.essentialsx
- 1_8Provider
-
-
- net.essentialsx
- 1_12Provider
-
-
- org.spigotmc
- spigot-api
-
-
- org.spongepowered
- configurate-yaml
-
-
- org.checkerframework
- checker-qual
-
-
-
-
-
-
- at.favre.lib
- bcrypt
- 0.10.2
- true
-
-
-
-
- de.luricos.bukkit
- xAuth
- 2.6.1-SNAPSHOT
- provided
-
-
-
- ch.jalu
- datasourcecolumns
- 0.1.1-SNAPSHOT
- true
-
-
-
- org.postgresql
- postgresql
- 42.7.3
- true
-
-
- org.checkerframework
- checker-qual
-
-
-
-
-
-
- org.checkerframework
- checker-qual
- 3.48.0
- test
-
-
-
-
- com.github.Anon8281
- UniversalScheduler
- 0.1.6
- compile
-
-
-
-
- org.xerial
- sqlite-jdbc
- 3.47.1.0
- test
-
-
- com.h2database
- h2
- 2.2.224
- provided
-
-
-
-
diff --git a/settings.gradle.kts b/settings.gradle.kts
new file mode 100644
index 0000000000..36cb024432
--- /dev/null
+++ b/settings.gradle.kts
@@ -0,0 +1 @@
+rootProject.name = "AuthMeReReloaded"
diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml
index 7203312c3f..86cc32dba3 100644
--- a/src/main/resources/plugin.yml
+++ b/src/main/resources/plugin.yml
@@ -1,13 +1,13 @@
# noinspection YAMLSchemaValidation
-name: ${pluginDescription.name}
+name: ${project.name}
# noinspection YAMLSchemaValidation
-authors: [${pluginDescription.authors}]
+authors: ${project.authors}
website: https://github.com/HaHaWTH/AuthMeReReloaded/
-description: A fork of AuthMeReloaded that contains bug fixes
+description: ${project.description}
# noinspection YAMLSchemaValidation
-main: ${pluginDescription.main}
+main: ${project.mainClass}
folia-supported: true
-version: 5.7.0-FORK-b53
+version: ${project.version}
api-version: 1.13
softdepend:
- Vault