diff --git a/.github/dependabot.yml b/.github/dependabot.yml deleted file mode 100644 index 3ee6d7a16..000000000 --- a/.github/dependabot.yml +++ /dev/null @@ -1,130 +0,0 @@ -version: 2 -updates: - - package-ecosystem: "maven" - directory: "/" - schedule: - interval: "daily" - - package-ecosystem: "maven" - directory: "/IF" - schedule: - interval: "daily" - - package-ecosystem: "maven" - directory: "/adventure-support" - schedule: - interval: "daily" - - package-ecosystem: "maven" - directory: "/nms/1_14" - schedule: - interval: "daily" - - package-ecosystem: "maven" - directory: "/nms/1_15" - schedule: - interval: "daily" - - package-ecosystem: "maven" - directory: "/nms/1_16_1" - schedule: - interval: "daily" - - package-ecosystem: "maven" - directory: "/nms/1_16_2-3" - schedule: - interval: "daily" - - package-ecosystem: "maven" - directory: "/nms/1_16_4-5" - schedule: - interval: "daily" - - package-ecosystem: "maven" - directory: "/nms/1_17_0" - schedule: - interval: "daily" - - package-ecosystem: "maven" - directory: "/nms/1_17_1" - schedule: - interval: "daily" - - package-ecosystem: "maven" - directory: "/nms/1_18_0" - schedule: - interval: "daily" - - package-ecosystem: "maven" - directory: "/nms/1_18_1" - schedule: - interval: "daily" - - package-ecosystem: "maven" - directory: "/nms/1_18_2" - schedule: - interval: "daily" - - package-ecosystem: "maven" - directory: "/nms/1_19_0" - schedule: - interval: "daily" - - package-ecosystem: "maven" - directory: "/nms/1_19_1" - schedule: - interval: "daily" - - package-ecosystem: "maven" - directory: "/nms/1_19_2" - schedule: - interval: "daily" - - package-ecosystem: "maven" - directory: "/nms/1_19_3" - schedule: - interval: "daily" - - package-ecosystem: "maven" - directory: "/nms/1_19_4" - schedule: - interval: "daily" - - package-ecosystem: "maven" - directory: "/nms/1_20_0" - schedule: - interval: "daily" - - package-ecosystem: "maven" - directory: "/nms/1_20_1" - schedule: - interval: "daily" - - package-ecosystem: "maven" - directory: "/nms/1_20_2" - schedule: - interval: "daily" - - package-ecosystem: "maven" - directory: "/nms/1_20_3-4" - schedule: - interval: "daily" - - package-ecosystem: "maven" - directory: "/nms/1_20_5" - schedule: - interval: "daily" - - package-ecosystem: "maven" - directory: "/nms/1_20_6" - schedule: - interval: "daily" - - package-ecosystem: "maven" - directory: "/nms/1_21_0" - schedule: - interval: "daily" - - package-ecosystem: "maven" - directory: "/nms/1_21_1" - schedule: - interval: "daily" - - package-ecosystem: "maven" - directory: "/nms/1_21_2-3" - schedule: - interval: "daily" - - package-ecosystem: "maven" - directory: "/nms/1_21_4" - schedule: - interval: "daily" - - package-ecosystem: "maven" - directory: "/nms/abstraction" - schedule: - interval: "daily" - - package-ecosystem: "maven" - directory: "/inventory-view/iv-abstract-class" - schedule: - interval: "daily" - - package-ecosystem: "maven" - directory: "/inventory-view/iv-abstraction" - schedule: - interval: "daily" - - package-ecosystem: "maven" - directory: "/inventory-view/iv-interface" - schedule: - interval: "daily" diff --git a/.github/deployment/deploy.sh b/.github/deployment/deploy.sh deleted file mode 100644 index ccf6f861c..000000000 --- a/.github/deployment/deploy.sh +++ /dev/null @@ -1,27 +0,0 @@ -#!/usr/bin/env bash - -PARENT_VERSION=$(mvn help:evaluate -Dexpression=project.version -pl :IF-parent -q -DforceStdout) -BASE_VERSION=$(mvn help:evaluate -Dexpression=project.version -pl :IF -q -DforceStdout) - -if [[ $PARENT_VERSION != "$BASE_VERSION" ]]; then - echo "IF-parent and IF versions mismatch" - exit 1 -fi - -if [[ $PARENT_VERSION != *-SNAPSHOT ]]; then - exit 0 -fi - -if ! mvn clean install -B; then - echo "Unable to build IF" - exit 1 -fi - -if ! mvn deploy -N -pl :IF-parent -P deploy -s ./.github/deployment/settings.xml -B -Dgpg.passphrase="$1" -Ddeploy.username="$2" -Ddeploy.password="$3"; then - echo "Unable to deploy IF-parent" - exit 1 -fi - -if ! mvn deploy -pl :IF -P deploy -s ./.github/deployment/settings.xml -B -Dgpg.passphrase="$1" -Ddeploy.username="$2" -Ddeploy.password="$3"; then - echo "Unable to deploy IF" -fi diff --git a/.github/deployment/settings.xml b/.github/deployment/settings.xml deleted file mode 100644 index 6f1a37206..000000000 --- a/.github/deployment/settings.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - ossrh - ${deploy.username} - ${deploy.password} - - - \ No newline at end of file diff --git a/.github/workflows/auto-deploy.yml b/.github/workflows/auto-deploy.yml deleted file mode 100644 index 81f9f5a34..000000000 --- a/.github/workflows/auto-deploy.yml +++ /dev/null @@ -1,138 +0,0 @@ -name: Automatically deploy the project - -on: - push: - branches: - - master - -jobs: - deploy: - runs-on: ubuntu-latest - name: 'Deploy' - steps: - - name: Cache Paper(clip) jars - id: cache-paperclip-jars - uses: actions/cache@v2 - with: - path: | - .paper-nms - build - paperclip - ~/.m2/repository/io/papermc/paper - ~/.m2/repository/ca/bkaw/paper-nms - ~/.m2/repository/org/spigotmc/spigot - key: ${{ runner.os }}-${{ secrets.CACHE_VERSION }}-paperclip - - name: Download Paperclip jars - if: steps.cache-paperclip-jars.outputs.cache-hit != 'true' - run: | - mkdir -p paperclip - wget https://papermc.io/api/v2/projects/paper/versions/1.14.4/builds/243/downloads/paper-1.14.4-243.jar -O paperclip/paper-1.14.4.jar - wget https://papermc.io/api/v2/projects/paper/versions/1.15.2/builds/391/downloads/paper-1.15.2-391.jar -O paperclip/paper-1.15.2.jar - wget https://papermc.io/api/v2/projects/paper/versions/1.16.1/builds/138/downloads/paper-1.16.1-138.jar -O paperclip/paper-1.16.1.jar - wget https://papermc.io/api/v2/projects/paper/versions/1.16.3/builds/253/downloads/paper-1.16.3-253.jar -O paperclip/paper-1.16.3.jar - wget https://papermc.io/api/v2/projects/paper/versions/1.16.4/builds/416/downloads/paper-1.16.4-416.jar -O paperclip/paper-1.16.4.jar - - name: Set up JDK 11 - uses: actions/setup-java@v1 - with: - java-version: 11 - - name: Generate 1.14 - 1.16 Paper jars - if: steps.cache-paperclip-jars.outputs.cache-hit != 'true' - working-directory: paperclip - run: | - java -jar paper-1.14.4.jar - java -jar paper-1.15.2.jar - java -jar paper-1.16.1.jar - java -jar paper-1.16.3.jar - java -jar paper-1.16.4.jar - - name: Install 1.14 - 1.16 Paper jars - if: steps.cache-paperclip-jars.outputs.cache-hit != 'true' - working-directory: paperclip - run: | - mvn install:install-file -Dfile=cache/patched_1.14.4.jar -DgroupId="io.papermc" -DartifactId="paper" -Dversion="1.14.4-R0.1-SNAPSHOT" -Dpackaging="jar" - mvn install:install-file -Dfile=cache/patched_1.15.2.jar -DgroupId="io.papermc" -DartifactId="paper" -Dversion="1.15.2-R0.1-SNAPSHOT" -Dpackaging="jar" - mvn install:install-file -Dfile=cache/patched_1.16.1.jar -DgroupId="io.papermc" -DartifactId="paper" -Dversion="1.16.1-R0.1-SNAPSHOT" -Dpackaging="jar" - mvn install:install-file -Dfile=cache/patched_1.16.3.jar -DgroupId="io.papermc" -DartifactId="paper" -Dversion="1.16.3-R0.1-SNAPSHOT" -Dpackaging="jar" - mvn install:install-file -Dfile=cache/patched_1.16.4.jar -DgroupId="io.papermc" -DartifactId="paper" -Dversion="1.16.4-R0.1-SNAPSHOT" -Dpackaging="jar" - - name: Set up JDK 21 - uses: actions/setup-java@v1 - with: - java-version: 21 - - uses: actions/checkout@v2 - name: Checkout code - - name: Run paper-nms init - if: steps.cache-paperclip-jars.outputs.cache-hit != 'true' - run: | - mvn paper-nms:init -pl nms/1_17_0 - mvn paper-nms:init -pl nms/1_17_1 - mvn paper-nms:init -pl nms/1_18_0 - mvn paper-nms:init -pl nms/1_18_1 - mvn paper-nms:init -pl nms/1_18_2 - mvn paper-nms:init -pl nms/1_19_0 - mvn paper-nms:init -pl nms/1_19_1 - mvn paper-nms:init -pl nms/1_19_2 - mvn paper-nms:init -pl nms/1_19_3 - mvn paper-nms:init -pl nms/1_19_4 - mvn paper-nms:init -pl nms/1_20_0 - mvn paper-nms:init -pl nms/1_20_1 - mvn paper-nms:init -pl nms/1_20_2 - mvn paper-nms:init -pl nms/1_20_3-4 - - name: 'Run BuildTools 1.20.5-1.20.6, 1.21' - if: steps.cache-paperclip-jars.outputs.cache-hit != 'true' - run: | - mkdir -p build - cd build/ - wget https://hub.spigotmc.org/jenkins/job/BuildTools/lastSuccessfulBuild/artifact/target/BuildTools.jar -O BuildTools.jar - - git clone https://hub.spigotmc.org/stash/scm/spigot/bukkit.git Bukkit - cd Bukkit - git checkout 304e83eb384c338546aa96eea51388e0e8407e26 - cd .. - - git clone https://hub.spigotmc.org/stash/scm/spigot/craftbukkit.git CraftBukkit - cd CraftBukkit - git checkout 91b1fc3f1cf89e2591367dca1fa7362fe376f289 - cd .. - - git clone https://hub.spigotmc.org/stash/scm/spigot/spigot.git Spigot - cd Spigot - git checkout b698b49caf14f97a717afd67e13fd7ac59f51089 - cd .. - - git clone https://hub.spigotmc.org/stash/scm/spigot/builddata.git BuildData - cd BuildData - git checkout a7f7c2118b877fde4cf0f32f1f730ffcdee8e9ee - cd .. - - java -jar BuildTools.jar --remapped --disable-java-check --dont-update - java -jar BuildTools.jar --rev 1.20.6 --remapped --disable-java-check - - cd Bukkit - git checkout 2ec53f498e32b3af989cb24672fc54dfab087154 - cd .. - - cd CraftBukkit - git checkout 8ee6fd1b8db9896590aa321d0199453de1fc35db - cd .. - - cd Spigot - git checkout fb8fb722a327a2f9f097f2ded700ac5de8157408 - cd .. - - cd BuildData - git checkout ae1e7b1e31cd3a3892bb05a6ccdcecc48c73c455 - cd .. - - java -jar BuildTools.jar --remapped --disable-java-check --dont-update - java -jar BuildTools.jar --rev 1.21.1 --remapped --disable-java-check - java -jar BuildTools.jar --rev 1.21.3 --remapped --disable-java-check - java -jar BuildTools.jar --rev 1.21.4 --remapped --disable-java-check - - cd ../ - - name: Setup GPG keys - run: cat <(echo -e "${{ secrets.GPG_KEY }}") | gpg --batch --import - - name: Automatically deploy the project - env: - gpg_passphrase: ${{ secrets.GPG_PASSPHRASE }} - deploy_username: ${{ secrets.DEPLOY_USERNAME }} - deploy_password: ${{ secrets.DEPLOY_PASSWORD }} - run: bash ./.github/deployment/deploy.sh "$gpg_passphrase" "$deploy_username" "$deploy_password" diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml deleted file mode 100644 index 8af10583a..000000000 --- a/.github/workflows/maven.yml +++ /dev/null @@ -1,138 +0,0 @@ -# This workflow will build a Java project with Maven -# For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-maven - -name: Java CI with Maven - -on: - push: - branches: [ '*' ] - pull_request: - branches: [ '*' ] - workflow_dispatch: - branches: [ '*' ] - -jobs: - build: - runs-on: ubuntu-latest - name: 'Build' - steps: - - name: Cache Paper(clip) jars - id: cache-paperclip-jars - uses: actions/cache@v2 - with: - path: | - .paper-nms - build - paperclip - ~/.m2/repository/io/papermc/paper - ~/.m2/repository/ca/bkaw/paper-nms - ~/.m2/repository/org/spigotmc/spigot - key: ${{ runner.os }}-${{ secrets.CACHE_VERSION }}-paperclip - - name: Download Paperclip jars - if: steps.cache-paperclip-jars.outputs.cache-hit != 'true' - run: | - mkdir -p paperclip - wget https://papermc.io/api/v2/projects/paper/versions/1.14.4/builds/243/downloads/paper-1.14.4-243.jar -O paperclip/paper-1.14.4.jar - wget https://papermc.io/api/v2/projects/paper/versions/1.15.2/builds/391/downloads/paper-1.15.2-391.jar -O paperclip/paper-1.15.2.jar - wget https://papermc.io/api/v2/projects/paper/versions/1.16.1/builds/138/downloads/paper-1.16.1-138.jar -O paperclip/paper-1.16.1.jar - wget https://papermc.io/api/v2/projects/paper/versions/1.16.3/builds/253/downloads/paper-1.16.3-253.jar -O paperclip/paper-1.16.3.jar - wget https://papermc.io/api/v2/projects/paper/versions/1.16.4/builds/416/downloads/paper-1.16.4-416.jar -O paperclip/paper-1.16.4.jar - - name: Set up JDK 11 - uses: actions/setup-java@v1 - with: - java-version: 11 - - name: Generate 1.14 - 1.16 Paper jars - if: steps.cache-paperclip-jars.outputs.cache-hit != 'true' - working-directory: paperclip - run: | - java -jar paper-1.14.4.jar - java -jar paper-1.15.2.jar - java -jar paper-1.16.1.jar - java -jar paper-1.16.3.jar - java -jar paper-1.16.4.jar - - name: Install 1.14 - 1.16 Paper jars - if: steps.cache-paperclip-jars.outputs.cache-hit != 'true' - working-directory: paperclip - run: | - mvn install:install-file -Dfile=cache/patched_1.14.4.jar -DgroupId="io.papermc" -DartifactId="paper" -Dversion="1.14.4-R0.1-SNAPSHOT" -Dpackaging="jar" - mvn install:install-file -Dfile=cache/patched_1.15.2.jar -DgroupId="io.papermc" -DartifactId="paper" -Dversion="1.15.2-R0.1-SNAPSHOT" -Dpackaging="jar" - mvn install:install-file -Dfile=cache/patched_1.16.1.jar -DgroupId="io.papermc" -DartifactId="paper" -Dversion="1.16.1-R0.1-SNAPSHOT" -Dpackaging="jar" - mvn install:install-file -Dfile=cache/patched_1.16.3.jar -DgroupId="io.papermc" -DartifactId="paper" -Dversion="1.16.3-R0.1-SNAPSHOT" -Dpackaging="jar" - mvn install:install-file -Dfile=cache/patched_1.16.4.jar -DgroupId="io.papermc" -DartifactId="paper" -Dversion="1.16.4-R0.1-SNAPSHOT" -Dpackaging="jar" - - name: Set up JDK 21 - uses: actions/setup-java@v1 - with: - java-version: 21 - - uses: actions/checkout@v2 - name: Checkout code - - name: Run paper-nms init - if: steps.cache-paperclip-jars.outputs.cache-hit != 'true' - run: | - mvn paper-nms:init -pl nms/1_17_0 - mvn paper-nms:init -pl nms/1_17_1 - mvn paper-nms:init -pl nms/1_18_0 - mvn paper-nms:init -pl nms/1_18_1 - mvn paper-nms:init -pl nms/1_18_2 - mvn paper-nms:init -pl nms/1_19_0 - mvn paper-nms:init -pl nms/1_19_1 - mvn paper-nms:init -pl nms/1_19_2 - mvn paper-nms:init -pl nms/1_19_3 - mvn paper-nms:init -pl nms/1_19_4 - mvn paper-nms:init -pl nms/1_20_0 - mvn paper-nms:init -pl nms/1_20_1 - mvn paper-nms:init -pl nms/1_20_2 - mvn paper-nms:init -pl nms/1_20_3-4 - - name: 'Run BuildTools 1.20.5-1.20.6, 1.21' - if: steps.cache-paperclip-jars.outputs.cache-hit != 'true' - run: | - mkdir -p build - cd build/ - wget https://hub.spigotmc.org/jenkins/job/BuildTools/lastSuccessfulBuild/artifact/target/BuildTools.jar -O BuildTools.jar - - git clone https://hub.spigotmc.org/stash/scm/spigot/bukkit.git Bukkit - cd Bukkit - git checkout 304e83eb384c338546aa96eea51388e0e8407e26 - cd .. - - git clone https://hub.spigotmc.org/stash/scm/spigot/craftbukkit.git CraftBukkit - cd CraftBukkit - git checkout 91b1fc3f1cf89e2591367dca1fa7362fe376f289 - cd .. - - git clone https://hub.spigotmc.org/stash/scm/spigot/spigot.git Spigot - cd Spigot - git checkout b698b49caf14f97a717afd67e13fd7ac59f51089 - cd .. - - git clone https://hub.spigotmc.org/stash/scm/spigot/builddata.git BuildData - cd BuildData - git checkout a7f7c2118b877fde4cf0f32f1f730ffcdee8e9ee - cd .. - - java -jar BuildTools.jar --remapped --disable-java-check --dont-update - java -jar BuildTools.jar --rev 1.20.6 --remapped --disable-java-check - - cd Bukkit - git checkout 2ec53f498e32b3af989cb24672fc54dfab087154 - cd .. - - cd CraftBukkit - git checkout 8ee6fd1b8db9896590aa321d0199453de1fc35db - cd .. - - cd Spigot - git checkout fb8fb722a327a2f9f097f2ded700ac5de8157408 - cd .. - - cd BuildData - git checkout ae1e7b1e31cd3a3892bb05a6ccdcecc48c73c455 - cd .. - - java -jar BuildTools.jar --remapped --disable-java-check --dont-update - java -jar BuildTools.jar --rev 1.21.1 --remapped --disable-java-check - java -jar BuildTools.jar --rev 1.21.3 --remapped --disable-java-check - java -jar BuildTools.jar --rev 1.21.4 --remapped --disable-java-check - - cd ../ - - name: Build with Maven - run: mvn -B package --file pom.xml diff --git a/IF/src/main/java/com/github/stefvanschie/inventoryframework/pane/MasonryPane.java b/IF/src/main/java/com/github/stefvanschie/inventoryframework/pane/MasonryPane.java index 894e87daf..dac9fa2ba 100644 --- a/IF/src/main/java/com/github/stefvanschie/inventoryframework/pane/MasonryPane.java +++ b/IF/src/main/java/com/github/stefvanschie/inventoryframework/pane/MasonryPane.java @@ -268,6 +268,11 @@ public void clear() { panes.clear(); } + @Override + public Optional getGuiItem(int slot) { + throw new IllegalStateException("Cannot use getGuiItem in MasonryPane, please get the Pane first."); + } + @NotNull @Override public Orientation getOrientation() { diff --git a/IF/src/main/java/com/github/stefvanschie/inventoryframework/pane/OutlinePane.java b/IF/src/main/java/com/github/stefvanschie/inventoryframework/pane/OutlinePane.java index 90fd53f71..ca464327d 100644 --- a/IF/src/main/java/com/github/stefvanschie/inventoryframework/pane/OutlinePane.java +++ b/IF/src/main/java/com/github/stefvanschie/inventoryframework/pane/OutlinePane.java @@ -364,6 +364,11 @@ public void clear() { items.clear(); } + @Override + public Optional getGuiItem(int slot) { + return Optional.ofNullable(items.get(slot)); + } + /** * Applies a custom mask to this pane. This will throw an {@link IllegalArgumentException} when the mask's dimension * differs from this pane's dimension. diff --git a/IF/src/main/java/com/github/stefvanschie/inventoryframework/pane/PaginatedPane.java b/IF/src/main/java/com/github/stefvanschie/inventoryframework/pane/PaginatedPane.java index c3778e757..f2838b87b 100644 --- a/IF/src/main/java/com/github/stefvanschie/inventoryframework/pane/PaginatedPane.java +++ b/IF/src/main/java/com/github/stefvanschie/inventoryframework/pane/PaginatedPane.java @@ -439,6 +439,11 @@ public void clear() { panes.clear(); } + @Override + public Optional getGuiItem(int slot) { + throw new IllegalStateException("Cannot use getGuiItem in PaginatedPane, please get the Pane first."); + } + /** * Loads a paginated pane from a given element * diff --git a/IF/src/main/java/com/github/stefvanschie/inventoryframework/pane/Pane.java b/IF/src/main/java/com/github/stefvanschie/inventoryframework/pane/Pane.java index 193753b02..8adcc6e4f 100644 --- a/IF/src/main/java/com/github/stefvanschie/inventoryframework/pane/Pane.java +++ b/IF/src/main/java/com/github/stefvanschie/inventoryframework/pane/Pane.java @@ -698,6 +698,14 @@ public Priority getPriority() { */ public abstract void clear(); + /** + * Get the GuiItem in a specific Slot + * The result is not guaranteed, in fact, is an optional + * + * @return if presents, the GuiItem present in the Slot param + * */ + public abstract Optional getGuiItem(int slot); + /** * Set the consumer that should be called whenever this pane is clicked in. * diff --git a/IF/src/main/java/com/github/stefvanschie/inventoryframework/pane/PatternPane.java b/IF/src/main/java/com/github/stefvanschie/inventoryframework/pane/PatternPane.java index 86a02db3a..f100bea1d 100644 --- a/IF/src/main/java/com/github/stefvanschie/inventoryframework/pane/PatternPane.java +++ b/IF/src/main/java/com/github/stefvanschie/inventoryframework/pane/PatternPane.java @@ -333,6 +333,11 @@ public void clear() { this.bindings.clear(); } + @Override + public Optional getGuiItem(int slot) { + return Optional.ofNullable((GuiItem) getItems().toArray()[slot]); + } + @Override public void flipHorizontally(boolean flipHorizontally) { this.flippedHorizontally = flipHorizontally; diff --git a/IF/src/main/java/com/github/stefvanschie/inventoryframework/pane/StaticPane.java b/IF/src/main/java/com/github/stefvanschie/inventoryframework/pane/StaticPane.java index 1661708a0..921d80a61 100644 --- a/IF/src/main/java/com/github/stefvanschie/inventoryframework/pane/StaticPane.java +++ b/IF/src/main/java/com/github/stefvanschie/inventoryframework/pane/StaticPane.java @@ -339,7 +339,12 @@ public void clear() { items.clear(); } - @NotNull + @Override + public Optional getGuiItem(int slot) { + return Optional.ofNullable(items.get(Slot.fromIndex(slot))); + } + + @NotNull @Contract(pure = true) @Override public Collection getPanes() { @@ -431,4 +436,6 @@ public static StaticPane load(@NotNull Object instance, @NotNull Element element public static StaticPane load(@NotNull Object instance, @NotNull Element element) { return load(instance, element, JavaPlugin.getProvidingPlugin(StaticPane.class)); } + + }