From 41afb86631d82d4f210923134bb250b7cfd886d2 Mon Sep 17 00:00:00 2001 From: "version-bump[github-action]" <41898282+version-bump[github-action]@users.noreply.github.com> Date: Tue, 4 Mar 2025 19:50:08 +0000 Subject: [PATCH 01/42] Bump version from 1.3.17 to 1.3.17-SNAPSHOT0 --- gradle.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle.properties b/gradle.properties index df931504..e030e6e1 100644 --- a/gradle.properties +++ b/gradle.properties @@ -16,4 +16,4 @@ # along with this program. If not, see . # group=plugily.projects -version=1.3.17 +version=1.3.17-SNAPSHOT0 From 4dc7800600ff3619d86b173a2401eb5bf794ae83 Mon Sep 17 00:00:00 2001 From: Tigerpanzer_02 <37453987+Tigerpanzer02@users.noreply.github.com> Date: Tue, 4 Mar 2025 22:40:46 +0100 Subject: [PATCH 02/42] Fixed scoreboard on FUll Game is showing waiting stage instead of starting --- .github/CHANGELOG.md | 7 +++++-- .../classic/arena/managers/PluginScoreboardManager.java | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/.github/CHANGELOG.md b/.github/CHANGELOG.md index 0159b10d..f0336436 100644 --- a/.github/CHANGELOG.md +++ b/.github/CHANGELOG.md @@ -1,4 +1,7 @@ -### 1.3.16 Release (04.03.2025) +### 1.3.18 Release (xx.03.2025) +* Fixed scoreboard on FUll Game is showing waiting stage instead of starting + +### 1.3.17 Release (04.03.2025) * Changed Scoreboard API (now paket based) (Thanks MrMicky-FR FastBoard) * Changed Scoreboard on lower 1.12.2 now supports 30 chars * Changed Scoreboard on 1.13+ now supports unlimited chars @@ -9,7 +12,7 @@ * Fixed Progress must be between 0 and 1 * Fixed ItemBuilder.glowEffect -### (1.3.11-)1.3.15 Release (17.02.2025) +### (1.3.11-)1.3.16 Release (17.02.2025) * Added 1.21.1-4 support * Added (3) new ConfigOptions for ArmorStands (BLOCK_IN_GAME_ARMOR_STAND_DESTROY, BLOCK_IN_GAME_ARMOR_STAND_CHECK, BLOCK_IN_GAME_ARMOR_STAND_INTERACT) * Fixed arena start time divider did not match from config.yml diff --git a/MiniGamesBox Classic/src/main/java/plugily/projects/minigamesbox/classic/arena/managers/PluginScoreboardManager.java b/MiniGamesBox Classic/src/main/java/plugily/projects/minigamesbox/classic/arena/managers/PluginScoreboardManager.java index 6b910e3b..0bf6fcd8 100644 --- a/MiniGamesBox Classic/src/main/java/plugily/projects/minigamesbox/classic/arena/managers/PluginScoreboardManager.java +++ b/MiniGamesBox Classic/src/main/java/plugily/projects/minigamesbox/classic/arena/managers/PluginScoreboardManager.java @@ -94,7 +94,7 @@ public void stopAllScoreboards() { @Override public List getScoreboardLines() { - return new ArrayList<>(plugin.getLanguageManager().getLanguageList(arena.getArenaState() == IArenaState.FULL_GAME ? "Scoreboard.Content.Waiting" + return new ArrayList<>(plugin.getLanguageManager().getLanguageList(arena.getArenaState() == IArenaState.FULL_GAME ? "Scoreboard.Content.Starting" : "Scoreboard.Content." + arena.getArenaState().getFormattedName())); } From 5e127dc1aa42983e43376b2767e43e1d69145dd1 Mon Sep 17 00:00:00 2001 From: "version-bump[github-action]" <41898282+version-bump[github-action]@users.noreply.github.com> Date: Tue, 4 Mar 2025 21:41:16 +0000 Subject: [PATCH 03/42] Bump version from 1.3.17-SNAPSHOT0 to 1.3.17-SNAPSHOT1 --- gradle.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle.properties b/gradle.properties index e030e6e1..00010959 100644 --- a/gradle.properties +++ b/gradle.properties @@ -16,4 +16,4 @@ # along with this program. If not, see . # group=plugily.projects -version=1.3.17-SNAPSHOT0 +version=1.3.17-SNAPSHOT1 From e8feb0261f8caf650c53a7dc60bc2def3ca20327 Mon Sep 17 00:00:00 2001 From: Tigerpanzer_02 <37453987+Tigerpanzer02@users.noreply.github.com> Date: Tue, 4 Mar 2025 23:13:52 +0100 Subject: [PATCH 04/42] Fixed leaving while full game stopped the game --- .github/CHANGELOG.md | 1 + .../projects/minigamesbox/classic/arena/PluginArenaManager.java | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/CHANGELOG.md b/.github/CHANGELOG.md index f0336436..0aca5cd2 100644 --- a/.github/CHANGELOG.md +++ b/.github/CHANGELOG.md @@ -1,5 +1,6 @@ ### 1.3.18 Release (xx.03.2025) * Fixed scoreboard on FUll Game is showing waiting stage instead of starting +* Fixed leaving while full game stopped the game ### 1.3.17 Release (04.03.2025) * Changed Scoreboard API (now paket based) (Thanks MrMicky-FR FastBoard) diff --git a/MiniGamesBox Classic/src/main/java/plugily/projects/minigamesbox/classic/arena/PluginArenaManager.java b/MiniGamesBox Classic/src/main/java/plugily/projects/minigamesbox/classic/arena/PluginArenaManager.java index 6d5ed2ab..83219702 100644 --- a/MiniGamesBox Classic/src/main/java/plugily/projects/minigamesbox/classic/arena/PluginArenaManager.java +++ b/MiniGamesBox Classic/src/main/java/plugily/projects/minigamesbox/classic/arena/PluginArenaManager.java @@ -240,7 +240,7 @@ public void leaveAttempt(@NotNull Player player, @NotNull IPluginArena arena) { IUser user = plugin.getUserManager().getUser(player); if(!user.isSpectator()) { - if(arena.getArenaState() != IArenaState.WAITING_FOR_PLAYERS && arena.getArenaState() != IArenaState.STARTING && arena.getPlayers().isEmpty()) { + if(arena.getArenaState() != IArenaState.FULL_GAME && arena.getArenaState() != IArenaState.WAITING_FOR_PLAYERS && arena.getArenaState() != IArenaState.STARTING && arena.getPlayers().isEmpty()) { stopGame(true, arena); plugin.getDebugger().debug(Level.INFO, "[{0}] Game stopped due to lack of players", arena.getId()); } From 0eef54a85f6e0a243f1f21be89b66d1c1f624c11 Mon Sep 17 00:00:00 2001 From: "version-bump[github-action]" <41898282+version-bump[github-action]@users.noreply.github.com> Date: Tue, 4 Mar 2025 22:14:24 +0000 Subject: [PATCH 05/42] Bump version from 1.3.17-SNAPSHOT1 to 1.3.17-SNAPSHOT2 --- gradle.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle.properties b/gradle.properties index 00010959..6f753a54 100644 --- a/gradle.properties +++ b/gradle.properties @@ -16,4 +16,4 @@ # along with this program. If not, see . # group=plugily.projects -version=1.3.17-SNAPSHOT1 +version=1.3.17-SNAPSHOT2 From 327153ff8d881d4317ec2d8cfe40ffd60543d9a4 Mon Sep 17 00:00:00 2001 From: Tigerpanzer_02 <37453987+Tigerpanzer02@users.noreply.github.com> Date: Wed, 12 Mar 2025 18:54:54 +0100 Subject: [PATCH 06/42] Attempt to switch to java 8 --- .../gradle/api}/build.gradle.kts | 0 .github/gradle/buildSrc/build.gradle.kts | 28 ++ .../PlugilyProjectsJavaConventionsPlugin.java | 45 ++++ .../metadata.bin | Bin 0 -> 1 bytes .../metadata.bin | Bin 0 -> 2 bytes ...ugily.projects.java-conventions.properties | 1 + ...ugily.projects.java-conventions.properties | 1 + .../compileJava/previous-compilation-data.bin | Bin 0 -> 84348 bytes .../gradle/buildSrc/build/tmp/jar/MANIFEST.MF | 2 + .../plugily.projects.java-conventions.gradle | 96 +++++++ .../gradle/classic}/build.gradle.kts | 0 .../gradle/database}/build.gradle.kts | 0 .../gradle/gradle.properties | 0 gradlew => .github/gradle/gradlew | 0 gradlew.bat => .github/gradle/gradlew.bat | 0 .../gradle/inventory}/build.gradle.kts | 0 .../gradle/settings.gradle.kts | 0 .../gradle/utils}/build.gradle.kts | 0 .github/maven/api/pom.xml | 2 +- .github/maven/classic/pom.xml | 2 +- .github/maven/database/pom.xml | 2 +- .github/maven/inventory/pom.xml | 2 +- .github/maven/pom.xml | 2 +- .github/maven/utils/pom.xml | 2 +- .github/workflows/deploy-development.yml | 27 +- MiniGamesBox API/pom.xml | 100 +++++++ MiniGamesBox Classic/pom.xml | 251 ++++++++++++++++++ MiniGamesBox Database/pom.xml | 71 +++++ MiniGamesBox Inventory/pom.xml | 96 +++++++ MiniGamesBox Utils/pom.xml | 58 ++++ pom.xml | 164 ++++++++++++ 31 files changed, 939 insertions(+), 13 deletions(-) rename {MiniGamesBox API => .github/gradle/api}/build.gradle.kts (100%) create mode 100644 .github/gradle/buildSrc/build.gradle.kts create mode 100644 .github/gradle/buildSrc/build/groovy-dsl-plugins/output/adapter-src/PlugilyProjectsJavaConventionsPlugin.java create mode 100644 .github/gradle/buildSrc/build/groovy-dsl-plugins/output/plugin-requests/plugily.projects.java-conventions/metadata.bin create mode 100644 .github/gradle/buildSrc/build/groovy-dsl-plugins/work/metadata/plugily.projects.java-conventions/metadata.bin create mode 100644 .github/gradle/buildSrc/build/pluginDescriptors/plugily.projects.java-conventions.properties create mode 100644 .github/gradle/buildSrc/build/resources/main/META-INF/gradle-plugins/plugily.projects.java-conventions.properties create mode 100644 .github/gradle/buildSrc/build/tmp/compileJava/previous-compilation-data.bin create mode 100644 .github/gradle/buildSrc/build/tmp/jar/MANIFEST.MF create mode 100644 .github/gradle/buildSrc/src/main/groovy/plugily.projects.java-conventions.gradle rename {MiniGamesBox Classic => .github/gradle/classic}/build.gradle.kts (100%) rename {MiniGamesBox Database => .github/gradle/database}/build.gradle.kts (100%) rename gradle.properties => .github/gradle/gradle.properties (100%) rename gradlew => .github/gradle/gradlew (100%) rename gradlew.bat => .github/gradle/gradlew.bat (100%) rename {MiniGamesBox Inventory => .github/gradle/inventory}/build.gradle.kts (100%) rename settings.gradle.kts => .github/gradle/settings.gradle.kts (100%) rename {MiniGamesBox Utils => .github/gradle/utils}/build.gradle.kts (100%) create mode 100644 MiniGamesBox API/pom.xml create mode 100644 MiniGamesBox Classic/pom.xml create mode 100644 MiniGamesBox Database/pom.xml create mode 100644 MiniGamesBox Inventory/pom.xml create mode 100644 MiniGamesBox Utils/pom.xml create mode 100644 pom.xml diff --git a/MiniGamesBox API/build.gradle.kts b/.github/gradle/api/build.gradle.kts similarity index 100% rename from MiniGamesBox API/build.gradle.kts rename to .github/gradle/api/build.gradle.kts diff --git a/.github/gradle/buildSrc/build.gradle.kts b/.github/gradle/buildSrc/build.gradle.kts new file mode 100644 index 00000000..9a9b29cf --- /dev/null +++ b/.github/gradle/buildSrc/build.gradle.kts @@ -0,0 +1,28 @@ +/* + * MiniGamesBox - Library box with massive content that could be seen as minigames core. + * Copyright (C) 2023 Plugily Projects - maintained by Tigerpanzer_02 and contributors + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +plugins { + // Support convention plugins written in Groovy. Convention plugins are build scripts in 'src/main' that automatically become available as plugins in the main build. + id("groovy-gradle-plugin") +} + +repositories { + // Use the plugin portal to apply community plugins in convention plugins. + gradlePluginPortal() +} + diff --git a/.github/gradle/buildSrc/build/groovy-dsl-plugins/output/adapter-src/PlugilyProjectsJavaConventionsPlugin.java b/.github/gradle/buildSrc/build/groovy-dsl-plugins/output/adapter-src/PlugilyProjectsJavaConventionsPlugin.java new file mode 100644 index 00000000..52fd8409 --- /dev/null +++ b/.github/gradle/buildSrc/build/groovy-dsl-plugins/output/adapter-src/PlugilyProjectsJavaConventionsPlugin.java @@ -0,0 +1,45 @@ +//CHECKSTYLE:OFF +import org.gradle.util.GradleVersion; +import org.gradle.groovy.scripts.BasicScript; +import org.gradle.groovy.scripts.ScriptSource; +import org.gradle.groovy.scripts.TextResourceScriptSource; +import org.gradle.internal.resource.StringTextResource; +/** + * Precompiled plugily.projects.java-conventions script plugin. + **/ +@SuppressWarnings("DefaultPackage") +public class PlugilyProjectsJavaConventionsPlugin implements org.gradle.api.Plugin { + private static final String MIN_SUPPORTED_GRADLE_VERSION = "5.0"; + @Override + public void apply(org.gradle.api.internal.project.ProjectInternal target) { + assertSupportedByCurrentGradleVersion(); + try { + Class pluginsBlockClass = Class.forName("cp_precompiled_PlugilyProjectsJavaConventions").asSubclass(BasicScript.class); + BasicScript pluginsBlockScript = pluginsBlockClass.getDeclaredConstructor().newInstance(); + pluginsBlockScript.setScriptSource(scriptSource(pluginsBlockClass)); + pluginsBlockScript.init(target, target.getServices()); + pluginsBlockScript.run(); + target.getPluginManager().apply("java-library"); + target.getPluginManager().apply("signing"); + target.getPluginManager().apply("maven-publish"); + + + Class precompiledScriptClass = Class.forName("precompiled_PlugilyProjectsJavaConventions").asSubclass(BasicScript.class); + BasicScript script = precompiledScriptClass.getDeclaredConstructor().newInstance(); + script.setScriptSource(scriptSource(precompiledScriptClass)); + script.init(target, target.getServices()); + script.run(); + } catch (Exception e) { + throw new RuntimeException(e); + } + } + private static ScriptSource scriptSource(Class scriptClass) { + return new TextResourceScriptSource(new StringTextResource(scriptClass.getSimpleName(), "")); + } + private static void assertSupportedByCurrentGradleVersion() { + if (GradleVersion.current().getBaseVersion().compareTo(GradleVersion.version(MIN_SUPPORTED_GRADLE_VERSION)) < 0) { + throw new RuntimeException("Precompiled Groovy script plugins require Gradle "+MIN_SUPPORTED_GRADLE_VERSION+" or higher"); + } + } +} +//CHECKSTYLE:ON diff --git a/.github/gradle/buildSrc/build/groovy-dsl-plugins/output/plugin-requests/plugily.projects.java-conventions/metadata.bin b/.github/gradle/buildSrc/build/groovy-dsl-plugins/output/plugin-requests/plugily.projects.java-conventions/metadata.bin new file mode 100644 index 0000000000000000000000000000000000000000..f76dd238ade08917e6712764a16a22005a50573d GIT binary patch literal 1 IcmZPo000310RR91 literal 0 HcmV?d00001 diff --git a/.github/gradle/buildSrc/build/groovy-dsl-plugins/work/metadata/plugily.projects.java-conventions/metadata.bin b/.github/gradle/buildSrc/build/groovy-dsl-plugins/work/metadata/plugily.projects.java-conventions/metadata.bin new file mode 100644 index 0000000000000000000000000000000000000000..bdc955b7b2e610ad5a72302b139a2e6cb325519a GIT binary patch literal 2 JcmZQz1ONa700IC2 literal 0 HcmV?d00001 diff --git a/.github/gradle/buildSrc/build/pluginDescriptors/plugily.projects.java-conventions.properties b/.github/gradle/buildSrc/build/pluginDescriptors/plugily.projects.java-conventions.properties new file mode 100644 index 00000000..5eb08959 --- /dev/null +++ b/.github/gradle/buildSrc/build/pluginDescriptors/plugily.projects.java-conventions.properties @@ -0,0 +1 @@ +implementation-class=PlugilyProjectsJavaConventionsPlugin diff --git a/.github/gradle/buildSrc/build/resources/main/META-INF/gradle-plugins/plugily.projects.java-conventions.properties b/.github/gradle/buildSrc/build/resources/main/META-INF/gradle-plugins/plugily.projects.java-conventions.properties new file mode 100644 index 00000000..5eb08959 --- /dev/null +++ b/.github/gradle/buildSrc/build/resources/main/META-INF/gradle-plugins/plugily.projects.java-conventions.properties @@ -0,0 +1 @@ +implementation-class=PlugilyProjectsJavaConventionsPlugin diff --git a/.github/gradle/buildSrc/build/tmp/compileJava/previous-compilation-data.bin b/.github/gradle/buildSrc/build/tmp/compileJava/previous-compilation-data.bin new file mode 100644 index 0000000000000000000000000000000000000000..9acd93ccc8f7d9e1919344bcdb6bbb7375a1b0a6 GIT binary patch literal 84348 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 literal 0 HcmV?d00001 diff --git a/.github/gradle/buildSrc/build/tmp/jar/MANIFEST.MF b/.github/gradle/buildSrc/build/tmp/jar/MANIFEST.MF new file mode 100644 index 00000000..59499bce --- /dev/null +++ b/.github/gradle/buildSrc/build/tmp/jar/MANIFEST.MF @@ -0,0 +1,2 @@ +Manifest-Version: 1.0 + diff --git a/.github/gradle/buildSrc/src/main/groovy/plugily.projects.java-conventions.gradle b/.github/gradle/buildSrc/src/main/groovy/plugily.projects.java-conventions.gradle new file mode 100644 index 00000000..beaeb44f --- /dev/null +++ b/.github/gradle/buildSrc/src/main/groovy/plugily.projects.java-conventions.gradle @@ -0,0 +1,96 @@ +/* + * This file was generated by the Gradle 'init' task. + */ + +plugins { + id 'java-library' + id 'signing' + id 'maven-publish' +} + +repositories { + mavenCentral() + mavenLocal() + maven { + name = "papermc" + url = uri("https://repo.papermc.io/repository/maven-public/") + } + maven { + url = 'https://hub.spigotmc.org/nexus/content/repositories/snapshots/' + + // As of Gradle 5.1, you can limit this to only those + // dependencies you expect from it + content { + includeGroup 'org.bukkit' + includeGroup 'org.spigotmc' + } + } + + maven { url = 'https://oss.sonatype.org/content/repositories/snapshots' } + maven { url = 'https://oss.sonatype.org/content/repositories/central' } + + // mavenLocal() // This is needed for CraftBukkit and Spigot. + + maven { + url = uri('https://maven.plugily.xyz/releases') + } + + maven { + url = uri('https://simonsator.de/repo/') + } + + maven { + url = uri('https://repo.alessiodp.com/releases/') + } + + maven { + url = uri('https://repo.extendedclip.com/releases/') + } +} + +dependencies { + compileOnly("io.papermc.paper:paper-api:1.21.3-R0.1-SNAPSHOT") + compileOnly 'org.spigotmc:spigot-api:1.8.8-R0.1-SNAPSHOT' + compileOnly 'org.jetbrains:annotations:23.0.0' +} + +java { + withJavadocJar() +} + +javadoc { + options.encoding = 'UTF-8' +} + +publishing { + repositories { + maven { + name = "Releases" + url = "https://maven.plugily.xyz/releases" + credentials { + username = System.getenv("MAVEN_USERNAME") + password = System.getenv("MAVEN_PASSWORD") + } + } + maven { + name = "Snapshots" + url = uri("https://maven.plugily.xyz/snapshots") + credentials { + username = System.getenv("MAVEN_USERNAME") + password = System.getenv("MAVEN_PASSWORD") + } + } + } + publications { + maven(MavenPublication) { + from components.java + if (project.tasks.findByName("shadowJar") != null) { + artifact tasks.shadowJar + } + } + } +} + +tasks.withType(JavaCompile).configureEach { + options.encoding = 'UTF-8' +} diff --git a/MiniGamesBox Classic/build.gradle.kts b/.github/gradle/classic/build.gradle.kts similarity index 100% rename from MiniGamesBox Classic/build.gradle.kts rename to .github/gradle/classic/build.gradle.kts diff --git a/MiniGamesBox Database/build.gradle.kts b/.github/gradle/database/build.gradle.kts similarity index 100% rename from MiniGamesBox Database/build.gradle.kts rename to .github/gradle/database/build.gradle.kts diff --git a/gradle.properties b/.github/gradle/gradle.properties similarity index 100% rename from gradle.properties rename to .github/gradle/gradle.properties diff --git a/gradlew b/.github/gradle/gradlew similarity index 100% rename from gradlew rename to .github/gradle/gradlew diff --git a/gradlew.bat b/.github/gradle/gradlew.bat similarity index 100% rename from gradlew.bat rename to .github/gradle/gradlew.bat diff --git a/MiniGamesBox Inventory/build.gradle.kts b/.github/gradle/inventory/build.gradle.kts similarity index 100% rename from MiniGamesBox Inventory/build.gradle.kts rename to .github/gradle/inventory/build.gradle.kts diff --git a/settings.gradle.kts b/.github/gradle/settings.gradle.kts similarity index 100% rename from settings.gradle.kts rename to .github/gradle/settings.gradle.kts diff --git a/MiniGamesBox Utils/build.gradle.kts b/.github/gradle/utils/build.gradle.kts similarity index 100% rename from MiniGamesBox Utils/build.gradle.kts rename to .github/gradle/utils/build.gradle.kts diff --git a/.github/maven/api/pom.xml b/.github/maven/api/pom.xml index c8942187..f34c705b 100644 --- a/.github/maven/api/pom.xml +++ b/.github/maven/api/pom.xml @@ -23,7 +23,7 @@ minigamesbox plugily.projects - 1.3.3.1-java8 + 1.3.17-SNAPSHOT2 4.0.0 diff --git a/.github/maven/classic/pom.xml b/.github/maven/classic/pom.xml index 6268ac1a..33ad157c 100644 --- a/.github/maven/classic/pom.xml +++ b/.github/maven/classic/pom.xml @@ -23,7 +23,7 @@ minigamesbox plugily.projects - 1.3.3.1-java8 + 1.3.17-SNAPSHOT2 4.0.0 diff --git a/.github/maven/database/pom.xml b/.github/maven/database/pom.xml index 644cfcef..7c6cfdd0 100644 --- a/.github/maven/database/pom.xml +++ b/.github/maven/database/pom.xml @@ -23,7 +23,7 @@ minigamesbox plugily.projects - 1.3.3.1-java8 + 1.3.17-SNAPSHOT2 4.0.0 diff --git a/.github/maven/inventory/pom.xml b/.github/maven/inventory/pom.xml index ef81d3a0..c588e18e 100644 --- a/.github/maven/inventory/pom.xml +++ b/.github/maven/inventory/pom.xml @@ -23,7 +23,7 @@ minigamesbox plugily.projects - 1.3.3.1-java8 + 1.3.17-SNAPSHOT2 4.0.0 diff --git a/.github/maven/pom.xml b/.github/maven/pom.xml index 433a4abc..c10f8f18 100644 --- a/.github/maven/pom.xml +++ b/.github/maven/pom.xml @@ -24,7 +24,7 @@ plugily.projects minigamesbox - 1.3.3.1-java8 + 1.3.17-SNAPSHOT2 pom diff --git a/.github/maven/utils/pom.xml b/.github/maven/utils/pom.xml index 8a2fc534..fe735490 100644 --- a/.github/maven/utils/pom.xml +++ b/.github/maven/utils/pom.xml @@ -23,7 +23,7 @@ minigamesbox plugily.projects - 1.3.3.1-java8 + 1.3.17-SNAPSHOT2 4.0.0 diff --git a/.github/workflows/deploy-development.yml b/.github/workflows/deploy-development.yml index 62db223a..0d19ea39 100644 --- a/.github/workflows/deploy-development.yml +++ b/.github/workflows/deploy-development.yml @@ -28,16 +28,29 @@ jobs: uses: actions/checkout@v4.2.2 with: ref: 'development' + - name: Set up Maven + uses: stCarolas/setup-maven@v5 + with: + maven-version: 3.8.2 + - name: Cache + uses: actions/cache@v4.2.2 + with: + path: ~/.m2/repository + key: maven-${{ hashFiles('**/pom.xml') }} + restore-keys: maven- - name: Set up JDK uses: actions/setup-java@v4.6.0 with: distribution: 'temurin' java-version: '21' java-package: jdk - - name: Grant execute permission for gradlew - run: chmod +x gradlew - - name: Publish with Gradle - run: ./gradlew publishMavenPublicationToSnapshotsRepository --info - env: - MAVEN_USERNAME: ${{ secrets.SNAPSHOTSUSERNAME }} - MAVEN_PASSWORD: ${{ secrets.SNAPSHOTSPASSWORD }} + - name: Publish with Maven + uses: s4u/maven-settings-action@v3.1.0 + with: + servers: | + [{ + "id": "Snapshot", + "username": "${{ secrets.SNAPSHOTSUSERNAME }}", + "password": "${{ secrets.SNAPSHOTSPASSWORD }}" + }] + - run: mvn clean verify compile package site:site javadoc:javadoc javadoc:jar deploy -f pom.xml diff --git a/MiniGamesBox API/pom.xml b/MiniGamesBox API/pom.xml new file mode 100644 index 00000000..f34c705b --- /dev/null +++ b/MiniGamesBox API/pom.xml @@ -0,0 +1,100 @@ + + + + + + minigamesbox + plugily.projects + 1.3.17-SNAPSHOT2 + + 4.0.0 + + MiniGamesBox-Api + + 1.8 + UTF-8 + UTF-8 + + + + + + mojang-repo + https://libraries.minecraft.net/ + + + simonsators-repo + https://simonsator.de/repo/ + + + alessiodp-repo + https://repo.alessiodp.com/releases/ + + + plugilyprojects-repo + https://maven.plugily.xyz/releases + + + papi-repo + https://repo.extendedclip.com/content/repositories/placeholderapi/ + + + + + + plugily.projects + MiniGamesBox-Database + ${project.version} + compile + true + + + com.github.cryptomorin + XSeries + 13.0.0 + true + + + + + + + + org.apache.maven.plugins + maven-javadoc-plugin + 3.4.0 + + MiniGamesBox Inventory API docs for v${project.version} + Library box with massive content that could be seen as minigames core. + minecraft/minigamesbox/inventory + false + + + + + + org.apache.maven.wagon + wagon-ssh + 3.5.2 + + + + diff --git a/MiniGamesBox Classic/pom.xml b/MiniGamesBox Classic/pom.xml new file mode 100644 index 00000000..33ad157c --- /dev/null +++ b/MiniGamesBox Classic/pom.xml @@ -0,0 +1,251 @@ + + + + + + minigamesbox + plugily.projects + 1.3.17-SNAPSHOT2 + + 4.0.0 + + MiniGamesBox-Classic + + 1.8 + UTF-8 + UTF-8 + + + + mojang-repo + https://libraries.minecraft.net/ + + + simonsators-repo + https://simonsator.de/repo/ + + + alessiodp-repo + https://repo.alessiodp.com/releases/ + + + plugilyprojects-repo + https://maven.plugily.xyz/releases + + + papi-repo + https://repo.extendedclip.com/content/repositories/placeholderapi/ + + + via-version + https://repo.viaversion.com + + + jitpack + https://jitpack.io + + + + + + com.mojang + authlib + 2.3.31 + provided + + + fr.mrmicky + fastboard + 2.1.3 + true + + + com.viaversion + viaversion-api + 5.2.1 + provided + + + com.github.ProtocolSupport + ProtocolSupport + master + provided + + + com.github.cryptomorin + XSeries + 13.0.0 + true + + + org.openjdk.nashorn + nashorn-core + 15.4 + + + de.simonsator + DevelopmentPAFSpigot + 1.0.67 + provided + + + de.simonsator + Party-and-Friends-MySQL-Edition-Spigot-API + 1.5.4-RELEASE + provided + + + de.simonsator + Spigot-Party-API-For-RedisBungee + 1.0.3-SNAPSHOT + provided + + + com.alessiodp.parties + parties-api + 3.2.9 + provided + + + plugily.projects + MiniGamesBox-Inventory + ${project.version} + compile + true + + + plugily.projects + MiniGamesBox-Utils + ${project.version} + compile + true + + + plugily.projects + MiniGamesBox-Api + ${project.version} + compile + true + + + plugily.projects + MiniGamesBox-Database + ${project.version} + compile + true + + + me.clip + placeholderapi + 2.11.2 + provided + + + org.jetbrains + annotations + + + + + com.google.code.gson + gson + 2.9.0 + compile + + + + io.papermc + paperlib + 1.0.7 + compile + + + + + + + org.apache.maven.plugins + maven-jar-plugin + 3.2.2 + + + org.apache.maven.plugins + maven-javadoc-plugin + 3.4.0 + + MiniGamesBox Classic API docs for v${project.version} + Library box with massive content that could be seen as minigames core. + minecraft/minigamesbox/classic + false + + + + org.apache.maven.plugins + maven-shade-plugin + 3.3.0 + + + + com.cryptomorin.xseries.particles + plugily.projects.minigamesbox.classic.utils.version.xseries + + + com.cryptomorin.xseries + plugily.projects.minigamesbox.classic.utils.version.xseries + + + fr.mrmicky.fastboard + plugily.projects.minigamesbox.classic.utils.scoreboard + + + fr.mrmicky.fastinv + plugily.projects.minigamesbox.inventory.utils.fastinv + + + org.bstats + plugily.projects.minigamesbox.classic.utils.bstats + + + io.papermc.lib + plugily.projects.minigamesbox.classic.utils.paperlib + + + false + + + + package + + shade + + + + + + + + org.apache.maven.wagon + wagon-ssh + 3.5.2 + + + + \ No newline at end of file diff --git a/MiniGamesBox Database/pom.xml b/MiniGamesBox Database/pom.xml new file mode 100644 index 00000000..7c6cfdd0 --- /dev/null +++ b/MiniGamesBox Database/pom.xml @@ -0,0 +1,71 @@ + + + + + + minigamesbox + plugily.projects + 1.3.17-SNAPSHOT2 + + 4.0.0 + + MiniGamesBox-Database + + + + 1.8 + UTF-8 + UTF-8 + + + + + + com.zaxxer + HikariCP + 4.0.3 + + + + + + + + org.apache.maven.plugins + maven-javadoc-plugin + 3.4.0 + + MiniGamesBox Inventory API docs for v${project.version} + Library box with massive content that could be seen as minigames core. + minecraft/minigamesbox/inventory + false + + + + + + org.apache.maven.wagon + wagon-ssh + 3.5.2 + + + + diff --git a/MiniGamesBox Inventory/pom.xml b/MiniGamesBox Inventory/pom.xml new file mode 100644 index 00000000..c588e18e --- /dev/null +++ b/MiniGamesBox Inventory/pom.xml @@ -0,0 +1,96 @@ + + + + + + minigamesbox + plugily.projects + 1.3.17-SNAPSHOT2 + + 4.0.0 + + MiniGamesBox-Inventory + + 1.8 + UTF-8 + UTF-8 + + + + + jitpack.io + https://jitpack.io + + + + + + fr.mrmicky + FastInv + 3.0.3 + + + + + + + org.apache.maven.plugins + maven-javadoc-plugin + 3.4.0 + + MiniGamesBox Inventory API docs for v${project.version} + Library box with massive content that could be seen as minigames core. + minecraft/minigamesbox/inventory + false + + + + org.apache.maven.plugins + maven-shade-plugin + 3.3.0 + + + + fr.mrmicky.fastinv + plugily.projects.minigamesbox.inventory.utils.fastinv + + + false + + + + package + + shade + + + + + + + + org.apache.maven.wagon + wagon-ssh + 3.5.2 + + + + diff --git a/MiniGamesBox Utils/pom.xml b/MiniGamesBox Utils/pom.xml new file mode 100644 index 00000000..fe735490 --- /dev/null +++ b/MiniGamesBox Utils/pom.xml @@ -0,0 +1,58 @@ + + + + + + minigamesbox + plugily.projects + 1.3.17-SNAPSHOT2 + + 4.0.0 + + MiniGamesBox-Utils + + 1.8 + UTF-8 + UTF-8 + + + + + org.apache.maven.plugins + maven-javadoc-plugin + 3.4.0 + + MiniGamesBox Inventory API docs for v${project.version} + Library box with massive content that could be seen as minigames core. + minecraft/minigamesbox/inventory + false + + + + + + org.apache.maven.wagon + wagon-ssh + 3.5.2 + + + + diff --git a/pom.xml b/pom.xml new file mode 100644 index 00000000..a02b34e3 --- /dev/null +++ b/pom.xml @@ -0,0 +1,164 @@ + + + + + 4.0.0 + + plugily.projects + minigamesbox + 1.3.17-SNAPSHOT2 + pom + + + MiniGamesBox Inventory + MiniGamesBox Utils + MiniGamesBox Database + MiniGamesBox Classic + MiniGamesBox API + + + MiniGamesBox + Library box with massive content that could be seen as minigames core. + https://plugily.xyz + + + 1.8 + UTF-8 + UTF-8 + + + + + papermc + https://repo.papermc.io/repository/maven-public/ + + + spigot-repo + https://hub.spigotmc.org/nexus/content/repositories/snapshots/ + + + plugilyprojects-repo + https://maven.plugily.xyz/releases + + + + + + GNU General Public License v3 + https://www.gnu.org/licenses/gpl-3.0.en.html + + + + + + + io.papermc.paper + paper-api + 1.21.1-R0.1-SNAPSHOT + provided + + + + org.spigotmc + spigot-api + 1.8.8-R0.1-SNAPSHOT + provided + + + org.jetbrains + annotations + 23.0.0 + provided + + + + + + + src/main/resources + true + + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.10.1 + + ${java.version} + ${java.version} + + + + org.apache.maven.plugins + maven-site-plugin + 3.12.0 + + + org.jacoco + jacoco-maven-plugin + 0.8.8 + + true + + + + + prepare-agent + + + + post-unit-test + test + + report + + + + + + com.github.spotbugs + spotbugs-maven-plugin + 4.7.0.0 + + + + com.github.spotbugs + spotbugs + 4.7.1 + + + + + + + + + + Release + https://maven.plugily.xyz/releases + + + Snapshot + https://maven.plugily.xyz/snapshots + + + From 087accd29042f9390f568c06d5a60a2467675f39 Mon Sep 17 00:00:00 2001 From: Tigerpanzer_02 <37453987+Tigerpanzer02@users.noreply.github.com> Date: Wed, 12 Mar 2025 18:56:01 +0100 Subject: [PATCH 07/42] Attempt to switch to java 8 --- .github/workflows/deploy-development.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/deploy-development.yml b/.github/workflows/deploy-development.yml index 0d19ea39..3939827e 100644 --- a/.github/workflows/deploy-development.yml +++ b/.github/workflows/deploy-development.yml @@ -34,10 +34,10 @@ jobs: maven-version: 3.8.2 - name: Cache uses: actions/cache@v4.2.2 - with: - path: ~/.m2/repository - key: maven-${{ hashFiles('**/pom.xml') }} - restore-keys: maven- + with: + path: ~/.m2/repository + key: maven-${{ hashFiles('**/pom.xml') }} + restore-keys: maven- - name: Set up JDK uses: actions/setup-java@v4.6.0 with: From 9fa28a82c1bdda0af999a1d07eade4c3f3167559 Mon Sep 17 00:00:00 2001 From: Tigerpanzer_02 <37453987+Tigerpanzer02@users.noreply.github.com> Date: Wed, 12 Mar 2025 18:58:16 +0100 Subject: [PATCH 08/42] Attempt to switch to java 8 --- .github/workflows/deploy-development.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/deploy-development.yml b/.github/workflows/deploy-development.yml index 3939827e..cce96e74 100644 --- a/.github/workflows/deploy-development.yml +++ b/.github/workflows/deploy-development.yml @@ -10,8 +10,6 @@ jobs: steps: - name: Checkout Latest Commit uses: actions/checkout@v4.2.2 - - name: Grant execute permission for gradlew - run: chmod +x gradlew - name: Bump Version id: bump uses: Plugily-Projects/version-bump-action@v8 From 839f6d99e9b366ecd3030619618c5ab998877c8b Mon Sep 17 00:00:00 2001 From: "version-bump[github-action]" <41898282+version-bump[github-action]@users.noreply.github.com> Date: Wed, 12 Mar 2025 17:58:35 +0000 Subject: [PATCH 09/42] Bump version from 1.3.17-SNAPSHOT2 to 1.3.17-SNAPSHOT3 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index a02b34e3..1abaee53 100644 --- a/pom.xml +++ b/pom.xml @@ -24,7 +24,7 @@ plugily.projects minigamesbox - 1.3.17-SNAPSHOT2 + 1.3.17-SNAPSHOT3 pom From 17cd823984505278259b40866fc3d81356477a4f Mon Sep 17 00:00:00 2001 From: Tigerpanzer_02 <37453987+Tigerpanzer02@users.noreply.github.com> Date: Wed, 12 Mar 2025 19:49:24 +0100 Subject: [PATCH 10/42] Attempt to switch to maven --- .github/workflows/deploy-development.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/deploy-development.yml b/.github/workflows/deploy-development.yml index cce96e74..78470efb 100644 --- a/.github/workflows/deploy-development.yml +++ b/.github/workflows/deploy-development.yml @@ -51,4 +51,5 @@ jobs: "username": "${{ secrets.SNAPSHOTSUSERNAME }}", "password": "${{ secrets.SNAPSHOTSPASSWORD }}" }] + - run: mvn versions:set -DnewVersion=${{steps.bump.outputs.version}} - run: mvn clean verify compile package site:site javadoc:javadoc javadoc:jar deploy -f pom.xml From 60fa68d952231f603774c541c1cbab2061a5c8e3 Mon Sep 17 00:00:00 2001 From: Tigerpanzer_02 <37453987+Tigerpanzer02@users.noreply.github.com> Date: Wed, 12 Mar 2025 19:51:02 +0100 Subject: [PATCH 11/42] Attempt to switch to maven --- .github/gradle/gradle.properties | 2 +- .github/maven/api/pom.xml | 2 +- .github/maven/classic/pom.xml | 2 +- .github/maven/database/pom.xml | 2 +- .github/maven/inventory/pom.xml | 2 +- .github/maven/pom.xml | 2 +- .github/maven/utils/pom.xml | 2 +- MiniGamesBox API/pom.xml | 2 +- MiniGamesBox Classic/pom.xml | 2 +- MiniGamesBox Database/pom.xml | 2 +- MiniGamesBox Inventory/pom.xml | 2 +- MiniGamesBox Utils/pom.xml | 2 +- 12 files changed, 12 insertions(+), 12 deletions(-) diff --git a/.github/gradle/gradle.properties b/.github/gradle/gradle.properties index 6f753a54..3012ba5e 100644 --- a/.github/gradle/gradle.properties +++ b/.github/gradle/gradle.properties @@ -16,4 +16,4 @@ # along with this program. If not, see . # group=plugily.projects -version=1.3.17-SNAPSHOT2 +version=1.3.17-SNAPSHOT3 diff --git a/.github/maven/api/pom.xml b/.github/maven/api/pom.xml index f34c705b..ff7764d6 100644 --- a/.github/maven/api/pom.xml +++ b/.github/maven/api/pom.xml @@ -23,7 +23,7 @@ minigamesbox plugily.projects - 1.3.17-SNAPSHOT2 + 1.3.17-SNAPSHOT3 4.0.0 diff --git a/.github/maven/classic/pom.xml b/.github/maven/classic/pom.xml index 33ad157c..09b7e2a7 100644 --- a/.github/maven/classic/pom.xml +++ b/.github/maven/classic/pom.xml @@ -23,7 +23,7 @@ minigamesbox plugily.projects - 1.3.17-SNAPSHOT2 + 1.3.17-SNAPSHOT3 4.0.0 diff --git a/.github/maven/database/pom.xml b/.github/maven/database/pom.xml index 7c6cfdd0..d65165cf 100644 --- a/.github/maven/database/pom.xml +++ b/.github/maven/database/pom.xml @@ -23,7 +23,7 @@ minigamesbox plugily.projects - 1.3.17-SNAPSHOT2 + 1.3.17-SNAPSHOT3 4.0.0 diff --git a/.github/maven/inventory/pom.xml b/.github/maven/inventory/pom.xml index c588e18e..601e23c5 100644 --- a/.github/maven/inventory/pom.xml +++ b/.github/maven/inventory/pom.xml @@ -23,7 +23,7 @@ minigamesbox plugily.projects - 1.3.17-SNAPSHOT2 + 1.3.17-SNAPSHOT3 4.0.0 diff --git a/.github/maven/pom.xml b/.github/maven/pom.xml index c10f8f18..ab884286 100644 --- a/.github/maven/pom.xml +++ b/.github/maven/pom.xml @@ -24,7 +24,7 @@ plugily.projects minigamesbox - 1.3.17-SNAPSHOT2 + 1.3.17-SNAPSHOT3 pom diff --git a/.github/maven/utils/pom.xml b/.github/maven/utils/pom.xml index fe735490..348d852a 100644 --- a/.github/maven/utils/pom.xml +++ b/.github/maven/utils/pom.xml @@ -23,7 +23,7 @@ minigamesbox plugily.projects - 1.3.17-SNAPSHOT2 + 1.3.17-SNAPSHOT3 4.0.0 diff --git a/MiniGamesBox API/pom.xml b/MiniGamesBox API/pom.xml index f34c705b..ff7764d6 100644 --- a/MiniGamesBox API/pom.xml +++ b/MiniGamesBox API/pom.xml @@ -23,7 +23,7 @@ minigamesbox plugily.projects - 1.3.17-SNAPSHOT2 + 1.3.17-SNAPSHOT3 4.0.0 diff --git a/MiniGamesBox Classic/pom.xml b/MiniGamesBox Classic/pom.xml index 33ad157c..09b7e2a7 100644 --- a/MiniGamesBox Classic/pom.xml +++ b/MiniGamesBox Classic/pom.xml @@ -23,7 +23,7 @@ minigamesbox plugily.projects - 1.3.17-SNAPSHOT2 + 1.3.17-SNAPSHOT3 4.0.0 diff --git a/MiniGamesBox Database/pom.xml b/MiniGamesBox Database/pom.xml index 7c6cfdd0..d65165cf 100644 --- a/MiniGamesBox Database/pom.xml +++ b/MiniGamesBox Database/pom.xml @@ -23,7 +23,7 @@ minigamesbox plugily.projects - 1.3.17-SNAPSHOT2 + 1.3.17-SNAPSHOT3 4.0.0 diff --git a/MiniGamesBox Inventory/pom.xml b/MiniGamesBox Inventory/pom.xml index c588e18e..601e23c5 100644 --- a/MiniGamesBox Inventory/pom.xml +++ b/MiniGamesBox Inventory/pom.xml @@ -23,7 +23,7 @@ minigamesbox plugily.projects - 1.3.17-SNAPSHOT2 + 1.3.17-SNAPSHOT3 4.0.0 diff --git a/MiniGamesBox Utils/pom.xml b/MiniGamesBox Utils/pom.xml index fe735490..348d852a 100644 --- a/MiniGamesBox Utils/pom.xml +++ b/MiniGamesBox Utils/pom.xml @@ -23,7 +23,7 @@ minigamesbox plugily.projects - 1.3.17-SNAPSHOT2 + 1.3.17-SNAPSHOT3 4.0.0 From cf631d666fc18e11b53286cc6a03ade538409cea Mon Sep 17 00:00:00 2001 From: "version-bump[github-action]" <41898282+version-bump[github-action]@users.noreply.github.com> Date: Wed, 12 Mar 2025 18:51:17 +0000 Subject: [PATCH 12/42] Bump version from 1.3.17-SNAPSHOT3 to 1.3.17-SNAPSHOT4 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 1abaee53..5711fe67 100644 --- a/pom.xml +++ b/pom.xml @@ -24,7 +24,7 @@ plugily.projects minigamesbox - 1.3.17-SNAPSHOT3 + 1.3.17-SNAPSHOT4 pom From c2d9151a9ad0a8dc5d6eb3c2e80209fec43307b9 Mon Sep 17 00:00:00 2001 From: Tigerpanzer_02 <37453987+Tigerpanzer02@users.noreply.github.com> Date: Wed, 12 Mar 2025 20:04:58 +0100 Subject: [PATCH 13/42] Revert "Bump version from 1.3.17-SNAPSHOT3 to 1.3.17-SNAPSHOT4" This reverts commit cf631d666fc18e11b53286cc6a03ade538409cea. --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 5711fe67..1abaee53 100644 --- a/pom.xml +++ b/pom.xml @@ -24,7 +24,7 @@ plugily.projects minigamesbox - 1.3.17-SNAPSHOT4 + 1.3.17-SNAPSHOT3 pom From e254490d40d894f8f322a14bbb170901f262008c Mon Sep 17 00:00:00 2001 From: Tigerpanzer_02 <37453987+Tigerpanzer02@users.noreply.github.com> Date: Wed, 12 Mar 2025 20:05:18 +0100 Subject: [PATCH 14/42] Revert "Attempt to switch to maven" This reverts commit 60fa68d952231f603774c541c1cbab2061a5c8e3. --- .github/gradle/gradle.properties | 2 +- .github/maven/api/pom.xml | 2 +- .github/maven/classic/pom.xml | 2 +- .github/maven/database/pom.xml | 2 +- .github/maven/inventory/pom.xml | 2 +- .github/maven/pom.xml | 2 +- .github/maven/utils/pom.xml | 2 +- MiniGamesBox API/pom.xml | 2 +- MiniGamesBox Classic/pom.xml | 2 +- MiniGamesBox Database/pom.xml | 2 +- MiniGamesBox Inventory/pom.xml | 2 +- MiniGamesBox Utils/pom.xml | 2 +- 12 files changed, 12 insertions(+), 12 deletions(-) diff --git a/.github/gradle/gradle.properties b/.github/gradle/gradle.properties index 3012ba5e..6f753a54 100644 --- a/.github/gradle/gradle.properties +++ b/.github/gradle/gradle.properties @@ -16,4 +16,4 @@ # along with this program. If not, see . # group=plugily.projects -version=1.3.17-SNAPSHOT3 +version=1.3.17-SNAPSHOT2 diff --git a/.github/maven/api/pom.xml b/.github/maven/api/pom.xml index ff7764d6..f34c705b 100644 --- a/.github/maven/api/pom.xml +++ b/.github/maven/api/pom.xml @@ -23,7 +23,7 @@ minigamesbox plugily.projects - 1.3.17-SNAPSHOT3 + 1.3.17-SNAPSHOT2 4.0.0 diff --git a/.github/maven/classic/pom.xml b/.github/maven/classic/pom.xml index 09b7e2a7..33ad157c 100644 --- a/.github/maven/classic/pom.xml +++ b/.github/maven/classic/pom.xml @@ -23,7 +23,7 @@ minigamesbox plugily.projects - 1.3.17-SNAPSHOT3 + 1.3.17-SNAPSHOT2 4.0.0 diff --git a/.github/maven/database/pom.xml b/.github/maven/database/pom.xml index d65165cf..7c6cfdd0 100644 --- a/.github/maven/database/pom.xml +++ b/.github/maven/database/pom.xml @@ -23,7 +23,7 @@ minigamesbox plugily.projects - 1.3.17-SNAPSHOT3 + 1.3.17-SNAPSHOT2 4.0.0 diff --git a/.github/maven/inventory/pom.xml b/.github/maven/inventory/pom.xml index 601e23c5..c588e18e 100644 --- a/.github/maven/inventory/pom.xml +++ b/.github/maven/inventory/pom.xml @@ -23,7 +23,7 @@ minigamesbox plugily.projects - 1.3.17-SNAPSHOT3 + 1.3.17-SNAPSHOT2 4.0.0 diff --git a/.github/maven/pom.xml b/.github/maven/pom.xml index ab884286..c10f8f18 100644 --- a/.github/maven/pom.xml +++ b/.github/maven/pom.xml @@ -24,7 +24,7 @@ plugily.projects minigamesbox - 1.3.17-SNAPSHOT3 + 1.3.17-SNAPSHOT2 pom diff --git a/.github/maven/utils/pom.xml b/.github/maven/utils/pom.xml index 348d852a..fe735490 100644 --- a/.github/maven/utils/pom.xml +++ b/.github/maven/utils/pom.xml @@ -23,7 +23,7 @@ minigamesbox plugily.projects - 1.3.17-SNAPSHOT3 + 1.3.17-SNAPSHOT2 4.0.0 diff --git a/MiniGamesBox API/pom.xml b/MiniGamesBox API/pom.xml index ff7764d6..f34c705b 100644 --- a/MiniGamesBox API/pom.xml +++ b/MiniGamesBox API/pom.xml @@ -23,7 +23,7 @@ minigamesbox plugily.projects - 1.3.17-SNAPSHOT3 + 1.3.17-SNAPSHOT2 4.0.0 diff --git a/MiniGamesBox Classic/pom.xml b/MiniGamesBox Classic/pom.xml index 09b7e2a7..33ad157c 100644 --- a/MiniGamesBox Classic/pom.xml +++ b/MiniGamesBox Classic/pom.xml @@ -23,7 +23,7 @@ minigamesbox plugily.projects - 1.3.17-SNAPSHOT3 + 1.3.17-SNAPSHOT2 4.0.0 diff --git a/MiniGamesBox Database/pom.xml b/MiniGamesBox Database/pom.xml index d65165cf..7c6cfdd0 100644 --- a/MiniGamesBox Database/pom.xml +++ b/MiniGamesBox Database/pom.xml @@ -23,7 +23,7 @@ minigamesbox plugily.projects - 1.3.17-SNAPSHOT3 + 1.3.17-SNAPSHOT2 4.0.0 diff --git a/MiniGamesBox Inventory/pom.xml b/MiniGamesBox Inventory/pom.xml index 601e23c5..c588e18e 100644 --- a/MiniGamesBox Inventory/pom.xml +++ b/MiniGamesBox Inventory/pom.xml @@ -23,7 +23,7 @@ minigamesbox plugily.projects - 1.3.17-SNAPSHOT3 + 1.3.17-SNAPSHOT2 4.0.0 diff --git a/MiniGamesBox Utils/pom.xml b/MiniGamesBox Utils/pom.xml index 348d852a..fe735490 100644 --- a/MiniGamesBox Utils/pom.xml +++ b/MiniGamesBox Utils/pom.xml @@ -23,7 +23,7 @@ minigamesbox plugily.projects - 1.3.17-SNAPSHOT3 + 1.3.17-SNAPSHOT2 4.0.0 From b33bb564b140ab7263e15eb8cea84bcd92d73177 Mon Sep 17 00:00:00 2001 From: Tigerpanzer_02 <37453987+Tigerpanzer02@users.noreply.github.com> Date: Wed, 12 Mar 2025 20:05:18 +0100 Subject: [PATCH 15/42] Revert "Attempt to switch to maven" This reverts commit 17cd823984505278259b40866fc3d81356477a4f. --- .github/workflows/deploy-development.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/deploy-development.yml b/.github/workflows/deploy-development.yml index 78470efb..cce96e74 100644 --- a/.github/workflows/deploy-development.yml +++ b/.github/workflows/deploy-development.yml @@ -51,5 +51,4 @@ jobs: "username": "${{ secrets.SNAPSHOTSUSERNAME }}", "password": "${{ secrets.SNAPSHOTSPASSWORD }}" }] - - run: mvn versions:set -DnewVersion=${{steps.bump.outputs.version}} - run: mvn clean verify compile package site:site javadoc:javadoc javadoc:jar deploy -f pom.xml From 4429804a7bcc3aa0d0c01c5fc91ce28770219607 Mon Sep 17 00:00:00 2001 From: Tigerpanzer_02 <37453987+Tigerpanzer02@users.noreply.github.com> Date: Wed, 12 Mar 2025 20:05:27 +0100 Subject: [PATCH 16/42] Revert "Bump version from 1.3.17-SNAPSHOT2 to 1.3.17-SNAPSHOT3" This reverts commit 839f6d99e9b366ecd3030619618c5ab998877c8b. --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 1abaee53..a02b34e3 100644 --- a/pom.xml +++ b/pom.xml @@ -24,7 +24,7 @@ plugily.projects minigamesbox - 1.3.17-SNAPSHOT3 + 1.3.17-SNAPSHOT2 pom From 1bc9298869d60c9a4c01267895605bcaef4bc80c Mon Sep 17 00:00:00 2001 From: Tigerpanzer_02 <37453987+Tigerpanzer02@users.noreply.github.com> Date: Wed, 12 Mar 2025 20:05:29 +0100 Subject: [PATCH 17/42] Revert "Attempt to switch to java 8" This reverts commit 9fa28a82c1bdda0af999a1d07eade4c3f3167559. --- .github/workflows/deploy-development.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/deploy-development.yml b/.github/workflows/deploy-development.yml index cce96e74..3939827e 100644 --- a/.github/workflows/deploy-development.yml +++ b/.github/workflows/deploy-development.yml @@ -10,6 +10,8 @@ jobs: steps: - name: Checkout Latest Commit uses: actions/checkout@v4.2.2 + - name: Grant execute permission for gradlew + run: chmod +x gradlew - name: Bump Version id: bump uses: Plugily-Projects/version-bump-action@v8 From 28d82aba2e20aabb398932b794f9a101debff044 Mon Sep 17 00:00:00 2001 From: Tigerpanzer_02 <37453987+Tigerpanzer02@users.noreply.github.com> Date: Wed, 12 Mar 2025 20:05:30 +0100 Subject: [PATCH 18/42] Revert "Attempt to switch to java 8" This reverts commit 087accd29042f9390f568c06d5a60a2467675f39. --- .github/workflows/deploy-development.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/deploy-development.yml b/.github/workflows/deploy-development.yml index 3939827e..0d19ea39 100644 --- a/.github/workflows/deploy-development.yml +++ b/.github/workflows/deploy-development.yml @@ -34,10 +34,10 @@ jobs: maven-version: 3.8.2 - name: Cache uses: actions/cache@v4.2.2 - with: - path: ~/.m2/repository - key: maven-${{ hashFiles('**/pom.xml') }} - restore-keys: maven- + with: + path: ~/.m2/repository + key: maven-${{ hashFiles('**/pom.xml') }} + restore-keys: maven- - name: Set up JDK uses: actions/setup-java@v4.6.0 with: From f5e5ad83f5d288b0166ffc185396f654aa7cf19e Mon Sep 17 00:00:00 2001 From: Tigerpanzer_02 <37453987+Tigerpanzer02@users.noreply.github.com> Date: Wed, 12 Mar 2025 20:05:31 +0100 Subject: [PATCH 19/42] Revert "Attempt to switch to java 8" This reverts commit 327153ff8d881d4317ec2d8cfe40ffd60543d9a4. --- .github/gradle/buildSrc/build.gradle.kts | 28 -- .../PlugilyProjectsJavaConventionsPlugin.java | 45 ---- .../metadata.bin | Bin 1 -> 0 bytes .../metadata.bin | Bin 2 -> 0 bytes ...ugily.projects.java-conventions.properties | 1 - ...ugily.projects.java-conventions.properties | 1 - .../compileJava/previous-compilation-data.bin | Bin 84348 -> 0 bytes .../gradle/buildSrc/build/tmp/jar/MANIFEST.MF | 2 - .../plugily.projects.java-conventions.gradle | 96 ------- .github/maven/api/pom.xml | 2 +- .github/maven/classic/pom.xml | 2 +- .github/maven/database/pom.xml | 2 +- .github/maven/inventory/pom.xml | 2 +- .github/maven/pom.xml | 2 +- .github/maven/utils/pom.xml | 2 +- .github/workflows/deploy-development.yml | 27 +- .../api => MiniGamesBox API}/build.gradle.kts | 0 MiniGamesBox API/pom.xml | 100 ------- .../build.gradle.kts | 0 MiniGamesBox Classic/pom.xml | 251 ------------------ .../build.gradle.kts | 0 MiniGamesBox Database/pom.xml | 71 ----- .../build.gradle.kts | 0 MiniGamesBox Inventory/pom.xml | 96 ------- .../build.gradle.kts | 0 MiniGamesBox Utils/pom.xml | 58 ---- .../gradle.properties => gradle.properties | 0 .github/gradle/gradlew => gradlew | 0 .github/gradle/gradlew.bat => gradlew.bat | 0 pom.xml | 164 ------------ ...settings.gradle.kts => settings.gradle.kts | 0 31 files changed, 13 insertions(+), 939 deletions(-) delete mode 100644 .github/gradle/buildSrc/build.gradle.kts delete mode 100644 .github/gradle/buildSrc/build/groovy-dsl-plugins/output/adapter-src/PlugilyProjectsJavaConventionsPlugin.java delete mode 100644 .github/gradle/buildSrc/build/groovy-dsl-plugins/output/plugin-requests/plugily.projects.java-conventions/metadata.bin delete mode 100644 .github/gradle/buildSrc/build/groovy-dsl-plugins/work/metadata/plugily.projects.java-conventions/metadata.bin delete mode 100644 .github/gradle/buildSrc/build/pluginDescriptors/plugily.projects.java-conventions.properties delete mode 100644 .github/gradle/buildSrc/build/resources/main/META-INF/gradle-plugins/plugily.projects.java-conventions.properties delete mode 100644 .github/gradle/buildSrc/build/tmp/compileJava/previous-compilation-data.bin delete mode 100644 .github/gradle/buildSrc/build/tmp/jar/MANIFEST.MF delete mode 100644 .github/gradle/buildSrc/src/main/groovy/plugily.projects.java-conventions.gradle rename {.github/gradle/api => MiniGamesBox API}/build.gradle.kts (100%) delete mode 100644 MiniGamesBox API/pom.xml rename {.github/gradle/classic => MiniGamesBox Classic}/build.gradle.kts (100%) delete mode 100644 MiniGamesBox Classic/pom.xml rename {.github/gradle/database => MiniGamesBox Database}/build.gradle.kts (100%) delete mode 100644 MiniGamesBox Database/pom.xml rename {.github/gradle/inventory => MiniGamesBox Inventory}/build.gradle.kts (100%) delete mode 100644 MiniGamesBox Inventory/pom.xml rename {.github/gradle/utils => MiniGamesBox Utils}/build.gradle.kts (100%) delete mode 100644 MiniGamesBox Utils/pom.xml rename .github/gradle/gradle.properties => gradle.properties (100%) rename .github/gradle/gradlew => gradlew (100%) rename .github/gradle/gradlew.bat => gradlew.bat (100%) delete mode 100644 pom.xml rename .github/gradle/settings.gradle.kts => settings.gradle.kts (100%) diff --git a/.github/gradle/buildSrc/build.gradle.kts b/.github/gradle/buildSrc/build.gradle.kts deleted file mode 100644 index 9a9b29cf..00000000 --- a/.github/gradle/buildSrc/build.gradle.kts +++ /dev/null @@ -1,28 +0,0 @@ -/* - * MiniGamesBox - Library box with massive content that could be seen as minigames core. - * Copyright (C) 2023 Plugily Projects - maintained by Tigerpanzer_02 and contributors - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -plugins { - // Support convention plugins written in Groovy. Convention plugins are build scripts in 'src/main' that automatically become available as plugins in the main build. - id("groovy-gradle-plugin") -} - -repositories { - // Use the plugin portal to apply community plugins in convention plugins. - gradlePluginPortal() -} - diff --git a/.github/gradle/buildSrc/build/groovy-dsl-plugins/output/adapter-src/PlugilyProjectsJavaConventionsPlugin.java b/.github/gradle/buildSrc/build/groovy-dsl-plugins/output/adapter-src/PlugilyProjectsJavaConventionsPlugin.java deleted file mode 100644 index 52fd8409..00000000 --- a/.github/gradle/buildSrc/build/groovy-dsl-plugins/output/adapter-src/PlugilyProjectsJavaConventionsPlugin.java +++ /dev/null @@ -1,45 +0,0 @@ -//CHECKSTYLE:OFF -import org.gradle.util.GradleVersion; -import org.gradle.groovy.scripts.BasicScript; -import org.gradle.groovy.scripts.ScriptSource; -import org.gradle.groovy.scripts.TextResourceScriptSource; -import org.gradle.internal.resource.StringTextResource; -/** - * Precompiled plugily.projects.java-conventions script plugin. - **/ -@SuppressWarnings("DefaultPackage") -public class PlugilyProjectsJavaConventionsPlugin implements org.gradle.api.Plugin { - private static final String MIN_SUPPORTED_GRADLE_VERSION = "5.0"; - @Override - public void apply(org.gradle.api.internal.project.ProjectInternal target) { - assertSupportedByCurrentGradleVersion(); - try { - Class pluginsBlockClass = Class.forName("cp_precompiled_PlugilyProjectsJavaConventions").asSubclass(BasicScript.class); - BasicScript pluginsBlockScript = pluginsBlockClass.getDeclaredConstructor().newInstance(); - pluginsBlockScript.setScriptSource(scriptSource(pluginsBlockClass)); - pluginsBlockScript.init(target, target.getServices()); - pluginsBlockScript.run(); - target.getPluginManager().apply("java-library"); - target.getPluginManager().apply("signing"); - target.getPluginManager().apply("maven-publish"); - - - Class precompiledScriptClass = Class.forName("precompiled_PlugilyProjectsJavaConventions").asSubclass(BasicScript.class); - BasicScript script = precompiledScriptClass.getDeclaredConstructor().newInstance(); - script.setScriptSource(scriptSource(precompiledScriptClass)); - script.init(target, target.getServices()); - script.run(); - } catch (Exception e) { - throw new RuntimeException(e); - } - } - private static ScriptSource scriptSource(Class scriptClass) { - return new TextResourceScriptSource(new StringTextResource(scriptClass.getSimpleName(), "")); - } - private static void assertSupportedByCurrentGradleVersion() { - if (GradleVersion.current().getBaseVersion().compareTo(GradleVersion.version(MIN_SUPPORTED_GRADLE_VERSION)) < 0) { - throw new RuntimeException("Precompiled Groovy script plugins require Gradle "+MIN_SUPPORTED_GRADLE_VERSION+" or higher"); - } - } -} -//CHECKSTYLE:ON diff --git a/.github/gradle/buildSrc/build/groovy-dsl-plugins/output/plugin-requests/plugily.projects.java-conventions/metadata.bin b/.github/gradle/buildSrc/build/groovy-dsl-plugins/output/plugin-requests/plugily.projects.java-conventions/metadata.bin deleted file mode 100644 index f76dd238ade08917e6712764a16a22005a50573d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1 IcmZPo000310RR91 diff --git a/.github/gradle/buildSrc/build/groovy-dsl-plugins/work/metadata/plugily.projects.java-conventions/metadata.bin b/.github/gradle/buildSrc/build/groovy-dsl-plugins/work/metadata/plugily.projects.java-conventions/metadata.bin deleted file mode 100644 index bdc955b7b2e610ad5a72302b139a2e6cb325519a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2 JcmZQz1ONa700IC2 diff --git a/.github/gradle/buildSrc/build/pluginDescriptors/plugily.projects.java-conventions.properties b/.github/gradle/buildSrc/build/pluginDescriptors/plugily.projects.java-conventions.properties deleted file mode 100644 index 5eb08959..00000000 --- a/.github/gradle/buildSrc/build/pluginDescriptors/plugily.projects.java-conventions.properties +++ /dev/null @@ -1 +0,0 @@ -implementation-class=PlugilyProjectsJavaConventionsPlugin diff --git a/.github/gradle/buildSrc/build/resources/main/META-INF/gradle-plugins/plugily.projects.java-conventions.properties b/.github/gradle/buildSrc/build/resources/main/META-INF/gradle-plugins/plugily.projects.java-conventions.properties deleted file mode 100644 index 5eb08959..00000000 --- a/.github/gradle/buildSrc/build/resources/main/META-INF/gradle-plugins/plugily.projects.java-conventions.properties +++ /dev/null @@ -1 +0,0 @@ -implementation-class=PlugilyProjectsJavaConventionsPlugin diff --git a/.github/gradle/buildSrc/build/tmp/compileJava/previous-compilation-data.bin b/.github/gradle/buildSrc/build/tmp/compileJava/previous-compilation-data.bin deleted file mode 100644 index 9acd93ccc8f7d9e1919344bcdb6bbb7375a1b0a6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 84348 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 diff --git a/.github/gradle/buildSrc/build/tmp/jar/MANIFEST.MF b/.github/gradle/buildSrc/build/tmp/jar/MANIFEST.MF deleted file mode 100644 index 59499bce..00000000 --- a/.github/gradle/buildSrc/build/tmp/jar/MANIFEST.MF +++ /dev/null @@ -1,2 +0,0 @@ -Manifest-Version: 1.0 - diff --git a/.github/gradle/buildSrc/src/main/groovy/plugily.projects.java-conventions.gradle b/.github/gradle/buildSrc/src/main/groovy/plugily.projects.java-conventions.gradle deleted file mode 100644 index beaeb44f..00000000 --- a/.github/gradle/buildSrc/src/main/groovy/plugily.projects.java-conventions.gradle +++ /dev/null @@ -1,96 +0,0 @@ -/* - * This file was generated by the Gradle 'init' task. - */ - -plugins { - id 'java-library' - id 'signing' - id 'maven-publish' -} - -repositories { - mavenCentral() - mavenLocal() - maven { - name = "papermc" - url = uri("https://repo.papermc.io/repository/maven-public/") - } - maven { - url = 'https://hub.spigotmc.org/nexus/content/repositories/snapshots/' - - // As of Gradle 5.1, you can limit this to only those - // dependencies you expect from it - content { - includeGroup 'org.bukkit' - includeGroup 'org.spigotmc' - } - } - - maven { url = 'https://oss.sonatype.org/content/repositories/snapshots' } - maven { url = 'https://oss.sonatype.org/content/repositories/central' } - - // mavenLocal() // This is needed for CraftBukkit and Spigot. - - maven { - url = uri('https://maven.plugily.xyz/releases') - } - - maven { - url = uri('https://simonsator.de/repo/') - } - - maven { - url = uri('https://repo.alessiodp.com/releases/') - } - - maven { - url = uri('https://repo.extendedclip.com/releases/') - } -} - -dependencies { - compileOnly("io.papermc.paper:paper-api:1.21.3-R0.1-SNAPSHOT") - compileOnly 'org.spigotmc:spigot-api:1.8.8-R0.1-SNAPSHOT' - compileOnly 'org.jetbrains:annotations:23.0.0' -} - -java { - withJavadocJar() -} - -javadoc { - options.encoding = 'UTF-8' -} - -publishing { - repositories { - maven { - name = "Releases" - url = "https://maven.plugily.xyz/releases" - credentials { - username = System.getenv("MAVEN_USERNAME") - password = System.getenv("MAVEN_PASSWORD") - } - } - maven { - name = "Snapshots" - url = uri("https://maven.plugily.xyz/snapshots") - credentials { - username = System.getenv("MAVEN_USERNAME") - password = System.getenv("MAVEN_PASSWORD") - } - } - } - publications { - maven(MavenPublication) { - from components.java - if (project.tasks.findByName("shadowJar") != null) { - artifact tasks.shadowJar - } - } - } -} - -tasks.withType(JavaCompile).configureEach { - options.encoding = 'UTF-8' -} diff --git a/.github/maven/api/pom.xml b/.github/maven/api/pom.xml index f34c705b..c8942187 100644 --- a/.github/maven/api/pom.xml +++ b/.github/maven/api/pom.xml @@ -23,7 +23,7 @@ minigamesbox plugily.projects - 1.3.17-SNAPSHOT2 + 1.3.3.1-java8 4.0.0 diff --git a/.github/maven/classic/pom.xml b/.github/maven/classic/pom.xml index 33ad157c..6268ac1a 100644 --- a/.github/maven/classic/pom.xml +++ b/.github/maven/classic/pom.xml @@ -23,7 +23,7 @@ minigamesbox plugily.projects - 1.3.17-SNAPSHOT2 + 1.3.3.1-java8 4.0.0 diff --git a/.github/maven/database/pom.xml b/.github/maven/database/pom.xml index 7c6cfdd0..644cfcef 100644 --- a/.github/maven/database/pom.xml +++ b/.github/maven/database/pom.xml @@ -23,7 +23,7 @@ minigamesbox plugily.projects - 1.3.17-SNAPSHOT2 + 1.3.3.1-java8 4.0.0 diff --git a/.github/maven/inventory/pom.xml b/.github/maven/inventory/pom.xml index c588e18e..ef81d3a0 100644 --- a/.github/maven/inventory/pom.xml +++ b/.github/maven/inventory/pom.xml @@ -23,7 +23,7 @@ minigamesbox plugily.projects - 1.3.17-SNAPSHOT2 + 1.3.3.1-java8 4.0.0 diff --git a/.github/maven/pom.xml b/.github/maven/pom.xml index c10f8f18..433a4abc 100644 --- a/.github/maven/pom.xml +++ b/.github/maven/pom.xml @@ -24,7 +24,7 @@ plugily.projects minigamesbox - 1.3.17-SNAPSHOT2 + 1.3.3.1-java8 pom diff --git a/.github/maven/utils/pom.xml b/.github/maven/utils/pom.xml index fe735490..8a2fc534 100644 --- a/.github/maven/utils/pom.xml +++ b/.github/maven/utils/pom.xml @@ -23,7 +23,7 @@ minigamesbox plugily.projects - 1.3.17-SNAPSHOT2 + 1.3.3.1-java8 4.0.0 diff --git a/.github/workflows/deploy-development.yml b/.github/workflows/deploy-development.yml index 0d19ea39..62db223a 100644 --- a/.github/workflows/deploy-development.yml +++ b/.github/workflows/deploy-development.yml @@ -28,29 +28,16 @@ jobs: uses: actions/checkout@v4.2.2 with: ref: 'development' - - name: Set up Maven - uses: stCarolas/setup-maven@v5 - with: - maven-version: 3.8.2 - - name: Cache - uses: actions/cache@v4.2.2 - with: - path: ~/.m2/repository - key: maven-${{ hashFiles('**/pom.xml') }} - restore-keys: maven- - name: Set up JDK uses: actions/setup-java@v4.6.0 with: distribution: 'temurin' java-version: '21' java-package: jdk - - name: Publish with Maven - uses: s4u/maven-settings-action@v3.1.0 - with: - servers: | - [{ - "id": "Snapshot", - "username": "${{ secrets.SNAPSHOTSUSERNAME }}", - "password": "${{ secrets.SNAPSHOTSPASSWORD }}" - }] - - run: mvn clean verify compile package site:site javadoc:javadoc javadoc:jar deploy -f pom.xml + - name: Grant execute permission for gradlew + run: chmod +x gradlew + - name: Publish with Gradle + run: ./gradlew publishMavenPublicationToSnapshotsRepository --info + env: + MAVEN_USERNAME: ${{ secrets.SNAPSHOTSUSERNAME }} + MAVEN_PASSWORD: ${{ secrets.SNAPSHOTSPASSWORD }} diff --git a/.github/gradle/api/build.gradle.kts b/MiniGamesBox API/build.gradle.kts similarity index 100% rename from .github/gradle/api/build.gradle.kts rename to MiniGamesBox API/build.gradle.kts diff --git a/MiniGamesBox API/pom.xml b/MiniGamesBox API/pom.xml deleted file mode 100644 index f34c705b..00000000 --- a/MiniGamesBox API/pom.xml +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - minigamesbox - plugily.projects - 1.3.17-SNAPSHOT2 - - 4.0.0 - - MiniGamesBox-Api - - 1.8 - UTF-8 - UTF-8 - - - - - - mojang-repo - https://libraries.minecraft.net/ - - - simonsators-repo - https://simonsator.de/repo/ - - - alessiodp-repo - https://repo.alessiodp.com/releases/ - - - plugilyprojects-repo - https://maven.plugily.xyz/releases - - - papi-repo - https://repo.extendedclip.com/content/repositories/placeholderapi/ - - - - - - plugily.projects - MiniGamesBox-Database - ${project.version} - compile - true - - - com.github.cryptomorin - XSeries - 13.0.0 - true - - - - - - - - org.apache.maven.plugins - maven-javadoc-plugin - 3.4.0 - - MiniGamesBox Inventory API docs for v${project.version} - Library box with massive content that could be seen as minigames core. - minecraft/minigamesbox/inventory - false - - - - - - org.apache.maven.wagon - wagon-ssh - 3.5.2 - - - - diff --git a/.github/gradle/classic/build.gradle.kts b/MiniGamesBox Classic/build.gradle.kts similarity index 100% rename from .github/gradle/classic/build.gradle.kts rename to MiniGamesBox Classic/build.gradle.kts diff --git a/MiniGamesBox Classic/pom.xml b/MiniGamesBox Classic/pom.xml deleted file mode 100644 index 33ad157c..00000000 --- a/MiniGamesBox Classic/pom.xml +++ /dev/null @@ -1,251 +0,0 @@ - - - - - - minigamesbox - plugily.projects - 1.3.17-SNAPSHOT2 - - 4.0.0 - - MiniGamesBox-Classic - - 1.8 - UTF-8 - UTF-8 - - - - mojang-repo - https://libraries.minecraft.net/ - - - simonsators-repo - https://simonsator.de/repo/ - - - alessiodp-repo - https://repo.alessiodp.com/releases/ - - - plugilyprojects-repo - https://maven.plugily.xyz/releases - - - papi-repo - https://repo.extendedclip.com/content/repositories/placeholderapi/ - - - via-version - https://repo.viaversion.com - - - jitpack - https://jitpack.io - - - - - - com.mojang - authlib - 2.3.31 - provided - - - fr.mrmicky - fastboard - 2.1.3 - true - - - com.viaversion - viaversion-api - 5.2.1 - provided - - - com.github.ProtocolSupport - ProtocolSupport - master - provided - - - com.github.cryptomorin - XSeries - 13.0.0 - true - - - org.openjdk.nashorn - nashorn-core - 15.4 - - - de.simonsator - DevelopmentPAFSpigot - 1.0.67 - provided - - - de.simonsator - Party-and-Friends-MySQL-Edition-Spigot-API - 1.5.4-RELEASE - provided - - - de.simonsator - Spigot-Party-API-For-RedisBungee - 1.0.3-SNAPSHOT - provided - - - com.alessiodp.parties - parties-api - 3.2.9 - provided - - - plugily.projects - MiniGamesBox-Inventory - ${project.version} - compile - true - - - plugily.projects - MiniGamesBox-Utils - ${project.version} - compile - true - - - plugily.projects - MiniGamesBox-Api - ${project.version} - compile - true - - - plugily.projects - MiniGamesBox-Database - ${project.version} - compile - true - - - me.clip - placeholderapi - 2.11.2 - provided - - - org.jetbrains - annotations - - - - - com.google.code.gson - gson - 2.9.0 - compile - - - - io.papermc - paperlib - 1.0.7 - compile - - - - - - - org.apache.maven.plugins - maven-jar-plugin - 3.2.2 - - - org.apache.maven.plugins - maven-javadoc-plugin - 3.4.0 - - MiniGamesBox Classic API docs for v${project.version} - Library box with massive content that could be seen as minigames core. - minecraft/minigamesbox/classic - false - - - - org.apache.maven.plugins - maven-shade-plugin - 3.3.0 - - - - com.cryptomorin.xseries.particles - plugily.projects.minigamesbox.classic.utils.version.xseries - - - com.cryptomorin.xseries - plugily.projects.minigamesbox.classic.utils.version.xseries - - - fr.mrmicky.fastboard - plugily.projects.minigamesbox.classic.utils.scoreboard - - - fr.mrmicky.fastinv - plugily.projects.minigamesbox.inventory.utils.fastinv - - - org.bstats - plugily.projects.minigamesbox.classic.utils.bstats - - - io.papermc.lib - plugily.projects.minigamesbox.classic.utils.paperlib - - - false - - - - package - - shade - - - - - - - - org.apache.maven.wagon - wagon-ssh - 3.5.2 - - - - \ No newline at end of file diff --git a/.github/gradle/database/build.gradle.kts b/MiniGamesBox Database/build.gradle.kts similarity index 100% rename from .github/gradle/database/build.gradle.kts rename to MiniGamesBox Database/build.gradle.kts diff --git a/MiniGamesBox Database/pom.xml b/MiniGamesBox Database/pom.xml deleted file mode 100644 index 7c6cfdd0..00000000 --- a/MiniGamesBox Database/pom.xml +++ /dev/null @@ -1,71 +0,0 @@ - - - - - - minigamesbox - plugily.projects - 1.3.17-SNAPSHOT2 - - 4.0.0 - - MiniGamesBox-Database - - - - 1.8 - UTF-8 - UTF-8 - - - - - - com.zaxxer - HikariCP - 4.0.3 - - - - - - - - org.apache.maven.plugins - maven-javadoc-plugin - 3.4.0 - - MiniGamesBox Inventory API docs for v${project.version} - Library box with massive content that could be seen as minigames core. - minecraft/minigamesbox/inventory - false - - - - - - org.apache.maven.wagon - wagon-ssh - 3.5.2 - - - - diff --git a/.github/gradle/inventory/build.gradle.kts b/MiniGamesBox Inventory/build.gradle.kts similarity index 100% rename from .github/gradle/inventory/build.gradle.kts rename to MiniGamesBox Inventory/build.gradle.kts diff --git a/MiniGamesBox Inventory/pom.xml b/MiniGamesBox Inventory/pom.xml deleted file mode 100644 index c588e18e..00000000 --- a/MiniGamesBox Inventory/pom.xml +++ /dev/null @@ -1,96 +0,0 @@ - - - - - - minigamesbox - plugily.projects - 1.3.17-SNAPSHOT2 - - 4.0.0 - - MiniGamesBox-Inventory - - 1.8 - UTF-8 - UTF-8 - - - - - jitpack.io - https://jitpack.io - - - - - - fr.mrmicky - FastInv - 3.0.3 - - - - - - - org.apache.maven.plugins - maven-javadoc-plugin - 3.4.0 - - MiniGamesBox Inventory API docs for v${project.version} - Library box with massive content that could be seen as minigames core. - minecraft/minigamesbox/inventory - false - - - - org.apache.maven.plugins - maven-shade-plugin - 3.3.0 - - - - fr.mrmicky.fastinv - plugily.projects.minigamesbox.inventory.utils.fastinv - - - false - - - - package - - shade - - - - - - - - org.apache.maven.wagon - wagon-ssh - 3.5.2 - - - - diff --git a/.github/gradle/utils/build.gradle.kts b/MiniGamesBox Utils/build.gradle.kts similarity index 100% rename from .github/gradle/utils/build.gradle.kts rename to MiniGamesBox Utils/build.gradle.kts diff --git a/MiniGamesBox Utils/pom.xml b/MiniGamesBox Utils/pom.xml deleted file mode 100644 index fe735490..00000000 --- a/MiniGamesBox Utils/pom.xml +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - minigamesbox - plugily.projects - 1.3.17-SNAPSHOT2 - - 4.0.0 - - MiniGamesBox-Utils - - 1.8 - UTF-8 - UTF-8 - - - - - org.apache.maven.plugins - maven-javadoc-plugin - 3.4.0 - - MiniGamesBox Inventory API docs for v${project.version} - Library box with massive content that could be seen as minigames core. - minecraft/minigamesbox/inventory - false - - - - - - org.apache.maven.wagon - wagon-ssh - 3.5.2 - - - - diff --git a/.github/gradle/gradle.properties b/gradle.properties similarity index 100% rename from .github/gradle/gradle.properties rename to gradle.properties diff --git a/.github/gradle/gradlew b/gradlew similarity index 100% rename from .github/gradle/gradlew rename to gradlew diff --git a/.github/gradle/gradlew.bat b/gradlew.bat similarity index 100% rename from .github/gradle/gradlew.bat rename to gradlew.bat diff --git a/pom.xml b/pom.xml deleted file mode 100644 index a02b34e3..00000000 --- a/pom.xml +++ /dev/null @@ -1,164 +0,0 @@ - - - - - 4.0.0 - - plugily.projects - minigamesbox - 1.3.17-SNAPSHOT2 - pom - - - MiniGamesBox Inventory - MiniGamesBox Utils - MiniGamesBox Database - MiniGamesBox Classic - MiniGamesBox API - - - MiniGamesBox - Library box with massive content that could be seen as minigames core. - https://plugily.xyz - - - 1.8 - UTF-8 - UTF-8 - - - - - papermc - https://repo.papermc.io/repository/maven-public/ - - - spigot-repo - https://hub.spigotmc.org/nexus/content/repositories/snapshots/ - - - plugilyprojects-repo - https://maven.plugily.xyz/releases - - - - - - GNU General Public License v3 - https://www.gnu.org/licenses/gpl-3.0.en.html - - - - - - - io.papermc.paper - paper-api - 1.21.1-R0.1-SNAPSHOT - provided - - - - org.spigotmc - spigot-api - 1.8.8-R0.1-SNAPSHOT - provided - - - org.jetbrains - annotations - 23.0.0 - provided - - - - - - - src/main/resources - true - - - - - org.apache.maven.plugins - maven-compiler-plugin - 3.10.1 - - ${java.version} - ${java.version} - - - - org.apache.maven.plugins - maven-site-plugin - 3.12.0 - - - org.jacoco - jacoco-maven-plugin - 0.8.8 - - true - - - - - prepare-agent - - - - post-unit-test - test - - report - - - - - - com.github.spotbugs - spotbugs-maven-plugin - 4.7.0.0 - - - - com.github.spotbugs - spotbugs - 4.7.1 - - - - - - - - - - Release - https://maven.plugily.xyz/releases - - - Snapshot - https://maven.plugily.xyz/snapshots - - - diff --git a/.github/gradle/settings.gradle.kts b/settings.gradle.kts similarity index 100% rename from .github/gradle/settings.gradle.kts rename to settings.gradle.kts From ea48307b3ea60d71be787e08eb69c4e4ba81a1f8 Mon Sep 17 00:00:00 2001 From: "version-bump[github-action]" <41898282+version-bump[github-action]@users.noreply.github.com> Date: Wed, 12 Mar 2025 19:10:21 +0000 Subject: [PATCH 20/42] Bump version from 1.3.17-SNAPSHOT2 to 1.3.17-SNAPSHOT3 --- gradle.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle.properties b/gradle.properties index 6f753a54..3012ba5e 100644 --- a/gradle.properties +++ b/gradle.properties @@ -16,4 +16,4 @@ # along with this program. If not, see . # group=plugily.projects -version=1.3.17-SNAPSHOT2 +version=1.3.17-SNAPSHOT3 From dcbe843eb8f24819e79756f6f4250251e4ffe4d0 Mon Sep 17 00:00:00 2001 From: Tigerpanzer_02 <37453987+Tigerpanzer02@users.noreply.github.com> Date: Wed, 12 Mar 2025 21:59:11 +0100 Subject: [PATCH 21/42] Removed usage of org.apache.commons.lang --- .github/maven/classic/pom.xml | 6 ------ MiniGamesBox Classic/build.gradle.kts | 1 - .../arguments/game/LeaderboardArgument.java | 11 +++++------ .../minigamesbox/classic/events/ChatEvents.java | 13 +++++-------- .../handlers/hologram/LeaderboardHologram.java | 7 +++---- .../classic/handlers/powerup/PowerupRegistry.java | 5 ++--- .../classic/handlers/reward/Reward.java | 7 +++---- .../classic/utils/services/UpdateChecker.java | 4 ++-- 8 files changed, 20 insertions(+), 34 deletions(-) diff --git a/.github/maven/classic/pom.xml b/.github/maven/classic/pom.xml index 6268ac1a..8d2d39e5 100644 --- a/.github/maven/classic/pom.xml +++ b/.github/maven/classic/pom.xml @@ -65,12 +65,6 @@ - - com.mojang - authlib - 2.3.31 - provided - fr.mrmicky fastboard diff --git a/MiniGamesBox Classic/build.gradle.kts b/MiniGamesBox Classic/build.gradle.kts index 5e9992d1..dd97d639 100644 --- a/MiniGamesBox Classic/build.gradle.kts +++ b/MiniGamesBox Classic/build.gradle.kts @@ -39,7 +39,6 @@ dependencies { implementation("org.openjdk.nashorn:nashorn-core:15.4") implementation("org.ow2.asm:asm:9.6") compileOnly("com.viaversion:viaversion-api:5.2.1") - compileOnly("com.mojang:authlib:3.13.56") compileOnly("de.simonsator:DevelopmentPAFSpigot:1.0.67") compileOnly("de.simonsator:Party-and-Friends-MySQL-Edition-Spigot-API:1.5.4-RELEASE") compileOnly("de.simonsator:Spigot-Party-API-For-RedisBungee:1.0.3-SNAPSHOT") diff --git a/MiniGamesBox Classic/src/main/java/plugily/projects/minigamesbox/classic/commands/arguments/game/LeaderboardArgument.java b/MiniGamesBox Classic/src/main/java/plugily/projects/minigamesbox/classic/commands/arguments/game/LeaderboardArgument.java index c875f0e4..e50dd9df 100644 --- a/MiniGamesBox Classic/src/main/java/plugily/projects/minigamesbox/classic/commands/arguments/game/LeaderboardArgument.java +++ b/MiniGamesBox Classic/src/main/java/plugily/projects/minigamesbox/classic/commands/arguments/game/LeaderboardArgument.java @@ -18,7 +18,6 @@ package plugily.projects.minigamesbox.classic.commands.arguments.game; -import org.apache.commons.lang.StringUtils; import org.bukkit.command.CommandSender; import plugily.projects.minigamesbox.api.stats.IStatisticType; import plugily.projects.minigamesbox.classic.commands.arguments.PluginArgumentsRegistry; @@ -69,7 +68,7 @@ public void execute(CommandSender sender, String[] args) { private void printLeaderboard(CommandSender sender, IStatisticType statisticType) { java.util.Map stats = registry.getPlugin().getStatsStorage().getStats(statisticType); new MessageBuilder("LEADERBOARD_TYPE_CHAT_TOP_HEADER").asKey().send(sender); - String statistic = StringUtils.capitalize(statisticType.getName().toLowerCase().replace('_', ' ')); + String statistic = statisticType.getName().toLowerCase().replace('_', ' ').toUpperCase(); UUID[] array = stats.keySet().toArray(new UUID[0]); for(int position = 1; position <= 10; position++) { if(array.length - position < 0) { @@ -87,10 +86,10 @@ private void printLeaderboard(CommandSender sender, IStatisticType statisticType private String formatMessage(String statisticName, String playerName, int position, int value) { String message = new MessageBuilder("LEADERBOARD_TYPE_CHAT_TOP_FORMAT").asKey().build(); - message = StringUtils.replace(message, "%number%", Integer.toString(position)); - message = StringUtils.replace(message, "%player%", playerName); - message = StringUtils.replace(message, "%value%", Integer.toString(value)); - message = StringUtils.replace(message, "%user_statistic%", statisticName); + message = message.replace("%number%", Integer.toString(position)); + message = message.replace("%player%", playerName); + message = message.replace("%value%", Integer.toString(value)); + message = message.replace("%user_statistic%", statisticName); return message; } diff --git a/MiniGamesBox Classic/src/main/java/plugily/projects/minigamesbox/classic/events/ChatEvents.java b/MiniGamesBox Classic/src/main/java/plugily/projects/minigamesbox/classic/events/ChatEvents.java index 2a7d5282..ad1ab8d7 100644 --- a/MiniGamesBox Classic/src/main/java/plugily/projects/minigamesbox/classic/events/ChatEvents.java +++ b/MiniGamesBox Classic/src/main/java/plugily/projects/minigamesbox/classic/events/ChatEvents.java @@ -18,7 +18,6 @@ package plugily.projects.minigamesbox.classic.events; -import org.apache.commons.lang.StringUtils; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; @@ -86,21 +85,19 @@ private String formatChatPlaceholders(IUser user, IPluginArena arena) { String formatted = new MessageBuilder("IN_GAME_GAME_CHAT_FORMAT").asKey().getRaw(); if(user.isSpectator()) { if(formatted.contains("%kit%")) { - formatted = - StringUtils.replace( - formatted, "%kit%", new MessageBuilder("IN_GAME_DEATH_TAG").asKey().build()); + formatted = formatted.replace("%kit%", new MessageBuilder("IN_GAME_DEATH_TAG").asKey().build()); } else { formatted = new MessageBuilder("IN_GAME_DEATH_TAG").asKey().build() + formatted; } } else { if(!plugin.getConfigPreferences().getOption("KITS")) { - formatted = StringUtils.replace(formatted, "%kit%", "-"); + formatted = formatted.replace("%kit%", "-"); } else { - formatted = StringUtils.replace(formatted, "%kit%", user.getKit().getName()); + formatted = formatted.replace("%kit%", user.getKit().getName()); } } - formatted = StringUtils.replace(formatted, "%player%", "%1$s"); - formatted = StringUtils.replace(formatted, "%message%", "%2$s"); + formatted = formatted.replace("%player%", "%1$s"); + formatted = formatted.replace("%message%", "%2$s"); formatted = new MessageBuilder(formatted).arena(arena).player(user.getPlayer()).build(); // notice - unresolved % could throw UnknownFormatException return formatted; diff --git a/MiniGamesBox Classic/src/main/java/plugily/projects/minigamesbox/classic/handlers/hologram/LeaderboardHologram.java b/MiniGamesBox Classic/src/main/java/plugily/projects/minigamesbox/classic/handlers/hologram/LeaderboardHologram.java index cb9a3493..00f6cb7b 100644 --- a/MiniGamesBox Classic/src/main/java/plugily/projects/minigamesbox/classic/handlers/hologram/LeaderboardHologram.java +++ b/MiniGamesBox Classic/src/main/java/plugily/projects/minigamesbox/classic/handlers/hologram/LeaderboardHologram.java @@ -19,7 +19,6 @@ package plugily.projects.minigamesbox.classic.handlers.hologram; -import org.apache.commons.lang.StringUtils; import org.bukkit.Bukkit; import org.bukkit.Location; import plugily.projects.minigamesbox.api.stats.IStatisticType; @@ -74,7 +73,7 @@ public void updateHologram() { if(i < reverseKeys.size()) { UUID uuid = reverseKeys.get(i); text = new MessageBuilder("LEADERBOARD_TYPE_HOLOGRAM_FORMAT").asKey().integer(i + 1).value(String.valueOf(values.get(uuid))).build(); - text = StringUtils.replace(text, "%player%", getPlayerNameSafely(uuid)); + text = text.replace("%player%", getPlayerNameSafely(uuid)); } else { text = new MessageBuilder("LEADERBOARD_TYPE_HOLOGRAM_EMPTY_FORMAT").asKey().integer(i + 1).build(); } @@ -92,10 +91,10 @@ public void delete() { private String getPlayerNameSafely(UUID uuid) { String name = plugin.getUserManager().getDatabase().getPlayerName(uuid); // Attempts to get the bukkit name instead if the name is null from database or an empty string - if (name == null || name.isBlank()) { + if (name == null || name.isEmpty()) { name = Bukkit.getOfflinePlayer(uuid).getName(); } - if (name == null || name.isBlank()) { + if (name == null || name.isEmpty()) { return new MessageBuilder("LEADERBOARD_UNKNOWN_PLAYER").asKey().build(); } return name; diff --git a/MiniGamesBox Classic/src/main/java/plugily/projects/minigamesbox/classic/handlers/powerup/PowerupRegistry.java b/MiniGamesBox Classic/src/main/java/plugily/projects/minigamesbox/classic/handlers/powerup/PowerupRegistry.java index 9762c312..37c386cc 100644 --- a/MiniGamesBox Classic/src/main/java/plugily/projects/minigamesbox/classic/handlers/powerup/PowerupRegistry.java +++ b/MiniGamesBox Classic/src/main/java/plugily/projects/minigamesbox/classic/handlers/powerup/PowerupRegistry.java @@ -20,7 +20,6 @@ import com.cryptomorin.xseries.XMaterial; import com.cryptomorin.xseries.XPotion; -import org.apache.commons.lang.StringUtils; import org.bukkit.Bukkit; import org.bukkit.Location; import org.bukkit.configuration.ConfigurationSection; @@ -144,9 +143,9 @@ private int getLongestDuration(List effects) { int longDuration = 0; for(String effect : effects) { - String[] split = StringUtils.split(StringUtils.deleteWhitespace(effect), ','); + String[] split = effect.replaceAll("\\s+","").split(","); if(split.length == 0) { - split = StringUtils.split(effect, ' '); + split = effect.split(" "); } if(split.length <= 2) { return longDuration; diff --git a/MiniGamesBox Classic/src/main/java/plugily/projects/minigamesbox/classic/handlers/reward/Reward.java b/MiniGamesBox Classic/src/main/java/plugily/projects/minigamesbox/classic/handlers/reward/Reward.java index b42a282b..09707e98 100644 --- a/MiniGamesBox Classic/src/main/java/plugily/projects/minigamesbox/classic/handlers/reward/Reward.java +++ b/MiniGamesBox Classic/src/main/java/plugily/projects/minigamesbox/classic/handlers/reward/Reward.java @@ -18,7 +18,6 @@ package plugily.projects.minigamesbox.classic.handlers.reward; -import org.apache.commons.lang.StringUtils; import org.bukkit.Bukkit; import plugily.projects.minigamesbox.api.handlers.reward.IReward; import plugily.projects.minigamesbox.api.handlers.reward.IRewardType; @@ -50,10 +49,10 @@ public Reward(RewardType type, String rawCode) { //set reward executor based on provided code if(rawCode.contains("p:")) { executor = RewardExecutor.PLAYER; - processedCode = StringUtils.replace(processedCode, "p:", ""); + processedCode = processedCode.replace("p:", ""); } else if(rawCode.contains("script:")) { executor = RewardExecutor.SCRIPT; - processedCode = StringUtils.replace(processedCode, "script:", ""); + processedCode = processedCode.replace("script:", ""); } else { executor = RewardExecutor.CONSOLE; } @@ -70,7 +69,7 @@ public Reward(RewardType type, String rawCode) { } String chanceStr = processedCode; chanceStr = chanceStr.substring(0, loc).replaceAll("[^0-9]+", ""); - processedCode = StringUtils.replace(processedCode, "chance(" + chanceStr + "):", ""); + processedCode = processedCode.replace("chance(" + chanceStr + "):", ""); chance = Double.parseDouble(chanceStr); } else { chance = 100.0; diff --git a/MiniGamesBox Classic/src/main/java/plugily/projects/minigamesbox/classic/utils/services/UpdateChecker.java b/MiniGamesBox Classic/src/main/java/plugily/projects/minigamesbox/classic/utils/services/UpdateChecker.java index 82ecdc56..c11f55be 100644 --- a/MiniGamesBox Classic/src/main/java/plugily/projects/minigamesbox/classic/utils/services/UpdateChecker.java +++ b/MiniGamesBox Classic/src/main/java/plugily/projects/minigamesbox/classic/utils/services/UpdateChecker.java @@ -23,7 +23,6 @@ import com.google.gson.JsonObject; import com.google.gson.JsonParser; import com.google.gson.JsonSyntaxException; -import org.apache.commons.lang.math.NumberUtils; import org.bukkit.plugin.java.JavaPlugin; import java.io.IOException; @@ -60,7 +59,8 @@ public final class UpdateChecker { } for(int i = 0; i < Math.min(firstSplit.length, secondSplit.length); i++) { - int currentValue = NumberUtils.toInt(firstSplit[i]), newestValue = NumberUtils.toInt(secondSplit[i]); + + int currentValue = Integer.parseInt(firstSplit[i]), newestValue = Integer.parseInt(secondSplit[i]); if(newestValue > currentValue) { return second; From 22d3aaca6a40b99fc232ac22a63e085107eba4ca Mon Sep 17 00:00:00 2001 From: Tigerpanzer_02 <37453987+Tigerpanzer02@users.noreply.github.com> Date: Wed, 12 Mar 2025 21:59:35 +0100 Subject: [PATCH 22/42] Fixed config saving on FileStats which caused player names to be empty --- .../minigamesbox/classic/user/data/FileStats.java | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/MiniGamesBox Classic/src/main/java/plugily/projects/minigamesbox/classic/user/data/FileStats.java b/MiniGamesBox Classic/src/main/java/plugily/projects/minigamesbox/classic/user/data/FileStats.java index 65eafd78..3e4150e1 100644 --- a/MiniGamesBox Classic/src/main/java/plugily/projects/minigamesbox/classic/user/data/FileStats.java +++ b/MiniGamesBox Classic/src/main/java/plugily/projects/minigamesbox/classic/user/data/FileStats.java @@ -32,7 +32,6 @@ import java.util.Map; import java.util.TreeMap; import java.util.UUID; -import java.util.concurrent.atomic.AtomicBoolean; import java.util.logging.Level; /** @@ -43,16 +42,14 @@ public class FileStats implements UserDatabase { private final PluginMain plugin; - private final FileConfiguration config; - private final AtomicBoolean updateRequired = new AtomicBoolean(false); public FileStats(PluginMain plugin) { this.plugin = plugin; - this.config = ConfigUtils.getConfig(plugin, "stats"); } @Override public void saveStatistic(IUser user, IStatisticType stat) { + FileConfiguration config = ConfigUtils.getConfig(plugin, "stats"); config.set(user.getUniqueId().toString() + "." + stat.getName(), user.getStatistic(stat)); ConfigUtils.saveConfig(plugin, config, "stats"); } @@ -65,7 +62,7 @@ public void saveAllStatistic(IUser user) { @Override public void loadStatistics(IUser user) { String uuid = user.getUniqueId().toString(); - plugin.getStatsStorage().getStatistics().forEach((s, statisticType) -> user.setStatistic(statisticType, config.getInt(uuid + "." + statisticType.getName()))); + plugin.getStatsStorage().getStatistics().forEach((s, statisticType) -> user.setStatistic(statisticType, ConfigUtils.getConfig(plugin, "stats").getInt(uuid + "." + statisticType.getName()))); } @Override @@ -82,6 +79,7 @@ public void dropColumn(String columnName) { @Override public Map getStats(IStatisticType stat) { Map stats = new TreeMap<>(); + FileConfiguration config = ConfigUtils.getConfig(plugin, "stats"); for(String string : config.getKeys(false)) { if(string.equals("data-version")) { continue; @@ -100,7 +98,6 @@ public void disable() { for(Player player : plugin.getServer().getOnlinePlayers()) { updateStats(plugin.getUserManager().getUser(player)); } - ConfigUtils.saveConfig(plugin, config, "stats"); } @Override @@ -110,12 +107,12 @@ public MysqlDatabase getMySQLDatabase() { @Override public String getPlayerName(UUID uuid) { - return config.getString(uuid + ".playername", Bukkit.getOfflinePlayer(uuid).getName()); + return ConfigUtils.getConfig(plugin, "stats").getString(uuid + ".playername", Bukkit.getOfflinePlayer(uuid).getName()); } private void updateStats(IUser user) { String uuid = user.getUniqueId().toString(); - + FileConfiguration config = ConfigUtils.getConfig(plugin, "stats"); plugin.getStatsStorage().getStatistics().forEach((s, statisticType) -> { if(statisticType.isPersistent()) { String path = uuid + "." + statisticType.getName(); From 8f31acaf8f45c6ff92a9cdd027c700af9ebee376 Mon Sep 17 00:00:00 2001 From: "version-bump[github-action]" <41898282+version-bump[github-action]@users.noreply.github.com> Date: Wed, 12 Mar 2025 21:00:38 +0000 Subject: [PATCH 23/42] Bump version from 1.3.17-SNAPSHOT3 to 1.3.17-SNAPSHOT4 --- gradle.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle.properties b/gradle.properties index 3012ba5e..f6aa619a 100644 --- a/gradle.properties +++ b/gradle.properties @@ -16,4 +16,4 @@ # along with this program. If not, see . # group=plugily.projects -version=1.3.17-SNAPSHOT3 +version=1.3.17-SNAPSHOT4 From fe3d78c9a076d31248076687be6102ac4ac2a2dd Mon Sep 17 00:00:00 2001 From: Tigerpanzer_02 <37453987+Tigerpanzer02@users.noreply.github.com> Date: Wed, 12 Mar 2025 23:06:20 +0100 Subject: [PATCH 24/42] Switch from gradle to maven attempt 2 --- .../building/api}/build.gradle.kts | 0 .github/{maven => building}/api/pom.xml | 2 +- .../building/buildSrc}/build.gradle.kts | 0 .../PlugilyProjectsJavaConventionsPlugin.java | 45 ++++ .../metadata.bin | Bin 0 -> 1 bytes .../metadata.bin | Bin 0 -> 2 bytes ...ugily.projects.java-conventions.properties | 1 + ...ugily.projects.java-conventions.properties | 1 + .../compileJava/previous-compilation-data.bin | Bin 0 -> 84348 bytes .../buildSrc/build/tmp/jar/MANIFEST.MF | 2 + .../plugily.projects.java-conventions.gradle | 0 .../building/classic}/build.gradle.kts | 0 .github/{maven => building}/classic/pom.xml | 2 +- .../building/database}/build.gradle.kts | 0 .github/{maven => building}/database/pom.xml | 2 +- .../building/gradle.properties | 0 gradlew => .github/building/gradlew | 0 gradlew.bat => .github/building/gradlew.bat | 0 .../building/inventory}/build.gradle.kts | 0 .github/{maven => building}/inventory/pom.xml | 2 +- .github/{maven => building}/pom.xml | 2 +- .../building/settings.gradle.kts | 0 .../building/utils}/build.gradle.kts | 0 .github/{maven => building}/utils/pom.xml | 2 +- .github/workflows/deploy-development.yml | 2 +- MiniGamesBox API/pom.xml | 100 +++++++ MiniGamesBox Classic/pom.xml | 245 ++++++++++++++++++ MiniGamesBox Database/pom.xml | 71 +++++ MiniGamesBox Inventory/pom.xml | 96 +++++++ MiniGamesBox Utils/pom.xml | 58 +++++ pom.xml | 160 ++++++++++++ 31 files changed, 786 insertions(+), 7 deletions(-) rename {MiniGamesBox API => .github/building/api}/build.gradle.kts (100%) rename .github/{maven => building}/api/pom.xml (98%) rename {buildSrc => .github/building/buildSrc}/build.gradle.kts (100%) create mode 100644 .github/building/buildSrc/build/groovy-dsl-plugins/output/adapter-src/PlugilyProjectsJavaConventionsPlugin.java create mode 100644 .github/building/buildSrc/build/groovy-dsl-plugins/output/plugin-requests/plugily.projects.java-conventions/metadata.bin create mode 100644 .github/building/buildSrc/build/groovy-dsl-plugins/work/metadata/plugily.projects.java-conventions/metadata.bin create mode 100644 .github/building/buildSrc/build/pluginDescriptors/plugily.projects.java-conventions.properties create mode 100644 .github/building/buildSrc/build/resources/main/META-INF/gradle-plugins/plugily.projects.java-conventions.properties create mode 100644 .github/building/buildSrc/build/tmp/compileJava/previous-compilation-data.bin create mode 100644 .github/building/buildSrc/build/tmp/jar/MANIFEST.MF rename {buildSrc => .github/building/buildSrc}/src/main/groovy/plugily.projects.java-conventions.gradle (100%) rename {MiniGamesBox Classic => .github/building/classic}/build.gradle.kts (100%) rename .github/{maven => building}/classic/pom.xml (99%) rename {MiniGamesBox Database => .github/building/database}/build.gradle.kts (100%) rename .github/{maven => building}/database/pom.xml (98%) rename gradle.properties => .github/building/gradle.properties (100%) rename gradlew => .github/building/gradlew (100%) rename gradlew.bat => .github/building/gradlew.bat (100%) rename {MiniGamesBox Inventory => .github/building/inventory}/build.gradle.kts (100%) rename .github/{maven => building}/inventory/pom.xml (98%) rename .github/{maven => building}/pom.xml (99%) rename settings.gradle.kts => .github/building/settings.gradle.kts (100%) rename {MiniGamesBox Utils => .github/building/utils}/build.gradle.kts (100%) rename .github/{maven => building}/utils/pom.xml (98%) create mode 100644 MiniGamesBox API/pom.xml create mode 100644 MiniGamesBox Classic/pom.xml create mode 100644 MiniGamesBox Database/pom.xml create mode 100644 MiniGamesBox Inventory/pom.xml create mode 100644 MiniGamesBox Utils/pom.xml create mode 100644 pom.xml diff --git a/MiniGamesBox API/build.gradle.kts b/.github/building/api/build.gradle.kts similarity index 100% rename from MiniGamesBox API/build.gradle.kts rename to .github/building/api/build.gradle.kts diff --git a/.github/maven/api/pom.xml b/.github/building/api/pom.xml similarity index 98% rename from .github/maven/api/pom.xml rename to .github/building/api/pom.xml index c8942187..cbbbe3fa 100644 --- a/.github/maven/api/pom.xml +++ b/.github/building/api/pom.xml @@ -23,7 +23,7 @@ minigamesbox plugily.projects - 1.3.3.1-java8 + 1.3.17-SNAPSHOT4 4.0.0 diff --git a/buildSrc/build.gradle.kts b/.github/building/buildSrc/build.gradle.kts similarity index 100% rename from buildSrc/build.gradle.kts rename to .github/building/buildSrc/build.gradle.kts diff --git a/.github/building/buildSrc/build/groovy-dsl-plugins/output/adapter-src/PlugilyProjectsJavaConventionsPlugin.java b/.github/building/buildSrc/build/groovy-dsl-plugins/output/adapter-src/PlugilyProjectsJavaConventionsPlugin.java new file mode 100644 index 00000000..52fd8409 --- /dev/null +++ b/.github/building/buildSrc/build/groovy-dsl-plugins/output/adapter-src/PlugilyProjectsJavaConventionsPlugin.java @@ -0,0 +1,45 @@ +//CHECKSTYLE:OFF +import org.gradle.util.GradleVersion; +import org.gradle.groovy.scripts.BasicScript; +import org.gradle.groovy.scripts.ScriptSource; +import org.gradle.groovy.scripts.TextResourceScriptSource; +import org.gradle.internal.resource.StringTextResource; +/** + * Precompiled plugily.projects.java-conventions script plugin. + **/ +@SuppressWarnings("DefaultPackage") +public class PlugilyProjectsJavaConventionsPlugin implements org.gradle.api.Plugin { + private static final String MIN_SUPPORTED_GRADLE_VERSION = "5.0"; + @Override + public void apply(org.gradle.api.internal.project.ProjectInternal target) { + assertSupportedByCurrentGradleVersion(); + try { + Class pluginsBlockClass = Class.forName("cp_precompiled_PlugilyProjectsJavaConventions").asSubclass(BasicScript.class); + BasicScript pluginsBlockScript = pluginsBlockClass.getDeclaredConstructor().newInstance(); + pluginsBlockScript.setScriptSource(scriptSource(pluginsBlockClass)); + pluginsBlockScript.init(target, target.getServices()); + pluginsBlockScript.run(); + target.getPluginManager().apply("java-library"); + target.getPluginManager().apply("signing"); + target.getPluginManager().apply("maven-publish"); + + + Class precompiledScriptClass = Class.forName("precompiled_PlugilyProjectsJavaConventions").asSubclass(BasicScript.class); + BasicScript script = precompiledScriptClass.getDeclaredConstructor().newInstance(); + script.setScriptSource(scriptSource(precompiledScriptClass)); + script.init(target, target.getServices()); + script.run(); + } catch (Exception e) { + throw new RuntimeException(e); + } + } + private static ScriptSource scriptSource(Class scriptClass) { + return new TextResourceScriptSource(new StringTextResource(scriptClass.getSimpleName(), "")); + } + private static void assertSupportedByCurrentGradleVersion() { + if (GradleVersion.current().getBaseVersion().compareTo(GradleVersion.version(MIN_SUPPORTED_GRADLE_VERSION)) < 0) { + throw new RuntimeException("Precompiled Groovy script plugins require Gradle "+MIN_SUPPORTED_GRADLE_VERSION+" or higher"); + } + } +} +//CHECKSTYLE:ON diff --git a/.github/building/buildSrc/build/groovy-dsl-plugins/output/plugin-requests/plugily.projects.java-conventions/metadata.bin b/.github/building/buildSrc/build/groovy-dsl-plugins/output/plugin-requests/plugily.projects.java-conventions/metadata.bin new file mode 100644 index 0000000000000000000000000000000000000000..f76dd238ade08917e6712764a16a22005a50573d GIT binary patch literal 1 IcmZPo000310RR91 literal 0 HcmV?d00001 diff --git a/.github/building/buildSrc/build/groovy-dsl-plugins/work/metadata/plugily.projects.java-conventions/metadata.bin b/.github/building/buildSrc/build/groovy-dsl-plugins/work/metadata/plugily.projects.java-conventions/metadata.bin new file mode 100644 index 0000000000000000000000000000000000000000..bdc955b7b2e610ad5a72302b139a2e6cb325519a GIT binary patch literal 2 JcmZQz1ONa700IC2 literal 0 HcmV?d00001 diff --git a/.github/building/buildSrc/build/pluginDescriptors/plugily.projects.java-conventions.properties b/.github/building/buildSrc/build/pluginDescriptors/plugily.projects.java-conventions.properties new file mode 100644 index 00000000..5eb08959 --- /dev/null +++ b/.github/building/buildSrc/build/pluginDescriptors/plugily.projects.java-conventions.properties @@ -0,0 +1 @@ +implementation-class=PlugilyProjectsJavaConventionsPlugin diff --git a/.github/building/buildSrc/build/resources/main/META-INF/gradle-plugins/plugily.projects.java-conventions.properties b/.github/building/buildSrc/build/resources/main/META-INF/gradle-plugins/plugily.projects.java-conventions.properties new file mode 100644 index 00000000..5eb08959 --- /dev/null +++ b/.github/building/buildSrc/build/resources/main/META-INF/gradle-plugins/plugily.projects.java-conventions.properties @@ -0,0 +1 @@ +implementation-class=PlugilyProjectsJavaConventionsPlugin diff --git a/.github/building/buildSrc/build/tmp/compileJava/previous-compilation-data.bin b/.github/building/buildSrc/build/tmp/compileJava/previous-compilation-data.bin new file mode 100644 index 0000000000000000000000000000000000000000..9acd93ccc8f7d9e1919344bcdb6bbb7375a1b0a6 GIT binary patch literal 84348 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 literal 0 HcmV?d00001 diff --git a/.github/building/buildSrc/build/tmp/jar/MANIFEST.MF b/.github/building/buildSrc/build/tmp/jar/MANIFEST.MF new file mode 100644 index 00000000..59499bce --- /dev/null +++ b/.github/building/buildSrc/build/tmp/jar/MANIFEST.MF @@ -0,0 +1,2 @@ +Manifest-Version: 1.0 + diff --git a/buildSrc/src/main/groovy/plugily.projects.java-conventions.gradle b/.github/building/buildSrc/src/main/groovy/plugily.projects.java-conventions.gradle similarity index 100% rename from buildSrc/src/main/groovy/plugily.projects.java-conventions.gradle rename to .github/building/buildSrc/src/main/groovy/plugily.projects.java-conventions.gradle diff --git a/MiniGamesBox Classic/build.gradle.kts b/.github/building/classic/build.gradle.kts similarity index 100% rename from MiniGamesBox Classic/build.gradle.kts rename to .github/building/classic/build.gradle.kts diff --git a/.github/maven/classic/pom.xml b/.github/building/classic/pom.xml similarity index 99% rename from .github/maven/classic/pom.xml rename to .github/building/classic/pom.xml index 8d2d39e5..271a8208 100644 --- a/.github/maven/classic/pom.xml +++ b/.github/building/classic/pom.xml @@ -23,7 +23,7 @@ minigamesbox plugily.projects - 1.3.3.1-java8 + 1.3.17-SNAPSHOT4 4.0.0 diff --git a/MiniGamesBox Database/build.gradle.kts b/.github/building/database/build.gradle.kts similarity index 100% rename from MiniGamesBox Database/build.gradle.kts rename to .github/building/database/build.gradle.kts diff --git a/.github/maven/database/pom.xml b/.github/building/database/pom.xml similarity index 98% rename from .github/maven/database/pom.xml rename to .github/building/database/pom.xml index 644cfcef..858b21e1 100644 --- a/.github/maven/database/pom.xml +++ b/.github/building/database/pom.xml @@ -23,7 +23,7 @@ minigamesbox plugily.projects - 1.3.3.1-java8 + 1.3.17-SNAPSHOT4 4.0.0 diff --git a/gradle.properties b/.github/building/gradle.properties similarity index 100% rename from gradle.properties rename to .github/building/gradle.properties diff --git a/gradlew b/.github/building/gradlew similarity index 100% rename from gradlew rename to .github/building/gradlew diff --git a/gradlew.bat b/.github/building/gradlew.bat similarity index 100% rename from gradlew.bat rename to .github/building/gradlew.bat diff --git a/MiniGamesBox Inventory/build.gradle.kts b/.github/building/inventory/build.gradle.kts similarity index 100% rename from MiniGamesBox Inventory/build.gradle.kts rename to .github/building/inventory/build.gradle.kts diff --git a/.github/maven/inventory/pom.xml b/.github/building/inventory/pom.xml similarity index 98% rename from .github/maven/inventory/pom.xml rename to .github/building/inventory/pom.xml index ef81d3a0..da1b65c8 100644 --- a/.github/maven/inventory/pom.xml +++ b/.github/building/inventory/pom.xml @@ -23,7 +23,7 @@ minigamesbox plugily.projects - 1.3.3.1-java8 + 1.3.17-SNAPSHOT4 4.0.0 diff --git a/.github/maven/pom.xml b/.github/building/pom.xml similarity index 99% rename from .github/maven/pom.xml rename to .github/building/pom.xml index 433a4abc..d5c50f61 100644 --- a/.github/maven/pom.xml +++ b/.github/building/pom.xml @@ -24,7 +24,7 @@ plugily.projects minigamesbox - 1.3.3.1-java8 + 1.3.17-SNAPSHOT4 pom diff --git a/settings.gradle.kts b/.github/building/settings.gradle.kts similarity index 100% rename from settings.gradle.kts rename to .github/building/settings.gradle.kts diff --git a/MiniGamesBox Utils/build.gradle.kts b/.github/building/utils/build.gradle.kts similarity index 100% rename from MiniGamesBox Utils/build.gradle.kts rename to .github/building/utils/build.gradle.kts diff --git a/.github/maven/utils/pom.xml b/.github/building/utils/pom.xml similarity index 98% rename from .github/maven/utils/pom.xml rename to .github/building/utils/pom.xml index 8a2fc534..8c0c5cf3 100644 --- a/.github/maven/utils/pom.xml +++ b/.github/building/utils/pom.xml @@ -23,7 +23,7 @@ minigamesbox plugily.projects - 1.3.3.1-java8 + 1.3.17-SNAPSHOT4 4.0.0 diff --git a/.github/workflows/deploy-development.yml b/.github/workflows/deploy-development.yml index 62db223a..068b06e7 100644 --- a/.github/workflows/deploy-development.yml +++ b/.github/workflows/deploy-development.yml @@ -14,7 +14,7 @@ jobs: run: chmod +x gradlew - name: Bump Version id: bump - uses: Plugily-Projects/version-bump-action@v8 + uses: Plugily-Projects/version-bump-action@v10 with: github-token: ${{ secrets.github_token }} auto-version-bump: true diff --git a/MiniGamesBox API/pom.xml b/MiniGamesBox API/pom.xml new file mode 100644 index 00000000..cbbbe3fa --- /dev/null +++ b/MiniGamesBox API/pom.xml @@ -0,0 +1,100 @@ + + + + + + minigamesbox + plugily.projects + 1.3.17-SNAPSHOT4 + + 4.0.0 + + MiniGamesBox-Api + + 1.8 + UTF-8 + UTF-8 + + + + + + mojang-repo + https://libraries.minecraft.net/ + + + simonsators-repo + https://simonsator.de/repo/ + + + alessiodp-repo + https://repo.alessiodp.com/releases/ + + + plugilyprojects-repo + https://maven.plugily.xyz/releases + + + papi-repo + https://repo.extendedclip.com/content/repositories/placeholderapi/ + + + + + + plugily.projects + MiniGamesBox-Database + ${project.version} + compile + true + + + com.github.cryptomorin + XSeries + 13.0.0 + true + + + + + + + + org.apache.maven.plugins + maven-javadoc-plugin + 3.4.0 + + MiniGamesBox Inventory API docs for v${project.version} + Library box with massive content that could be seen as minigames core. + minecraft/minigamesbox/inventory + false + + + + + + org.apache.maven.wagon + wagon-ssh + 3.5.2 + + + + diff --git a/MiniGamesBox Classic/pom.xml b/MiniGamesBox Classic/pom.xml new file mode 100644 index 00000000..271a8208 --- /dev/null +++ b/MiniGamesBox Classic/pom.xml @@ -0,0 +1,245 @@ + + + + + + minigamesbox + plugily.projects + 1.3.17-SNAPSHOT4 + + 4.0.0 + + MiniGamesBox-Classic + + 1.8 + UTF-8 + UTF-8 + + + + mojang-repo + https://libraries.minecraft.net/ + + + simonsators-repo + https://simonsator.de/repo/ + + + alessiodp-repo + https://repo.alessiodp.com/releases/ + + + plugilyprojects-repo + https://maven.plugily.xyz/releases + + + papi-repo + https://repo.extendedclip.com/content/repositories/placeholderapi/ + + + via-version + https://repo.viaversion.com + + + jitpack + https://jitpack.io + + + + + + fr.mrmicky + fastboard + 2.1.3 + true + + + com.viaversion + viaversion-api + 5.2.1 + provided + + + com.github.ProtocolSupport + ProtocolSupport + master + provided + + + com.github.cryptomorin + XSeries + 13.0.0 + true + + + org.openjdk.nashorn + nashorn-core + 15.4 + + + de.simonsator + DevelopmentPAFSpigot + 1.0.67 + provided + + + de.simonsator + Party-and-Friends-MySQL-Edition-Spigot-API + 1.5.4-RELEASE + provided + + + de.simonsator + Spigot-Party-API-For-RedisBungee + 1.0.3-SNAPSHOT + provided + + + com.alessiodp.parties + parties-api + 3.2.9 + provided + + + plugily.projects + MiniGamesBox-Inventory + ${project.version} + compile + true + + + plugily.projects + MiniGamesBox-Utils + ${project.version} + compile + true + + + plugily.projects + MiniGamesBox-Api + ${project.version} + compile + true + + + plugily.projects + MiniGamesBox-Database + ${project.version} + compile + true + + + me.clip + placeholderapi + 2.11.2 + provided + + + org.jetbrains + annotations + + + + + com.google.code.gson + gson + 2.9.0 + compile + + + + io.papermc + paperlib + 1.0.7 + compile + + + + + + + org.apache.maven.plugins + maven-jar-plugin + 3.2.2 + + + org.apache.maven.plugins + maven-javadoc-plugin + 3.4.0 + + MiniGamesBox Classic API docs for v${project.version} + Library box with massive content that could be seen as minigames core. + minecraft/minigamesbox/classic + false + + + + org.apache.maven.plugins + maven-shade-plugin + 3.3.0 + + + + com.cryptomorin.xseries.particles + plugily.projects.minigamesbox.classic.utils.version.xseries + + + com.cryptomorin.xseries + plugily.projects.minigamesbox.classic.utils.version.xseries + + + fr.mrmicky.fastboard + plugily.projects.minigamesbox.classic.utils.scoreboard + + + fr.mrmicky.fastinv + plugily.projects.minigamesbox.inventory.utils.fastinv + + + org.bstats + plugily.projects.minigamesbox.classic.utils.bstats + + + io.papermc.lib + plugily.projects.minigamesbox.classic.utils.paperlib + + + false + + + + package + + shade + + + + + + + + org.apache.maven.wagon + wagon-ssh + 3.5.2 + + + + \ No newline at end of file diff --git a/MiniGamesBox Database/pom.xml b/MiniGamesBox Database/pom.xml new file mode 100644 index 00000000..858b21e1 --- /dev/null +++ b/MiniGamesBox Database/pom.xml @@ -0,0 +1,71 @@ + + + + + + minigamesbox + plugily.projects + 1.3.17-SNAPSHOT4 + + 4.0.0 + + MiniGamesBox-Database + + + + 1.8 + UTF-8 + UTF-8 + + + + + + com.zaxxer + HikariCP + 4.0.3 + + + + + + + + org.apache.maven.plugins + maven-javadoc-plugin + 3.4.0 + + MiniGamesBox Inventory API docs for v${project.version} + Library box with massive content that could be seen as minigames core. + minecraft/minigamesbox/inventory + false + + + + + + org.apache.maven.wagon + wagon-ssh + 3.5.2 + + + + diff --git a/MiniGamesBox Inventory/pom.xml b/MiniGamesBox Inventory/pom.xml new file mode 100644 index 00000000..da1b65c8 --- /dev/null +++ b/MiniGamesBox Inventory/pom.xml @@ -0,0 +1,96 @@ + + + + + + minigamesbox + plugily.projects + 1.3.17-SNAPSHOT4 + + 4.0.0 + + MiniGamesBox-Inventory + + 1.8 + UTF-8 + UTF-8 + + + + + jitpack.io + https://jitpack.io + + + + + + fr.mrmicky + FastInv + 3.0.3 + + + + + + + org.apache.maven.plugins + maven-javadoc-plugin + 3.4.0 + + MiniGamesBox Inventory API docs for v${project.version} + Library box with massive content that could be seen as minigames core. + minecraft/minigamesbox/inventory + false + + + + org.apache.maven.plugins + maven-shade-plugin + 3.3.0 + + + + fr.mrmicky.fastinv + plugily.projects.minigamesbox.inventory.utils.fastinv + + + false + + + + package + + shade + + + + + + + + org.apache.maven.wagon + wagon-ssh + 3.5.2 + + + + diff --git a/MiniGamesBox Utils/pom.xml b/MiniGamesBox Utils/pom.xml new file mode 100644 index 00000000..8c0c5cf3 --- /dev/null +++ b/MiniGamesBox Utils/pom.xml @@ -0,0 +1,58 @@ + + + + + + minigamesbox + plugily.projects + 1.3.17-SNAPSHOT4 + + 4.0.0 + + MiniGamesBox-Utils + + 1.8 + UTF-8 + UTF-8 + + + + + org.apache.maven.plugins + maven-javadoc-plugin + 3.4.0 + + MiniGamesBox Inventory API docs for v${project.version} + Library box with massive content that could be seen as minigames core. + minecraft/minigamesbox/inventory + false + + + + + + org.apache.maven.wagon + wagon-ssh + 3.5.2 + + + + diff --git a/pom.xml b/pom.xml new file mode 100644 index 00000000..d5c50f61 --- /dev/null +++ b/pom.xml @@ -0,0 +1,160 @@ + + + + + 4.0.0 + + plugily.projects + minigamesbox + 1.3.17-SNAPSHOT4 + pom + + + MiniGamesBox Inventory + MiniGamesBox Utils + MiniGamesBox Database + MiniGamesBox Classic + MiniGamesBox API + + + MiniGamesBox + Library box with massive content that could be seen as minigames core. + https://plugily.xyz + + + 1.8 + UTF-8 + UTF-8 + + + + + papermc + https://repo.papermc.io/repository/maven-public/ + + + spigot-repo + https://hub.spigotmc.org/nexus/content/repositories/snapshots/ + + + plugilyprojects-repo + https://maven.plugily.xyz/releases + + + + + + GNU General Public License v3 + https://www.gnu.org/licenses/gpl-3.0.en.html + + + + + + + io.papermc.paper + paper-api + 1.21.1-R0.1-SNAPSHOT + provided + + + + org.spigotmc + spigot-api + 1.8.8-R0.1-SNAPSHOT + provided + + + org.jetbrains + annotations + 23.0.0 + provided + + + + + + + src/main/resources + true + + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.10.1 + + ${java.version} + ${java.version} + + + + org.apache.maven.plugins + maven-site-plugin + 3.12.0 + + + org.jacoco + jacoco-maven-plugin + 0.8.8 + + true + + + + + prepare-agent + + + + post-unit-test + test + + report + + + + + + com.github.spotbugs + spotbugs-maven-plugin + 4.7.0.0 + + + + com.github.spotbugs + spotbugs + 4.7.1 + + + + + + + + + + plugily-projects + https://maven.plugily.xyz/releases + + + From 805030712e2732aa3276722946b65c85b13eb254 Mon Sep 17 00:00:00 2001 From: Tigerpanzer_02 <37453987+Tigerpanzer02@users.noreply.github.com> Date: Wed, 12 Mar 2025 23:11:13 +0100 Subject: [PATCH 25/42] Switch from gradle to maven attempt 2 --- .github/workflows/deploy-development.yml | 29 ++++++++++++++++-------- pom.xml | 6 ++++- 2 files changed, 25 insertions(+), 10 deletions(-) diff --git a/.github/workflows/deploy-development.yml b/.github/workflows/deploy-development.yml index 068b06e7..fa5b8e9b 100644 --- a/.github/workflows/deploy-development.yml +++ b/.github/workflows/deploy-development.yml @@ -10,8 +10,6 @@ jobs: steps: - name: Checkout Latest Commit uses: actions/checkout@v4.2.2 - - name: Grant execute permission for gradlew - run: chmod +x gradlew - name: Bump Version id: bump uses: Plugily-Projects/version-bump-action@v10 @@ -34,10 +32,23 @@ jobs: distribution: 'temurin' java-version: '21' java-package: jdk - - name: Grant execute permission for gradlew - run: chmod +x gradlew - - name: Publish with Gradle - run: ./gradlew publishMavenPublicationToSnapshotsRepository --info - env: - MAVEN_USERNAME: ${{ secrets.SNAPSHOTSUSERNAME }} - MAVEN_PASSWORD: ${{ secrets.SNAPSHOTSPASSWORD }} + - name: Set up Maven + uses: stCarolas/setup-maven@v5 + with: + maven-version: 3.8.2 + - name: Cache + uses: actions/cache@v4.2.2 + with: + path: ~/.m2/repository + key: maven-${{ hashFiles('**/pom.xml') }} + restore-keys: maven- + - name: Publish with Maven + uses: s4u/maven-settings-action@v3.1.0 + with: + servers: | + [{ + "id": "Snapshot", + "username": "${{ secrets.SNAPSHOTSUSERNAME }}", + "password": "${{ secrets.SNAPSHOTSPASSWORD }}" + }] + - run: mvn clean verify compile package site:site javadoc:javadoc javadoc:jar deploy -f pom.xml diff --git a/pom.xml b/pom.xml index d5c50f61..5711fe67 100644 --- a/pom.xml +++ b/pom.xml @@ -153,8 +153,12 @@ - plugily-projects + Release https://maven.plugily.xyz/releases + + Snapshot + https://maven.plugily.xyz/snapshots + From 6b94f8d1abffadf9f10e509e4ac19d35b1e5f013 Mon Sep 17 00:00:00 2001 From: "version-bump[github-action]" <41898282+version-bump[github-action]@users.noreply.github.com> Date: Wed, 12 Mar 2025 22:11:34 +0000 Subject: [PATCH 26/42] Bump version from 1.3.17-SNAPSHOT4 to 1.3.17-SNAPSHOT5 --- MiniGamesBox API/pom.xml | 2 +- MiniGamesBox Classic/pom.xml | 2 +- MiniGamesBox Database/pom.xml | 2 +- MiniGamesBox Inventory/pom.xml | 2 +- MiniGamesBox Utils/pom.xml | 2 +- pom.xml | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/MiniGamesBox API/pom.xml b/MiniGamesBox API/pom.xml index cbbbe3fa..f6ce7e6f 100644 --- a/MiniGamesBox API/pom.xml +++ b/MiniGamesBox API/pom.xml @@ -23,7 +23,7 @@ minigamesbox plugily.projects - 1.3.17-SNAPSHOT4 + 1.3.17-SNAPSHOT5 4.0.0 diff --git a/MiniGamesBox Classic/pom.xml b/MiniGamesBox Classic/pom.xml index 271a8208..e16ca986 100644 --- a/MiniGamesBox Classic/pom.xml +++ b/MiniGamesBox Classic/pom.xml @@ -23,7 +23,7 @@ minigamesbox plugily.projects - 1.3.17-SNAPSHOT4 + 1.3.17-SNAPSHOT5 4.0.0 diff --git a/MiniGamesBox Database/pom.xml b/MiniGamesBox Database/pom.xml index 858b21e1..5dcc4c02 100644 --- a/MiniGamesBox Database/pom.xml +++ b/MiniGamesBox Database/pom.xml @@ -23,7 +23,7 @@ minigamesbox plugily.projects - 1.3.17-SNAPSHOT4 + 1.3.17-SNAPSHOT5 4.0.0 diff --git a/MiniGamesBox Inventory/pom.xml b/MiniGamesBox Inventory/pom.xml index da1b65c8..dfa2c792 100644 --- a/MiniGamesBox Inventory/pom.xml +++ b/MiniGamesBox Inventory/pom.xml @@ -23,7 +23,7 @@ minigamesbox plugily.projects - 1.3.17-SNAPSHOT4 + 1.3.17-SNAPSHOT5 4.0.0 diff --git a/MiniGamesBox Utils/pom.xml b/MiniGamesBox Utils/pom.xml index 8c0c5cf3..4ae30a33 100644 --- a/MiniGamesBox Utils/pom.xml +++ b/MiniGamesBox Utils/pom.xml @@ -23,7 +23,7 @@ minigamesbox plugily.projects - 1.3.17-SNAPSHOT4 + 1.3.17-SNAPSHOT5 4.0.0 diff --git a/pom.xml b/pom.xml index 5711fe67..89e7ff53 100644 --- a/pom.xml +++ b/pom.xml @@ -24,7 +24,7 @@ plugily.projects minigamesbox - 1.3.17-SNAPSHOT4 + 1.3.17-SNAPSHOT5 pom From 6626531182b6feb1986f19587cfcd4a3c078bd54 Mon Sep 17 00:00:00 2001 From: Tigerpanzer_02 <37453987+Tigerpanzer02@users.noreply.github.com> Date: Wed, 12 Mar 2025 23:22:40 +0100 Subject: [PATCH 27/42] Switch from gradle to maven attempt 2 --- .github/workflows/deploy-development.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/deploy-development.yml b/.github/workflows/deploy-development.yml index fa5b8e9b..60862aa2 100644 --- a/.github/workflows/deploy-development.yml +++ b/.github/workflows/deploy-development.yml @@ -51,4 +51,4 @@ jobs: "username": "${{ secrets.SNAPSHOTSUSERNAME }}", "password": "${{ secrets.SNAPSHOTSPASSWORD }}" }] - - run: mvn clean verify compile package site:site javadoc:javadoc javadoc:jar deploy -f pom.xml + - run: mvn clean verify compile package site:site javadoc:javadoc javadoc:jar deploy -DrepositoryId=Snapshhot -f pom.xml From ca77ca4b3551e1ae7500e7715f6842bf7b9e7500 Mon Sep 17 00:00:00 2001 From: "version-bump[github-action]" <41898282+version-bump[github-action]@users.noreply.github.com> Date: Wed, 12 Mar 2025 22:22:58 +0000 Subject: [PATCH 28/42] Bump version from 1.3.17-SNAPSHOT5 to 1.3.17-SNAPSHOT6 --- MiniGamesBox API/pom.xml | 2 +- MiniGamesBox Classic/pom.xml | 2 +- MiniGamesBox Database/pom.xml | 2 +- MiniGamesBox Inventory/pom.xml | 2 +- MiniGamesBox Utils/pom.xml | 2 +- pom.xml | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/MiniGamesBox API/pom.xml b/MiniGamesBox API/pom.xml index f6ce7e6f..47c20535 100644 --- a/MiniGamesBox API/pom.xml +++ b/MiniGamesBox API/pom.xml @@ -23,7 +23,7 @@ minigamesbox plugily.projects - 1.3.17-SNAPSHOT5 + 1.3.17-SNAPSHOT6 4.0.0 diff --git a/MiniGamesBox Classic/pom.xml b/MiniGamesBox Classic/pom.xml index e16ca986..44e17eca 100644 --- a/MiniGamesBox Classic/pom.xml +++ b/MiniGamesBox Classic/pom.xml @@ -23,7 +23,7 @@ minigamesbox plugily.projects - 1.3.17-SNAPSHOT5 + 1.3.17-SNAPSHOT6 4.0.0 diff --git a/MiniGamesBox Database/pom.xml b/MiniGamesBox Database/pom.xml index 5dcc4c02..e516a529 100644 --- a/MiniGamesBox Database/pom.xml +++ b/MiniGamesBox Database/pom.xml @@ -23,7 +23,7 @@ minigamesbox plugily.projects - 1.3.17-SNAPSHOT5 + 1.3.17-SNAPSHOT6 4.0.0 diff --git a/MiniGamesBox Inventory/pom.xml b/MiniGamesBox Inventory/pom.xml index dfa2c792..214e2892 100644 --- a/MiniGamesBox Inventory/pom.xml +++ b/MiniGamesBox Inventory/pom.xml @@ -23,7 +23,7 @@ minigamesbox plugily.projects - 1.3.17-SNAPSHOT5 + 1.3.17-SNAPSHOT6 4.0.0 diff --git a/MiniGamesBox Utils/pom.xml b/MiniGamesBox Utils/pom.xml index 4ae30a33..0ace0c17 100644 --- a/MiniGamesBox Utils/pom.xml +++ b/MiniGamesBox Utils/pom.xml @@ -23,7 +23,7 @@ minigamesbox plugily.projects - 1.3.17-SNAPSHOT5 + 1.3.17-SNAPSHOT6 4.0.0 diff --git a/pom.xml b/pom.xml index 89e7ff53..925340ba 100644 --- a/pom.xml +++ b/pom.xml @@ -24,7 +24,7 @@ plugily.projects minigamesbox - 1.3.17-SNAPSHOT5 + 1.3.17-SNAPSHOT6 pom From 5d3518da9852dac9cdd22affbac42dc3aa8e6120 Mon Sep 17 00:00:00 2001 From: Tigerpanzer_02 <37453987+Tigerpanzer02@users.noreply.github.com> Date: Wed, 12 Mar 2025 23:36:55 +0100 Subject: [PATCH 29/42] Switch from gradle to maven attempt 2 --- .github/workflows/deploy-development.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/deploy-development.yml b/.github/workflows/deploy-development.yml index 60862aa2..d24de707 100644 --- a/.github/workflows/deploy-development.yml +++ b/.github/workflows/deploy-development.yml @@ -51,4 +51,4 @@ jobs: "username": "${{ secrets.SNAPSHOTSUSERNAME }}", "password": "${{ secrets.SNAPSHOTSPASSWORD }}" }] - - run: mvn clean verify compile package site:site javadoc:javadoc javadoc:jar deploy -DrepositoryId=Snapshhot -f pom.xml + - run: mvn clean verify compile package site:site javadoc:javadoc javadoc:jar deploy -DaltDeploymentRepository=Snapshot::https://maven.plugily.xyz/snapshots -f pom.xml From f7ce2402273d772e699a422635d67ea4a056f052 Mon Sep 17 00:00:00 2001 From: "version-bump[github-action]" <41898282+version-bump[github-action]@users.noreply.github.com> Date: Wed, 12 Mar 2025 22:37:12 +0000 Subject: [PATCH 30/42] Bump version from 1.3.17-SNAPSHOT6 to 1.3.17-SNAPSHOT7 --- MiniGamesBox API/pom.xml | 2 +- MiniGamesBox Classic/pom.xml | 2 +- MiniGamesBox Database/pom.xml | 2 +- MiniGamesBox Inventory/pom.xml | 2 +- MiniGamesBox Utils/pom.xml | 2 +- pom.xml | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/MiniGamesBox API/pom.xml b/MiniGamesBox API/pom.xml index 47c20535..95cd03b5 100644 --- a/MiniGamesBox API/pom.xml +++ b/MiniGamesBox API/pom.xml @@ -23,7 +23,7 @@ minigamesbox plugily.projects - 1.3.17-SNAPSHOT6 + 1.3.17-SNAPSHOT7 4.0.0 diff --git a/MiniGamesBox Classic/pom.xml b/MiniGamesBox Classic/pom.xml index 44e17eca..03cc60c3 100644 --- a/MiniGamesBox Classic/pom.xml +++ b/MiniGamesBox Classic/pom.xml @@ -23,7 +23,7 @@ minigamesbox plugily.projects - 1.3.17-SNAPSHOT6 + 1.3.17-SNAPSHOT7 4.0.0 diff --git a/MiniGamesBox Database/pom.xml b/MiniGamesBox Database/pom.xml index e516a529..779839da 100644 --- a/MiniGamesBox Database/pom.xml +++ b/MiniGamesBox Database/pom.xml @@ -23,7 +23,7 @@ minigamesbox plugily.projects - 1.3.17-SNAPSHOT6 + 1.3.17-SNAPSHOT7 4.0.0 diff --git a/MiniGamesBox Inventory/pom.xml b/MiniGamesBox Inventory/pom.xml index 214e2892..694bef85 100644 --- a/MiniGamesBox Inventory/pom.xml +++ b/MiniGamesBox Inventory/pom.xml @@ -23,7 +23,7 @@ minigamesbox plugily.projects - 1.3.17-SNAPSHOT6 + 1.3.17-SNAPSHOT7 4.0.0 diff --git a/MiniGamesBox Utils/pom.xml b/MiniGamesBox Utils/pom.xml index 0ace0c17..9fe51553 100644 --- a/MiniGamesBox Utils/pom.xml +++ b/MiniGamesBox Utils/pom.xml @@ -23,7 +23,7 @@ minigamesbox plugily.projects - 1.3.17-SNAPSHOT6 + 1.3.17-SNAPSHOT7 4.0.0 diff --git a/pom.xml b/pom.xml index 925340ba..3607155a 100644 --- a/pom.xml +++ b/pom.xml @@ -24,7 +24,7 @@ plugily.projects minigamesbox - 1.3.17-SNAPSHOT6 + 1.3.17-SNAPSHOT7 pom From ac8d4e66df2f876ccf21e5e900b2a633260b6bff Mon Sep 17 00:00:00 2001 From: Tigerpanzer_02 <37453987+Tigerpanzer02@users.noreply.github.com> Date: Wed, 12 Mar 2025 23:51:54 +0100 Subject: [PATCH 31/42] Use newer deploy plugin --- .github/building/api/pom.xml | 4 ++-- .github/building/classic/pom.xml | 4 ++-- .github/building/database/pom.xml | 4 ++-- .github/building/inventory/pom.xml | 4 ++-- .github/building/utils/pom.xml | 4 ++-- MiniGamesBox API/pom.xml | 6 ++---- MiniGamesBox Classic/pom.xml | 6 ++---- MiniGamesBox Database/pom.xml | 6 ++---- MiniGamesBox Inventory/pom.xml | 6 ++---- MiniGamesBox Utils/pom.xml | 6 ++---- pom.xml | 16 +++++++++++++--- 11 files changed, 33 insertions(+), 33 deletions(-) diff --git a/.github/building/api/pom.xml b/.github/building/api/pom.xml index cbbbe3fa..8af39e50 100644 --- a/.github/building/api/pom.xml +++ b/.github/building/api/pom.xml @@ -80,7 +80,7 @@ org.apache.maven.plugins maven-javadoc-plugin - 3.4.0 + 3.11.2 MiniGamesBox Inventory API docs for v${project.version} Library box with massive content that could be seen as minigames core. @@ -93,7 +93,7 @@ org.apache.maven.wagon wagon-ssh - 3.5.2 + 3.5.3 diff --git a/.github/building/classic/pom.xml b/.github/building/classic/pom.xml index 271a8208..879fdb75 100644 --- a/.github/building/classic/pom.xml +++ b/.github/building/classic/pom.xml @@ -183,7 +183,7 @@ org.apache.maven.plugins maven-javadoc-plugin - 3.4.0 + 3.11.2 MiniGamesBox Classic API docs for v${project.version} Library box with massive content that could be seen as minigames core. @@ -238,7 +238,7 @@ org.apache.maven.wagon wagon-ssh - 3.5.2 + 3.5.3 diff --git a/.github/building/database/pom.xml b/.github/building/database/pom.xml index 858b21e1..dc9e4f4d 100644 --- a/.github/building/database/pom.xml +++ b/.github/building/database/pom.xml @@ -51,7 +51,7 @@ org.apache.maven.plugins maven-javadoc-plugin - 3.4.0 + 3.11.2 MiniGamesBox Inventory API docs for v${project.version} Library box with massive content that could be seen as minigames core. @@ -64,7 +64,7 @@ org.apache.maven.wagon wagon-ssh - 3.5.2 + 3.5.3 diff --git a/.github/building/inventory/pom.xml b/.github/building/inventory/pom.xml index da1b65c8..79a377f6 100644 --- a/.github/building/inventory/pom.xml +++ b/.github/building/inventory/pom.xml @@ -54,7 +54,7 @@ org.apache.maven.plugins maven-javadoc-plugin - 3.4.0 + 3.11.2 MiniGamesBox Inventory API docs for v${project.version} Library box with massive content that could be seen as minigames core. @@ -89,7 +89,7 @@ org.apache.maven.wagon wagon-ssh - 3.5.2 + 3.5.3 diff --git a/.github/building/utils/pom.xml b/.github/building/utils/pom.xml index 8c0c5cf3..b8062a00 100644 --- a/.github/building/utils/pom.xml +++ b/.github/building/utils/pom.xml @@ -38,7 +38,7 @@ org.apache.maven.plugins maven-javadoc-plugin - 3.4.0 + 3.11.2 MiniGamesBox Inventory API docs for v${project.version} Library box with massive content that could be seen as minigames core. @@ -51,7 +51,7 @@ org.apache.maven.wagon wagon-ssh - 3.5.2 + 3.5.3 diff --git a/MiniGamesBox API/pom.xml b/MiniGamesBox API/pom.xml index 95cd03b5..5c4397a3 100644 --- a/MiniGamesBox API/pom.xml +++ b/MiniGamesBox API/pom.xml @@ -80,12 +80,10 @@ org.apache.maven.plugins maven-javadoc-plugin - 3.4.0 + 3.11.2 MiniGamesBox Inventory API docs for v${project.version} Library box with massive content that could be seen as minigames core. - minecraft/minigamesbox/inventory - false @@ -93,7 +91,7 @@ org.apache.maven.wagon wagon-ssh - 3.5.2 + 3.5.3 diff --git a/MiniGamesBox Classic/pom.xml b/MiniGamesBox Classic/pom.xml index 03cc60c3..d841542f 100644 --- a/MiniGamesBox Classic/pom.xml +++ b/MiniGamesBox Classic/pom.xml @@ -183,12 +183,10 @@ org.apache.maven.plugins maven-javadoc-plugin - 3.4.0 + 3.11.2 MiniGamesBox Classic API docs for v${project.version} Library box with massive content that could be seen as minigames core. - minecraft/minigamesbox/classic - false @@ -238,7 +236,7 @@ org.apache.maven.wagon wagon-ssh - 3.5.2 + 3.5.3 diff --git a/MiniGamesBox Database/pom.xml b/MiniGamesBox Database/pom.xml index 779839da..adc4f9e2 100644 --- a/MiniGamesBox Database/pom.xml +++ b/MiniGamesBox Database/pom.xml @@ -51,12 +51,10 @@ org.apache.maven.plugins maven-javadoc-plugin - 3.4.0 + 3.11.2 MiniGamesBox Inventory API docs for v${project.version} Library box with massive content that could be seen as minigames core. - minecraft/minigamesbox/inventory - false @@ -64,7 +62,7 @@ org.apache.maven.wagon wagon-ssh - 3.5.2 + 3.5.3 diff --git a/MiniGamesBox Inventory/pom.xml b/MiniGamesBox Inventory/pom.xml index 694bef85..912f0367 100644 --- a/MiniGamesBox Inventory/pom.xml +++ b/MiniGamesBox Inventory/pom.xml @@ -54,12 +54,10 @@ org.apache.maven.plugins maven-javadoc-plugin - 3.4.0 + 3.11.2 MiniGamesBox Inventory API docs for v${project.version} Library box with massive content that could be seen as minigames core. - minecraft/minigamesbox/inventory - false @@ -89,7 +87,7 @@ org.apache.maven.wagon wagon-ssh - 3.5.2 + 3.5.3 diff --git a/MiniGamesBox Utils/pom.xml b/MiniGamesBox Utils/pom.xml index 9fe51553..8a778eaf 100644 --- a/MiniGamesBox Utils/pom.xml +++ b/MiniGamesBox Utils/pom.xml @@ -38,12 +38,10 @@ org.apache.maven.plugins maven-javadoc-plugin - 3.4.0 + 3.11.2 MiniGamesBox Inventory API docs for v${project.version} Library box with massive content that could be seen as minigames core. - minecraft/minigamesbox/inventory - false @@ -51,7 +49,7 @@ org.apache.maven.wagon wagon-ssh - 3.5.2 + 3.5.3 diff --git a/pom.xml b/pom.xml index 3607155a..26630d69 100644 --- a/pom.xml +++ b/pom.xml @@ -101,7 +101,7 @@ org.apache.maven.plugins maven-compiler-plugin - 3.10.1 + 3.14.0 ${java.version} ${java.version} @@ -110,12 +110,22 @@ org.apache.maven.plugins maven-site-plugin - 3.12.0 + 3.21.0 + + + org.apache.maven.plugins + maven-deploy-plugin + 3.1.4 + + + org.apache.maven.plugins + maven-project-info-reports-plugin + 3.9.0 org.jacoco jacoco-maven-plugin - 0.8.8 + 0.8.12 true From be76c3bfdd1dff0992e9e52d0c7de3aa0233ad95 Mon Sep 17 00:00:00 2001 From: "version-bump[github-action]" <41898282+version-bump[github-action]@users.noreply.github.com> Date: Wed, 12 Mar 2025 22:52:16 +0000 Subject: [PATCH 32/42] Bump version from 1.3.17-SNAPSHOT7 to 1.3.17-SNAPSHOT8 --- MiniGamesBox API/pom.xml | 2 +- MiniGamesBox Classic/pom.xml | 2 +- MiniGamesBox Database/pom.xml | 2 +- MiniGamesBox Inventory/pom.xml | 2 +- MiniGamesBox Utils/pom.xml | 2 +- pom.xml | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/MiniGamesBox API/pom.xml b/MiniGamesBox API/pom.xml index 5c4397a3..bca9ea52 100644 --- a/MiniGamesBox API/pom.xml +++ b/MiniGamesBox API/pom.xml @@ -23,7 +23,7 @@ minigamesbox plugily.projects - 1.3.17-SNAPSHOT7 + 1.3.17-SNAPSHOT8 4.0.0 diff --git a/MiniGamesBox Classic/pom.xml b/MiniGamesBox Classic/pom.xml index d841542f..4ba29f0c 100644 --- a/MiniGamesBox Classic/pom.xml +++ b/MiniGamesBox Classic/pom.xml @@ -23,7 +23,7 @@ minigamesbox plugily.projects - 1.3.17-SNAPSHOT7 + 1.3.17-SNAPSHOT8 4.0.0 diff --git a/MiniGamesBox Database/pom.xml b/MiniGamesBox Database/pom.xml index adc4f9e2..d607628d 100644 --- a/MiniGamesBox Database/pom.xml +++ b/MiniGamesBox Database/pom.xml @@ -23,7 +23,7 @@ minigamesbox plugily.projects - 1.3.17-SNAPSHOT7 + 1.3.17-SNAPSHOT8 4.0.0 diff --git a/MiniGamesBox Inventory/pom.xml b/MiniGamesBox Inventory/pom.xml index 912f0367..d9e23e11 100644 --- a/MiniGamesBox Inventory/pom.xml +++ b/MiniGamesBox Inventory/pom.xml @@ -23,7 +23,7 @@ minigamesbox plugily.projects - 1.3.17-SNAPSHOT7 + 1.3.17-SNAPSHOT8 4.0.0 diff --git a/MiniGamesBox Utils/pom.xml b/MiniGamesBox Utils/pom.xml index 8a778eaf..250d5667 100644 --- a/MiniGamesBox Utils/pom.xml +++ b/MiniGamesBox Utils/pom.xml @@ -23,7 +23,7 @@ minigamesbox plugily.projects - 1.3.17-SNAPSHOT7 + 1.3.17-SNAPSHOT8 4.0.0 diff --git a/pom.xml b/pom.xml index 26630d69..6d3010a3 100644 --- a/pom.xml +++ b/pom.xml @@ -24,7 +24,7 @@ plugily.projects minigamesbox - 1.3.17-SNAPSHOT7 + 1.3.17-SNAPSHOT8 pom From 6e205869278f75755c88ef4ba9b6af196c8adbab Mon Sep 17 00:00:00 2001 From: Tigerpanzer_02 <37453987+Tigerpanzer02@users.noreply.github.com> Date: Wed, 12 Mar 2025 23:57:51 +0100 Subject: [PATCH 33/42] Fixed papi repo --- .github/building/api/pom.xml | 4 ++-- .github/building/classic/pom.xml | 6 +++--- MiniGamesBox API/pom.xml | 4 ++-- MiniGamesBox Classic/pom.xml | 6 +++--- 4 files changed, 10 insertions(+), 10 deletions(-) diff --git a/.github/building/api/pom.xml b/.github/building/api/pom.xml index 8af39e50..44e79421 100644 --- a/.github/building/api/pom.xml +++ b/.github/building/api/pom.xml @@ -53,8 +53,8 @@ https://maven.plugily.xyz/releases - papi-repo - https://repo.extendedclip.com/content/repositories/placeholderapi/ + placeholderapi + https://repo.extendedclip.com/releases/ diff --git a/.github/building/classic/pom.xml b/.github/building/classic/pom.xml index 879fdb75..1a4ec855 100644 --- a/.github/building/classic/pom.xml +++ b/.github/building/classic/pom.xml @@ -51,8 +51,8 @@ https://maven.plugily.xyz/releases - papi-repo - https://repo.extendedclip.com/content/repositories/placeholderapi/ + placeholderapi + https://repo.extendedclip.com/releases/ via-version @@ -149,7 +149,7 @@ me.clip placeholderapi - 2.11.2 + 2.11.6 provided diff --git a/MiniGamesBox API/pom.xml b/MiniGamesBox API/pom.xml index bca9ea52..e7bb8047 100644 --- a/MiniGamesBox API/pom.xml +++ b/MiniGamesBox API/pom.xml @@ -53,8 +53,8 @@ https://maven.plugily.xyz/releases - papi-repo - https://repo.extendedclip.com/content/repositories/placeholderapi/ + placeholderapi + https://repo.extendedclip.com/releases/ diff --git a/MiniGamesBox Classic/pom.xml b/MiniGamesBox Classic/pom.xml index 4ba29f0c..5b51fffe 100644 --- a/MiniGamesBox Classic/pom.xml +++ b/MiniGamesBox Classic/pom.xml @@ -51,8 +51,8 @@ https://maven.plugily.xyz/releases - papi-repo - https://repo.extendedclip.com/content/repositories/placeholderapi/ + placeholderapi + https://repo.extendedclip.com/releases/ via-version @@ -149,7 +149,7 @@ me.clip placeholderapi - 2.11.2 + 2.11.6 provided From 5a24866ad5992d8926a8fecfba0cb0fb3314f0fd Mon Sep 17 00:00:00 2001 From: "version-bump[github-action]" <41898282+version-bump[github-action]@users.noreply.github.com> Date: Wed, 12 Mar 2025 22:58:10 +0000 Subject: [PATCH 34/42] Bump version from 1.3.17-SNAPSHOT8 to 1.3.17-SNAPSHOT9 --- MiniGamesBox API/pom.xml | 2 +- MiniGamesBox Classic/pom.xml | 2 +- MiniGamesBox Database/pom.xml | 2 +- MiniGamesBox Inventory/pom.xml | 2 +- MiniGamesBox Utils/pom.xml | 2 +- pom.xml | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/MiniGamesBox API/pom.xml b/MiniGamesBox API/pom.xml index e7bb8047..01ef9e04 100644 --- a/MiniGamesBox API/pom.xml +++ b/MiniGamesBox API/pom.xml @@ -23,7 +23,7 @@ minigamesbox plugily.projects - 1.3.17-SNAPSHOT8 + 1.3.17-SNAPSHOT9 4.0.0 diff --git a/MiniGamesBox Classic/pom.xml b/MiniGamesBox Classic/pom.xml index 5b51fffe..69aa607d 100644 --- a/MiniGamesBox Classic/pom.xml +++ b/MiniGamesBox Classic/pom.xml @@ -23,7 +23,7 @@ minigamesbox plugily.projects - 1.3.17-SNAPSHOT8 + 1.3.17-SNAPSHOT9 4.0.0 diff --git a/MiniGamesBox Database/pom.xml b/MiniGamesBox Database/pom.xml index d607628d..be4f7095 100644 --- a/MiniGamesBox Database/pom.xml +++ b/MiniGamesBox Database/pom.xml @@ -23,7 +23,7 @@ minigamesbox plugily.projects - 1.3.17-SNAPSHOT8 + 1.3.17-SNAPSHOT9 4.0.0 diff --git a/MiniGamesBox Inventory/pom.xml b/MiniGamesBox Inventory/pom.xml index d9e23e11..987ecb2e 100644 --- a/MiniGamesBox Inventory/pom.xml +++ b/MiniGamesBox Inventory/pom.xml @@ -23,7 +23,7 @@ minigamesbox plugily.projects - 1.3.17-SNAPSHOT8 + 1.3.17-SNAPSHOT9 4.0.0 diff --git a/MiniGamesBox Utils/pom.xml b/MiniGamesBox Utils/pom.xml index 250d5667..01daab17 100644 --- a/MiniGamesBox Utils/pom.xml +++ b/MiniGamesBox Utils/pom.xml @@ -23,7 +23,7 @@ minigamesbox plugily.projects - 1.3.17-SNAPSHOT8 + 1.3.17-SNAPSHOT9 4.0.0 diff --git a/pom.xml b/pom.xml index 6d3010a3..d7060bf6 100644 --- a/pom.xml +++ b/pom.xml @@ -24,7 +24,7 @@ plugily.projects minigamesbox - 1.3.17-SNAPSHOT8 + 1.3.17-SNAPSHOT9 pom From cb1e026336bb5ce5c7e9482f3be1ba6b40391c4f Mon Sep 17 00:00:00 2001 From: Tigerpanzer_02 <37453987+Tigerpanzer02@users.noreply.github.com> Date: Thu, 13 Mar 2025 00:06:52 +0100 Subject: [PATCH 35/42] Updated deploy-master.yml to match maven building --- .github/workflows/deploy-master.yml | 29 ++++++++++++++++++++--------- 1 file changed, 20 insertions(+), 9 deletions(-) diff --git a/.github/workflows/deploy-master.yml b/.github/workflows/deploy-master.yml index c08a2056..b7e2a9aa 100644 --- a/.github/workflows/deploy-master.yml +++ b/.github/workflows/deploy-master.yml @@ -12,8 +12,6 @@ jobs: steps: - name: Checkout Latest Commit uses: actions/checkout@v4.2.2 - - name: Grant execute permission for gradlew - run: chmod +x gradlew - name: Bump Version id: bump uses: Plugily-Projects/version-bump-action@v8 @@ -37,10 +35,23 @@ jobs: distribution: 'temurin' java-version: '21' java-package: jdk - - name: Grant execute permission for gradlew - run: chmod +x gradlew - - name: Publish with Gradle - run: ./gradlew publishMavenPublicationToReleasesRepository - env: - MAVEN_USERNAME: ${{ secrets.RELEASESUSERNAME }} - MAVEN_PASSWORD: ${{ secrets.RELEASESPASSWORD }} + - name: Set up Maven + uses: stCarolas/setup-maven@v5 + with: + maven-version: 3.8.2 + - name: Cache + uses: actions/cache@v4.2.2 + with: + path: ~/.m2/repository + key: maven-${{ hashFiles('**/pom.xml') }} + restore-keys: maven- + - name: Publish with Maven + uses: s4u/maven-settings-action@v3.1.0 + with: + servers: | + [{ + "id": "Release", + "username": "${{ secrets.RELEASESUSERNAME }}", + "password": "${{ secrets.RELEASESPASSWORD }}" + }] + - run: mvn clean verify compile package site:site javadoc:javadoc javadoc:jar deploy -DaltDeploymentRepository=Release::https://maven.plugily.xyz/releases -f pom.xml From 0132e1f1f7947840a115ff824e5310ef778efdcf Mon Sep 17 00:00:00 2001 From: "version-bump[github-action]" <41898282+version-bump[github-action]@users.noreply.github.com> Date: Wed, 12 Mar 2025 23:07:15 +0000 Subject: [PATCH 36/42] Bump version from 1.3.17-SNAPSHOT9 to 1.3.17-SNAPSHOT10 --- MiniGamesBox API/pom.xml | 2 +- MiniGamesBox Classic/pom.xml | 2 +- MiniGamesBox Database/pom.xml | 2 +- MiniGamesBox Inventory/pom.xml | 2 +- MiniGamesBox Utils/pom.xml | 2 +- pom.xml | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/MiniGamesBox API/pom.xml b/MiniGamesBox API/pom.xml index 01ef9e04..e158294f 100644 --- a/MiniGamesBox API/pom.xml +++ b/MiniGamesBox API/pom.xml @@ -23,7 +23,7 @@ minigamesbox plugily.projects - 1.3.17-SNAPSHOT9 + 1.3.17-SNAPSHOT10 4.0.0 diff --git a/MiniGamesBox Classic/pom.xml b/MiniGamesBox Classic/pom.xml index 69aa607d..f3450cb9 100644 --- a/MiniGamesBox Classic/pom.xml +++ b/MiniGamesBox Classic/pom.xml @@ -23,7 +23,7 @@ minigamesbox plugily.projects - 1.3.17-SNAPSHOT9 + 1.3.17-SNAPSHOT10 4.0.0 diff --git a/MiniGamesBox Database/pom.xml b/MiniGamesBox Database/pom.xml index be4f7095..55ddb83d 100644 --- a/MiniGamesBox Database/pom.xml +++ b/MiniGamesBox Database/pom.xml @@ -23,7 +23,7 @@ minigamesbox plugily.projects - 1.3.17-SNAPSHOT9 + 1.3.17-SNAPSHOT10 4.0.0 diff --git a/MiniGamesBox Inventory/pom.xml b/MiniGamesBox Inventory/pom.xml index 987ecb2e..145b2492 100644 --- a/MiniGamesBox Inventory/pom.xml +++ b/MiniGamesBox Inventory/pom.xml @@ -23,7 +23,7 @@ minigamesbox plugily.projects - 1.3.17-SNAPSHOT9 + 1.3.17-SNAPSHOT10 4.0.0 diff --git a/MiniGamesBox Utils/pom.xml b/MiniGamesBox Utils/pom.xml index 01daab17..f4fbc3c2 100644 --- a/MiniGamesBox Utils/pom.xml +++ b/MiniGamesBox Utils/pom.xml @@ -23,7 +23,7 @@ minigamesbox plugily.projects - 1.3.17-SNAPSHOT9 + 1.3.17-SNAPSHOT10 4.0.0 diff --git a/pom.xml b/pom.xml index d7060bf6..736b9805 100644 --- a/pom.xml +++ b/pom.xml @@ -24,7 +24,7 @@ plugily.projects minigamesbox - 1.3.17-SNAPSHOT9 + 1.3.17-SNAPSHOT10 pom From 838006a548cac08f2e28d4236af5f918356094d4 Mon Sep 17 00:00:00 2001 From: Tigerpanzer_02 <37453987+Tigerpanzer02@users.noreply.github.com> Date: Thu, 13 Mar 2025 00:12:54 +0100 Subject: [PATCH 37/42] Updated deploy-master.yml to match maven building --- .github/building/classic/pom.xml | 4 ++-- .github/building/inventory/pom.xml | 2 +- .github/workflows/deploy-master.yml | 2 +- MiniGamesBox Classic/pom.xml | 4 ++-- MiniGamesBox Inventory/pom.xml | 2 +- 5 files changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/building/classic/pom.xml b/.github/building/classic/pom.xml index 1a4ec855..486888bb 100644 --- a/.github/building/classic/pom.xml +++ b/.github/building/classic/pom.xml @@ -178,7 +178,7 @@ org.apache.maven.plugins maven-jar-plugin - 3.2.2 + 3.4.2 org.apache.maven.plugins @@ -194,7 +194,7 @@ org.apache.maven.plugins maven-shade-plugin - 3.3.0 + 3.6.0 diff --git a/.github/building/inventory/pom.xml b/.github/building/inventory/pom.xml index 79a377f6..250d8abd 100644 --- a/.github/building/inventory/pom.xml +++ b/.github/building/inventory/pom.xml @@ -65,7 +65,7 @@ org.apache.maven.plugins maven-shade-plugin - 3.3.0 + 3.6.0 diff --git a/.github/workflows/deploy-master.yml b/.github/workflows/deploy-master.yml index b7e2a9aa..172d2f22 100644 --- a/.github/workflows/deploy-master.yml +++ b/.github/workflows/deploy-master.yml @@ -14,7 +14,7 @@ jobs: uses: actions/checkout@v4.2.2 - name: Bump Version id: bump - uses: Plugily-Projects/version-bump-action@v8 + uses: Plugily-Projects/version-bump-action@v10 with: github-token: ${{ secrets.github_token }} auto-version-bump: false diff --git a/MiniGamesBox Classic/pom.xml b/MiniGamesBox Classic/pom.xml index f3450cb9..09107f82 100644 --- a/MiniGamesBox Classic/pom.xml +++ b/MiniGamesBox Classic/pom.xml @@ -178,7 +178,7 @@ org.apache.maven.plugins maven-jar-plugin - 3.2.2 + 3.4.2 org.apache.maven.plugins @@ -192,7 +192,7 @@ org.apache.maven.plugins maven-shade-plugin - 3.3.0 + 3.6.0 diff --git a/MiniGamesBox Inventory/pom.xml b/MiniGamesBox Inventory/pom.xml index 145b2492..a0740a09 100644 --- a/MiniGamesBox Inventory/pom.xml +++ b/MiniGamesBox Inventory/pom.xml @@ -63,7 +63,7 @@ org.apache.maven.plugins maven-shade-plugin - 3.3.0 + 3.6.0 From ad2fc1014ea1f184a5305750c1d5337fa68a9f40 Mon Sep 17 00:00:00 2001 From: "version-bump[github-action]" <41898282+version-bump[github-action]@users.noreply.github.com> Date: Wed, 12 Mar 2025 23:13:11 +0000 Subject: [PATCH 38/42] Bump version from 1.3.17-SNAPSHOT10 to 1.3.17-SNAPSHOT11 --- MiniGamesBox API/pom.xml | 2 +- MiniGamesBox Classic/pom.xml | 2 +- MiniGamesBox Database/pom.xml | 2 +- MiniGamesBox Inventory/pom.xml | 2 +- MiniGamesBox Utils/pom.xml | 2 +- pom.xml | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/MiniGamesBox API/pom.xml b/MiniGamesBox API/pom.xml index e158294f..42cdea21 100644 --- a/MiniGamesBox API/pom.xml +++ b/MiniGamesBox API/pom.xml @@ -23,7 +23,7 @@ minigamesbox plugily.projects - 1.3.17-SNAPSHOT10 + 1.3.17-SNAPSHOT11 4.0.0 diff --git a/MiniGamesBox Classic/pom.xml b/MiniGamesBox Classic/pom.xml index 09107f82..fa855cc0 100644 --- a/MiniGamesBox Classic/pom.xml +++ b/MiniGamesBox Classic/pom.xml @@ -23,7 +23,7 @@ minigamesbox plugily.projects - 1.3.17-SNAPSHOT10 + 1.3.17-SNAPSHOT11 4.0.0 diff --git a/MiniGamesBox Database/pom.xml b/MiniGamesBox Database/pom.xml index 55ddb83d..ccbb9c72 100644 --- a/MiniGamesBox Database/pom.xml +++ b/MiniGamesBox Database/pom.xml @@ -23,7 +23,7 @@ minigamesbox plugily.projects - 1.3.17-SNAPSHOT10 + 1.3.17-SNAPSHOT11 4.0.0 diff --git a/MiniGamesBox Inventory/pom.xml b/MiniGamesBox Inventory/pom.xml index a0740a09..ec9d92f9 100644 --- a/MiniGamesBox Inventory/pom.xml +++ b/MiniGamesBox Inventory/pom.xml @@ -23,7 +23,7 @@ minigamesbox plugily.projects - 1.3.17-SNAPSHOT10 + 1.3.17-SNAPSHOT11 4.0.0 diff --git a/MiniGamesBox Utils/pom.xml b/MiniGamesBox Utils/pom.xml index f4fbc3c2..abafa917 100644 --- a/MiniGamesBox Utils/pom.xml +++ b/MiniGamesBox Utils/pom.xml @@ -23,7 +23,7 @@ minigamesbox plugily.projects - 1.3.17-SNAPSHOT10 + 1.3.17-SNAPSHOT11 4.0.0 diff --git a/pom.xml b/pom.xml index 736b9805..73253553 100644 --- a/pom.xml +++ b/pom.xml @@ -24,7 +24,7 @@ plugily.projects minigamesbox - 1.3.17-SNAPSHOT10 + 1.3.17-SNAPSHOT11 pom From 5094f20c732dfb74f15f1fab03c299729e7b9278 Mon Sep 17 00:00:00 2001 From: Tigerpanzer_02 <37453987+Tigerpanzer02@users.noreply.github.com> Date: Thu, 13 Mar 2025 18:06:40 +0100 Subject: [PATCH 39/42] Updated poms to save some bytes on build --- .github/building/database/pom.xml | 6 ++---- MiniGamesBox API/pom.xml | 21 +++------------------ MiniGamesBox Classic/pom.xml | 11 +++++++++-- MiniGamesBox Database/pom.xml | 4 ++-- MiniGamesBox Inventory/pom.xml | 2 +- 5 files changed, 17 insertions(+), 27 deletions(-) diff --git a/.github/building/database/pom.xml b/.github/building/database/pom.xml index dc9e4f4d..fbc8c68c 100644 --- a/.github/building/database/pom.xml +++ b/.github/building/database/pom.xml @@ -41,7 +41,7 @@ com.zaxxer HikariCP - 4.0.3 + 5.0.1 @@ -53,10 +53,8 @@ maven-javadoc-plugin 3.11.2 - MiniGamesBox Inventory API docs for v${project.version} + MiniGamesBox Database API docs for v${project.version} Library box with massive content that could be seen as minigames core. - minecraft/minigamesbox/inventory - false diff --git a/MiniGamesBox API/pom.xml b/MiniGamesBox API/pom.xml index 42cdea21..a732e281 100644 --- a/MiniGamesBox API/pom.xml +++ b/MiniGamesBox API/pom.xml @@ -36,26 +36,10 @@ - - mojang-repo - https://libraries.minecraft.net/ - - - simonsators-repo - https://simonsator.de/repo/ - - - alessiodp-repo - https://repo.alessiodp.com/releases/ - plugilyprojects-repo https://maven.plugily.xyz/releases - - placeholderapi - https://repo.extendedclip.com/releases/ - @@ -63,13 +47,14 @@ plugily.projects MiniGamesBox-Database ${project.version} - compile + provided true com.github.cryptomorin XSeries 13.0.0 + provided true @@ -82,7 +67,7 @@ maven-javadoc-plugin 3.11.2 - MiniGamesBox Inventory API docs for v${project.version} + MiniGamesBox Api API docs for v${project.version} Library box with massive content that could be seen as minigames core. diff --git a/MiniGamesBox Classic/pom.xml b/MiniGamesBox Classic/pom.xml index fa855cc0..df41ac5c 100644 --- a/MiniGamesBox Classic/pom.xml +++ b/MiniGamesBox Classic/pom.xml @@ -69,6 +69,7 @@ fr.mrmicky fastboard 2.1.3 + compile true @@ -87,12 +88,14 @@ com.github.cryptomorin XSeries 13.0.0 + compile true org.openjdk.nashorn nashorn-core 15.4 + compile de.simonsator @@ -161,14 +164,14 @@ com.google.code.gson gson - 2.9.0 + 2.10.1 compile io.papermc paperlib - 1.0.7 + 1.0.8 compile @@ -219,6 +222,10 @@ io.papermc.lib plugily.projects.minigamesbox.classic.utils.paperlib + + org.openjdk.nashorn + plugily.projects.minigamesbox.classic.utils.skript.nashorn + false diff --git a/MiniGamesBox Database/pom.xml b/MiniGamesBox Database/pom.xml index ccbb9c72..f4d7f026 100644 --- a/MiniGamesBox Database/pom.xml +++ b/MiniGamesBox Database/pom.xml @@ -41,7 +41,7 @@ com.zaxxer HikariCP - 4.0.3 + 5.0.1 @@ -53,7 +53,7 @@ maven-javadoc-plugin 3.11.2 - MiniGamesBox Inventory API docs for v${project.version} + MiniGamesBox Database API docs for v${project.version} Library box with massive content that could be seen as minigames core. diff --git a/MiniGamesBox Inventory/pom.xml b/MiniGamesBox Inventory/pom.xml index ec9d92f9..617e729d 100644 --- a/MiniGamesBox Inventory/pom.xml +++ b/MiniGamesBox Inventory/pom.xml @@ -45,7 +45,7 @@ fr.mrmicky FastInv - 3.0.3 + 3.1.1 From e145ba59e4044307f6479c6fb710b3557c9614c6 Mon Sep 17 00:00:00 2001 From: "version-bump[github-action]" <41898282+version-bump[github-action]@users.noreply.github.com> Date: Thu, 13 Mar 2025 17:07:01 +0000 Subject: [PATCH 40/42] Bump version from 1.3.17-SNAPSHOT11 to 1.3.17-SNAPSHOT12 --- MiniGamesBox API/pom.xml | 2 +- MiniGamesBox Classic/pom.xml | 2 +- MiniGamesBox Database/pom.xml | 2 +- MiniGamesBox Inventory/pom.xml | 2 +- MiniGamesBox Utils/pom.xml | 2 +- pom.xml | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/MiniGamesBox API/pom.xml b/MiniGamesBox API/pom.xml index a732e281..c7c79bba 100644 --- a/MiniGamesBox API/pom.xml +++ b/MiniGamesBox API/pom.xml @@ -23,7 +23,7 @@ minigamesbox plugily.projects - 1.3.17-SNAPSHOT11 + 1.3.17-SNAPSHOT12 4.0.0 diff --git a/MiniGamesBox Classic/pom.xml b/MiniGamesBox Classic/pom.xml index df41ac5c..2db7fe94 100644 --- a/MiniGamesBox Classic/pom.xml +++ b/MiniGamesBox Classic/pom.xml @@ -23,7 +23,7 @@ minigamesbox plugily.projects - 1.3.17-SNAPSHOT11 + 1.3.17-SNAPSHOT12 4.0.0 diff --git a/MiniGamesBox Database/pom.xml b/MiniGamesBox Database/pom.xml index f4d7f026..1b0d0170 100644 --- a/MiniGamesBox Database/pom.xml +++ b/MiniGamesBox Database/pom.xml @@ -23,7 +23,7 @@ minigamesbox plugily.projects - 1.3.17-SNAPSHOT11 + 1.3.17-SNAPSHOT12 4.0.0 diff --git a/MiniGamesBox Inventory/pom.xml b/MiniGamesBox Inventory/pom.xml index 617e729d..b1e61c8d 100644 --- a/MiniGamesBox Inventory/pom.xml +++ b/MiniGamesBox Inventory/pom.xml @@ -23,7 +23,7 @@ minigamesbox plugily.projects - 1.3.17-SNAPSHOT11 + 1.3.17-SNAPSHOT12 4.0.0 diff --git a/MiniGamesBox Utils/pom.xml b/MiniGamesBox Utils/pom.xml index abafa917..642e713d 100644 --- a/MiniGamesBox Utils/pom.xml +++ b/MiniGamesBox Utils/pom.xml @@ -23,7 +23,7 @@ minigamesbox plugily.projects - 1.3.17-SNAPSHOT11 + 1.3.17-SNAPSHOT12 4.0.0 diff --git a/pom.xml b/pom.xml index 73253553..cb6fa1de 100644 --- a/pom.xml +++ b/pom.xml @@ -24,7 +24,7 @@ plugily.projects minigamesbox - 1.3.17-SNAPSHOT11 + 1.3.17-SNAPSHOT12 pom From cd2be3236314cbf45d2074b5b91a81ae4f1d3615 Mon Sep 17 00:00:00 2001 From: Tigerpanzer_02 <37453987+Tigerpanzer02@users.noreply.github.com> Date: Thu, 13 Mar 2025 21:07:52 +0100 Subject: [PATCH 41/42] Updated CHANGELOG.md --- .github/CHANGELOG.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/CHANGELOG.md b/.github/CHANGELOG.md index 0aca5cd2..8d209cc8 100644 --- a/.github/CHANGELOG.md +++ b/.github/CHANGELOG.md @@ -1,6 +1,7 @@ -### 1.3.18 Release (xx.03.2025) +### 1.4.0 Release (13.03.2025) * Fixed scoreboard on FUll Game is showing waiting stage instead of starting * Fixed leaving while full game stopped the game +* Changed java compatibility backport to 1.8 ### 1.3.17 Release (04.03.2025) * Changed Scoreboard API (now paket based) (Thanks MrMicky-FR FastBoard) From 054d102f26dddbce651604c7d3fb8a0f7d0e575e Mon Sep 17 00:00:00 2001 From: "version-bump[github-action]" <41898282+version-bump[github-action]@users.noreply.github.com> Date: Thu, 13 Mar 2025 20:08:12 +0000 Subject: [PATCH 42/42] Bump version from 1.3.17-SNAPSHOT12 to 1.3.17-SNAPSHOT13 --- MiniGamesBox API/pom.xml | 2 +- MiniGamesBox Classic/pom.xml | 2 +- MiniGamesBox Database/pom.xml | 2 +- MiniGamesBox Inventory/pom.xml | 2 +- MiniGamesBox Utils/pom.xml | 2 +- pom.xml | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/MiniGamesBox API/pom.xml b/MiniGamesBox API/pom.xml index c7c79bba..3aa04dbe 100644 --- a/MiniGamesBox API/pom.xml +++ b/MiniGamesBox API/pom.xml @@ -23,7 +23,7 @@ minigamesbox plugily.projects - 1.3.17-SNAPSHOT12 + 1.3.17-SNAPSHOT13 4.0.0 diff --git a/MiniGamesBox Classic/pom.xml b/MiniGamesBox Classic/pom.xml index 2db7fe94..e26623cd 100644 --- a/MiniGamesBox Classic/pom.xml +++ b/MiniGamesBox Classic/pom.xml @@ -23,7 +23,7 @@ minigamesbox plugily.projects - 1.3.17-SNAPSHOT12 + 1.3.17-SNAPSHOT13 4.0.0 diff --git a/MiniGamesBox Database/pom.xml b/MiniGamesBox Database/pom.xml index 1b0d0170..2a1af5ef 100644 --- a/MiniGamesBox Database/pom.xml +++ b/MiniGamesBox Database/pom.xml @@ -23,7 +23,7 @@ minigamesbox plugily.projects - 1.3.17-SNAPSHOT12 + 1.3.17-SNAPSHOT13 4.0.0 diff --git a/MiniGamesBox Inventory/pom.xml b/MiniGamesBox Inventory/pom.xml index b1e61c8d..19ec187b 100644 --- a/MiniGamesBox Inventory/pom.xml +++ b/MiniGamesBox Inventory/pom.xml @@ -23,7 +23,7 @@ minigamesbox plugily.projects - 1.3.17-SNAPSHOT12 + 1.3.17-SNAPSHOT13 4.0.0 diff --git a/MiniGamesBox Utils/pom.xml b/MiniGamesBox Utils/pom.xml index 642e713d..d3dbd0f0 100644 --- a/MiniGamesBox Utils/pom.xml +++ b/MiniGamesBox Utils/pom.xml @@ -23,7 +23,7 @@ minigamesbox plugily.projects - 1.3.17-SNAPSHOT12 + 1.3.17-SNAPSHOT13 4.0.0 diff --git a/pom.xml b/pom.xml index cb6fa1de..73720a6b 100644 --- a/pom.xml +++ b/pom.xml @@ -24,7 +24,7 @@ plugily.projects minigamesbox - 1.3.17-SNAPSHOT12 + 1.3.17-SNAPSHOT13 pom