diff --git a/.github/CHANGELOG.md b/.github/CHANGELOG.md
index 0159b10d..8d209cc8 100644
--- a/.github/CHANGELOG.md
+++ b/.github/CHANGELOG.md
@@ -1,4 +1,9 @@
-### 1.3.16 Release (04.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)
* Changed Scoreboard on lower 1.12.2 now supports 30 chars
* Changed Scoreboard on 1.13+ now supports unlimited chars
@@ -9,7 +14,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 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 93%
rename from .github/maven/api/pom.xml
rename to .github/building/api/pom.xml
index c8942187..44e79421 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
@@ -53,8 +53,8 @@
https://maven.plugily.xyz/releases
- papi-repo
- https://repo.extendedclip.com/content/repositories/placeholderapi/
+ placeholderapi
+ https://repo.extendedclip.com/releases/
@@ -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/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 extends BasicScript> 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 extends BasicScript> 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 00000000..f76dd238
Binary files /dev/null and b/.github/building/buildSrc/build/groovy-dsl-plugins/output/plugin-requests/plugily.projects.java-conventions/metadata.bin differ
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 00000000..bdc955b7
Binary files /dev/null and b/.github/building/buildSrc/build/groovy-dsl-plugins/work/metadata/plugily.projects.java-conventions/metadata.bin differ
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 00000000..9acd93cc
Binary files /dev/null and b/.github/building/buildSrc/build/tmp/compileJava/previous-compilation-data.bin differ
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 98%
rename from MiniGamesBox Classic/build.gradle.kts
rename to .github/building/classic/build.gradle.kts
index 5e9992d1..dd97d639 100644
--- a/MiniGamesBox Classic/build.gradle.kts
+++ b/.github/building/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/.github/maven/classic/pom.xml b/.github/building/classic/pom.xml
similarity index 94%
rename from .github/maven/classic/pom.xml
rename to .github/building/classic/pom.xml
index 6268ac1a..486888bb 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
@@ -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
@@ -65,12 +65,6 @@
-
- com.mojang
- authlib
- 2.3.31
- provided
-
fr.mrmicky
fastboard
@@ -155,7 +149,7 @@
me.clip
placeholderapi
- 2.11.2
+ 2.11.6
provided
@@ -184,12 +178,12 @@
org.apache.maven.plugins
maven-jar-plugin
- 3.2.2
+ 3.4.2
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.
@@ -200,7 +194,7 @@
org.apache.maven.plugins
maven-shade-plugin
- 3.3.0
+ 3.6.0
@@ -244,7 +238,7 @@
org.apache.maven.wagon
wagon-ssh
- 3.5.2
+ 3.5.3
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 86%
rename from .github/maven/database/pom.xml
rename to .github/building/database/pom.xml
index 644cfcef..fbc8c68c 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
@@ -41,7 +41,7 @@
com.zaxxer
HikariCP
- 4.0.3
+ 5.0.1
@@ -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}
+ MiniGamesBox Database 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/gradle.properties b/.github/building/gradle.properties
similarity index 97%
rename from gradle.properties
rename to .github/building/gradle.properties
index df931504..f6aa619a 100644
--- a/gradle.properties
+++ b/.github/building/gradle.properties
@@ -16,4 +16,4 @@
# along with this program. If not, see .
#
group=plugily.projects
-version=1.3.17
+version=1.3.17-SNAPSHOT4
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 95%
rename from .github/maven/inventory/pom.xml
rename to .github/building/inventory/pom.xml
index ef81d3a0..250d8abd 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
@@ -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.
@@ -65,7 +65,7 @@
org.apache.maven.plugins
maven-shade-plugin
- 3.3.0
+ 3.6.0
@@ -89,7 +89,7 @@
org.apache.maven.wagon
wagon-ssh
- 3.5.2
+ 3.5.3
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 94%
rename from .github/maven/utils/pom.xml
rename to .github/building/utils/pom.xml
index 8a2fc534..b8062a00 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
@@ -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/.github/workflows/deploy-development.yml b/.github/workflows/deploy-development.yml
index 62db223a..d24de707 100644
--- a/.github/workflows/deploy-development.yml
+++ b/.github/workflows/deploy-development.yml
@@ -10,11 +10,9 @@ 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
+ uses: Plugily-Projects/version-bump-action@v10
with:
github-token: ${{ secrets.github_token }}
auto-version-bump: true
@@ -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 -DaltDeploymentRepository=Snapshot::https://maven.plugily.xyz/snapshots -f pom.xml
diff --git a/.github/workflows/deploy-master.yml b/.github/workflows/deploy-master.yml
index c08a2056..172d2f22 100644
--- a/.github/workflows/deploy-master.yml
+++ b/.github/workflows/deploy-master.yml
@@ -12,11 +12,9 @@ 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
+ uses: Plugily-Projects/version-bump-action@v10
with:
github-token: ${{ secrets.github_token }}
auto-version-bump: false
@@ -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
diff --git a/MiniGamesBox API/pom.xml b/MiniGamesBox API/pom.xml
new file mode 100644
index 00000000..3aa04dbe
--- /dev/null
+++ b/MiniGamesBox API/pom.xml
@@ -0,0 +1,83 @@
+
+
+
+
+
+ minigamesbox
+ plugily.projects
+ 1.3.17-SNAPSHOT13
+
+ 4.0.0
+
+ MiniGamesBox-Api
+
+ 1.8
+ UTF-8
+ UTF-8
+
+
+
+
+
+ plugilyprojects-repo
+ https://maven.plugily.xyz/releases
+
+
+
+
+
+ plugily.projects
+ MiniGamesBox-Database
+ ${project.version}
+ provided
+ true
+
+
+ com.github.cryptomorin
+ XSeries
+ 13.0.0
+ provided
+ true
+
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-javadoc-plugin
+ 3.11.2
+
+ MiniGamesBox Api API docs for v${project.version}
+ Library box with massive content that could be seen as minigames core.
+
+
+
+
+
+ org.apache.maven.wagon
+ wagon-ssh
+ 3.5.3
+
+
+
+
diff --git a/MiniGamesBox Classic/pom.xml b/MiniGamesBox Classic/pom.xml
new file mode 100644
index 00000000..e26623cd
--- /dev/null
+++ b/MiniGamesBox Classic/pom.xml
@@ -0,0 +1,250 @@
+
+
+
+
+
+ minigamesbox
+ plugily.projects
+ 1.3.17-SNAPSHOT13
+
+ 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
+
+
+ placeholderapi
+ https://repo.extendedclip.com/releases/
+
+
+ via-version
+ https://repo.viaversion.com
+
+
+ jitpack
+ https://jitpack.io
+
+
+
+
+
+ fr.mrmicky
+ fastboard
+ 2.1.3
+ compile
+ true
+
+
+ com.viaversion
+ viaversion-api
+ 5.2.1
+ provided
+
+
+ com.github.ProtocolSupport
+ ProtocolSupport
+ master
+ provided
+
+
+ com.github.cryptomorin
+ XSeries
+ 13.0.0
+ compile
+ true
+
+
+ org.openjdk.nashorn
+ nashorn-core
+ 15.4
+ compile
+
+
+ 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.6
+ provided
+
+
+ org.jetbrains
+ annotations
+
+
+
+
+ com.google.code.gson
+ gson
+ 2.10.1
+ compile
+
+
+
+ io.papermc
+ paperlib
+ 1.0.8
+ compile
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+ 3.4.2
+
+
+ org.apache.maven.plugins
+ maven-javadoc-plugin
+ 3.11.2
+
+ MiniGamesBox Classic API docs for v${project.version}
+ Library box with massive content that could be seen as minigames core.
+
+
+
+ org.apache.maven.plugins
+ maven-shade-plugin
+ 3.6.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
+
+
+ org.openjdk.nashorn
+ plugily.projects.minigamesbox.classic.utils.skript.nashorn
+
+
+ false
+
+
+
+ package
+
+ shade
+
+
+
+
+
+
+
+ org.apache.maven.wagon
+ wagon-ssh
+ 3.5.3
+
+
+
+
\ No newline at end of file
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());
}
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()));
}
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/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();
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;
diff --git a/MiniGamesBox Database/pom.xml b/MiniGamesBox Database/pom.xml
new file mode 100644
index 00000000..2a1af5ef
--- /dev/null
+++ b/MiniGamesBox Database/pom.xml
@@ -0,0 +1,69 @@
+
+
+
+
+
+ minigamesbox
+ plugily.projects
+ 1.3.17-SNAPSHOT13
+
+ 4.0.0
+
+ MiniGamesBox-Database
+
+
+
+ 1.8
+ UTF-8
+ UTF-8
+
+
+
+
+
+ com.zaxxer
+ HikariCP
+ 5.0.1
+
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-javadoc-plugin
+ 3.11.2
+
+ MiniGamesBox Database API docs for v${project.version}
+ Library box with massive content that could be seen as minigames core.
+
+
+
+
+
+ org.apache.maven.wagon
+ wagon-ssh
+ 3.5.3
+
+
+
+
diff --git a/MiniGamesBox Inventory/pom.xml b/MiniGamesBox Inventory/pom.xml
new file mode 100644
index 00000000..19ec187b
--- /dev/null
+++ b/MiniGamesBox Inventory/pom.xml
@@ -0,0 +1,94 @@
+
+
+
+
+
+ minigamesbox
+ plugily.projects
+ 1.3.17-SNAPSHOT13
+
+ 4.0.0
+
+ MiniGamesBox-Inventory
+
+ 1.8
+ UTF-8
+ UTF-8
+
+
+
+
+ jitpack.io
+ https://jitpack.io
+
+
+
+
+
+ fr.mrmicky
+ FastInv
+ 3.1.1
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-javadoc-plugin
+ 3.11.2
+
+ MiniGamesBox Inventory API docs for v${project.version}
+ Library box with massive content that could be seen as minigames core.
+
+
+
+ org.apache.maven.plugins
+ maven-shade-plugin
+ 3.6.0
+
+
+
+ fr.mrmicky.fastinv
+ plugily.projects.minigamesbox.inventory.utils.fastinv
+
+
+ false
+
+
+
+ package
+
+ shade
+
+
+
+
+
+
+
+ org.apache.maven.wagon
+ wagon-ssh
+ 3.5.3
+
+
+
+
diff --git a/MiniGamesBox Utils/pom.xml b/MiniGamesBox Utils/pom.xml
new file mode 100644
index 00000000..d3dbd0f0
--- /dev/null
+++ b/MiniGamesBox Utils/pom.xml
@@ -0,0 +1,56 @@
+
+
+
+
+
+ minigamesbox
+ plugily.projects
+ 1.3.17-SNAPSHOT13
+
+ 4.0.0
+
+ MiniGamesBox-Utils
+
+ 1.8
+ UTF-8
+ UTF-8
+
+
+
+
+ org.apache.maven.plugins
+ maven-javadoc-plugin
+ 3.11.2
+
+ MiniGamesBox Inventory API docs for v${project.version}
+ Library box with massive content that could be seen as minigames core.
+
+
+
+
+
+ org.apache.maven.wagon
+ wagon-ssh
+ 3.5.3
+
+
+
+
diff --git a/pom.xml b/pom.xml
new file mode 100644
index 00000000..73720a6b
--- /dev/null
+++ b/pom.xml
@@ -0,0 +1,174 @@
+
+
+
+
+ 4.0.0
+
+ plugily.projects
+ minigamesbox
+ 1.3.17-SNAPSHOT13
+ 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.14.0
+
+ ${java.version}
+ ${java.version}
+
+
+
+ org.apache.maven.plugins
+ maven-site-plugin
+ 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.12
+
+ 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
+
+
+