From 47b7ab15a3d81992953c344aa62e2bddae6ace9e Mon Sep 17 00:00:00 2001 From: Jikoo Date: Mon, 23 Dec 2024 12:05:03 -0500 Subject: [PATCH 01/11] Fix max cost unsetting on modern versions Presumably this is due to a bug in the AnvilView impl, but unsure. --- pom.xml | 6 ++--- .../jikoo/anvilunlocker/AnvilUnlocker.java | 26 +++---------------- 2 files changed, 7 insertions(+), 25 deletions(-) diff --git a/pom.xml b/pom.xml index 7525923..314e385 100644 --- a/pom.xml +++ b/pom.xml @@ -7,7 +7,7 @@ com.github.jikoo anvilunlocker AnvilUnlocker - 1.1.0 + 1.1.1-SNAPSHOT UTF-8 @@ -36,13 +36,13 @@ com.comphenix.protocol ProtocolLib - 4.8.0 + 5.3.0 provided org.jetbrains annotations - 23.0.0 + 26.0.1 provided diff --git a/src/main/java/com/github/jikoo/anvilunlocker/AnvilUnlocker.java b/src/main/java/com/github/jikoo/anvilunlocker/AnvilUnlocker.java index 96f3d97..6ef69fe 100644 --- a/src/main/java/com/github/jikoo/anvilunlocker/AnvilUnlocker.java +++ b/src/main/java/com/github/jikoo/anvilunlocker/AnvilUnlocker.java @@ -3,7 +3,6 @@ import com.comphenix.protocol.PacketType; import com.comphenix.protocol.ProtocolLibrary; import com.comphenix.protocol.events.PacketContainer; -import java.lang.reflect.InvocationTargetException; import org.bukkit.GameMode; import org.bukkit.Material; import org.bukkit.entity.Player; @@ -11,7 +10,6 @@ import org.bukkit.event.EventPriority; import org.bukkit.event.Listener; import org.bukkit.event.inventory.InventoryCloseEvent; -import org.bukkit.event.inventory.InventoryOpenEvent; import org.bukkit.event.inventory.PrepareAnvilEvent; import org.bukkit.inventory.AnvilInventory; import org.bukkit.inventory.ItemStack; @@ -37,20 +35,6 @@ public void reloadConfig() { maximumCost = constrainAnvilMax(getConfig().getInt("maximumCost")); } - @EventHandler(priority = EventPriority.MONITOR) - private void onInventoryOpen(@NotNull InventoryOpenEvent event) { - if (!(event.getInventory() instanceof AnvilInventory)) { - return; - } - - ((AnvilInventory) event.getInventory()).setMaximumRepairCost(maximumCost); - - if (event.getPlayer() instanceof Player - && event.getPlayer().getGameMode() != GameMode.CREATIVE) { - setInstantBuild((Player) event.getPlayer(), true); - } - } - @EventHandler(priority = EventPriority.MONITOR) private void onInventoryClose(@NotNull InventoryCloseEvent event) { if (event.getInventory() instanceof AnvilInventory @@ -67,8 +51,10 @@ private void onPrepareAnvil(@NotNull PrepareAnvilEvent event) { return; } + AnvilInventory anvil = event.getInventory(); + anvil.setMaximumRepairCost(maximumCost); + getServer().getScheduler().runTask(this, () -> { - AnvilInventory anvil = event.getInventory(); ItemStack input2 = anvil.getItem(1); setInstantBuild( (Player) event.getView().getPlayer(), @@ -88,11 +74,7 @@ public void setInstantBuild(@NotNull Player player, boolean instantBuild) { packet.getFloat().write(0, player.getFlySpeed() / 2); packet.getFloat().write(1, player.getWalkSpeed() / 2); - try { - ProtocolLibrary.getProtocolManager().sendServerPacket(player, packet); - } catch (InvocationTargetException e) { - e.printStackTrace(); - } + ProtocolLibrary.getProtocolManager().sendServerPacket(player, packet); } private static int constrainAnvilMax(int actual) { From 8fd9cd73325e85ed2d63e414e99043625574ec47 Mon Sep 17 00:00:00 2001 From: Jikoo Date: Mon, 23 Dec 2024 12:05:45 -0500 Subject: [PATCH 02/11] Update CI, add Dependabot --- .github/dependabot.yml | 10 ++++ .github/workflows/auto-merge_dependabot.yml | 15 ++++++ .github/workflows/ci.yml | 53 +++++---------------- .github/workflows/pull_request.yml | 13 +++++ 4 files changed, 50 insertions(+), 41 deletions(-) create mode 100644 .github/dependabot.yml create mode 100644 .github/workflows/auto-merge_dependabot.yml create mode 100644 .github/workflows/pull_request.yml diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 0000000..5ab4dca --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,10 @@ +version: 2 +updates: + - package-ecosystem: "github-actions" + directory: "/" + schedule: + interval: "monthly" + - package-ecosystem: "maven" + directory: "/" + schedule: + interval: "monthly" diff --git a/.github/workflows/auto-merge_dependabot.yml b/.github/workflows/auto-merge_dependabot.yml new file mode 100644 index 0000000..ba6410d --- /dev/null +++ b/.github/workflows/auto-merge_dependabot.yml @@ -0,0 +1,15 @@ +name: Auto-merge Dependabot PRs + +on: + workflow_run: + workflows: [ "Pull Request" ] + types: [ completed ] + +jobs: + automerge-dependabot-pr: + if: "github.actor == 'dependabot[bot]' + && github.event.workflow_run.event == 'pull_request' + && github.event.workflow_run.conclusion == 'success'" + uses: Jikoo/PlanarActions/.github/workflows/pr_automerge_complete.yml@master + with: + triggering-workflow-run: ${{ github.event.workflow_run.id }} diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index afeb313..00676a5 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -1,54 +1,25 @@ -name: CI +name: Build on: push: - pull_request_target: + branches-ignore: + - dependabot/** jobs: - build: - runs-on: ubuntu-latest - steps: - - name: Checkout Code - uses: actions/checkout@v2 - - - name: Set Up Java - uses: actions/setup-java@v2 - with: - distribution: 'adopt' - java-version: '17' - - # Use cache to speed up build - - name: Cache Maven Repo - uses: actions/cache@v2 - id: cache - with: - path: ~/.m2/repository - key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} - - - name: Build With Maven - run: mvn -e clean package -am -P all - - # Upload artifacts - - name: Upload Distributable Jar - id: upload-final - uses: actions/upload-artifact@v2 - with: - name: dist - path: ./target/AnvilUnlocker.jar + run-ci: + uses: Jikoo/PlanarActions/.github/workflows/ci_maven.yml@master release: name: Create Github Release - needs: [ build ] + needs: [ run-ci ] if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/') runs-on: ubuntu-latest steps: - - name: Checkout Code - uses: actions/checkout@v2 - with: - fetch-depth: 0 - - name: Download Artifacts - uses: actions/download-artifact@v2 + uses: actions/download-artifact@v4 + with: + name: ${{ github.event.repository.name }}-ci + path: ${{ github.event.repository.name }}-ci - name: Parse Tag Name id: get_version @@ -56,11 +27,11 @@ jobs: - name: Create Release id: create-release - uses: softprops/action-gh-release@v0.1.5 + uses: softprops/action-gh-release@v2.1.0 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: name: AnvilUnlocker ${{ steps.get_version.outputs.result }} draft: true prerelease: true - files: ./dist/AnvilUnlocker.jar + files: ./${{ github.event.repository.name }}-ci/AnvilUnlocker.jar diff --git a/.github/workflows/pull_request.yml b/.github/workflows/pull_request.yml new file mode 100644 index 0000000..236f785 --- /dev/null +++ b/.github/workflows/pull_request.yml @@ -0,0 +1,13 @@ +name: Pull Request + +on: + pull_request: + +jobs: + run-ci: + uses: Jikoo/PlanarActions/.github/workflows/ci_maven.yml@master + store-dependabot-pr-data: + if: "github.actor == 'dependabot[bot]' && github.event_name == 'pull_request'" + uses: Jikoo/PlanarActions/.github/workflows/pr_automerge_prep.yml@master + with: + pr-number: ${{ github.event.number }} From 2f61e76b73c155325bf840f576ba7aad9a9c6ec2 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 23 Dec 2024 17:09:26 +0000 Subject: [PATCH 03/11] Bump softprops/action-gh-release from 2.1.0 to 2.2.0 (#4) --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 00676a5..e5f113f 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -27,7 +27,7 @@ jobs: - name: Create Release id: create-release - uses: softprops/action-gh-release@v2.1.0 + uses: softprops/action-gh-release@v2.2.0 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: From 57d9e3392dc65bdbbab123a0054cca1366696572 Mon Sep 17 00:00:00 2001 From: Jikoo Date: Mon, 23 Dec 2024 12:16:31 -0500 Subject: [PATCH 04/11] Bump version to 1.1.1 for release --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 314e385..437bab8 100644 --- a/pom.xml +++ b/pom.xml @@ -7,7 +7,7 @@ com.github.jikoo anvilunlocker AnvilUnlocker - 1.1.1-SNAPSHOT + 1.1.1 UTF-8 From b7f2b4bac44035ae8f41c42e3617f076a66e06fd Mon Sep 17 00:00:00 2001 From: Zefir Kirilov Date: Wed, 29 Oct 2025 17:30:26 +0200 Subject: [PATCH 05/11] updated CI --- .github/workflows/auto-merge_dependabot.yml | 15 ---- .github/workflows/ci.yml | 93 +++++++++++---------- .github/workflows/pull_request.yml | 13 --- 3 files changed, 49 insertions(+), 72 deletions(-) delete mode 100644 .github/workflows/auto-merge_dependabot.yml delete mode 100644 .github/workflows/pull_request.yml diff --git a/.github/workflows/auto-merge_dependabot.yml b/.github/workflows/auto-merge_dependabot.yml deleted file mode 100644 index ba6410d..0000000 --- a/.github/workflows/auto-merge_dependabot.yml +++ /dev/null @@ -1,15 +0,0 @@ -name: Auto-merge Dependabot PRs - -on: - workflow_run: - workflows: [ "Pull Request" ] - types: [ completed ] - -jobs: - automerge-dependabot-pr: - if: "github.actor == 'dependabot[bot]' - && github.event.workflow_run.event == 'pull_request' - && github.event.workflow_run.conclusion == 'success'" - uses: Jikoo/PlanarActions/.github/workflows/pr_automerge_complete.yml@master - with: - triggering-workflow-run: ${{ github.event.workflow_run.id }} diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 30ac21c..835ec29 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -12,60 +12,65 @@ jobs: build: name: Build runs-on: ubuntu-latest - outputs: - VERSION: ${{ steps.version.outputs.VERSION }} steps: - - name: Checkout Code + - name: Checkout repository uses: actions/checkout@v4 - with: - fetch-depth: 0 - fetch-tags: "true" - - - name: Set Up Java - uses: actions/setup-java@v4 - with: - distribution: "temurin" - java-version: "17" - # Use cache to speed up build - - name: Cache Maven Repo - uses: actions/cache@v4 - id: cache + - name: Set up JDK 17 + uses: actions/setup-java@v5 with: - path: ~/.m2/repository - key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} + java-version: 17 + distribution: temurin + cache: maven - - name: Get version - run: | - TAG=$(git describe --tags --always) - echo "VERSION=${TAG#v}" >> $GITHUB_OUTPUT - id: version + - name: Build With Maven + run: mvn -B package --file pom.xml - - name: Set version - run: mvn -B versions:set -DnewVersion=${{ steps.version.outputs.VERSION }} -DgenerateBackupPoms=false + publish: + name: Publish + runs-on: ubuntu-latest - - name: Build With Maven - run: mvn -e clean package -am -P all + steps: + - name: Checkout repository + uses: actions/checkout@v4 - - name: Upload Distributable Jar - id: upload-final - uses: actions/upload-artifact@v4 + - name: Set up JDK 17 + uses: actions/setup-java@v5 with: - name: dist - path: ./target/AnvilUnlocker-${{ steps.version.outputs.VERSION }}.jar + java-version: 17 + distribution: temurin + cache: maven - release: - name: Create Github Release - needs: [ build ] - if: github.event_name == 'release' - runs-on: ubuntu-latest - steps: - - name: Download Artifacts - uses: actions/download-artifact@v4 + - name: Set version from release tag + run: mvn -B versions:set -DnewVersion=${{ github.event.release.tag_name }} -DgenerateBackupPoms=false + + - name: Build and package Maven project + run: mvn -B clean package --file pom.xml - name: Upload to release - uses: JasonEtco/upload-to-release@master + uses: cloudnode-pro/release-upload-asset@1.0.2 + with: + gh-token: ${{ github.token }} + files: target/AnvilUnlocker-${{ github.event.release.tag_name }}.jar; type=application/java-archive + + - name: Upload to Modrinth + uses: cloudnode-pro/modrinth-publish@v2 with: - args: ./dist/AnvilUnlocker-${{ needs.build.outputs.VERSION }}.jar application/java-archive - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + token: ${{ secrets.MODRINTH_TOKEN }} + project: ${{ github.event.repository.custom_properties.modrinth_id }} + name: ${{ github.event.release.name == github.event.release.tag_name && format('AnvilUnlocker {0}', github.event.release.name) || github.event.release.name }} + version: ${{ github.event.release.tag_name }} + changelog: ${{ github.event.release.body }} + loaders: |- + paper + bukkit + spigot + game-versions: |- + 1.15.x + 1.16.x + 1.17.x + 1.18.x + 1.19.x + 1.20.x + 1.21.x + files: target/AnvilUnlocker-${{ github.event.release.tag_name }}.jar diff --git a/.github/workflows/pull_request.yml b/.github/workflows/pull_request.yml deleted file mode 100644 index 236f785..0000000 --- a/.github/workflows/pull_request.yml +++ /dev/null @@ -1,13 +0,0 @@ -name: Pull Request - -on: - pull_request: - -jobs: - run-ci: - uses: Jikoo/PlanarActions/.github/workflows/ci_maven.yml@master - store-dependabot-pr-data: - if: "github.actor == 'dependabot[bot]' && github.event_name == 'pull_request'" - uses: Jikoo/PlanarActions/.github/workflows/pr_automerge_prep.yml@master - with: - pr-number: ${{ github.event.number }} From ef8ccb165f2e18cb309651a8604c8b2ccd1a449b Mon Sep 17 00:00:00 2001 From: Zefir Kirilov Date: Wed, 29 Oct 2025 17:39:45 +0200 Subject: [PATCH 06/11] changed groupId to pro.cloudnode.smp --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 7d0bd7b..1e45abe 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 - com.github.jikoo + pro.cloudnode.smp anvilunlocker AnvilUnlocker 0.0.0-SNAPSHOT From 714eef730330a1a1c4c8a68b01267e9c27929e93 Mon Sep 17 00:00:00 2001 From: Zefir Kirilov Date: Wed, 29 Oct 2025 17:54:08 +0200 Subject: [PATCH 07/11] Bump ProtocolLib from 4.8.0 to 5.3.0 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 1e45abe..a22889e 100644 --- a/pom.xml +++ b/pom.xml @@ -36,7 +36,7 @@ com.comphenix.protocol ProtocolLib - 4.8.0 + 5.3.0 provided From 814e5d1a0bfe8eeb3a3f9a303813db997adc3cd2 Mon Sep 17 00:00:00 2001 From: Zefir Kirilov Date: Wed, 29 Oct 2025 17:59:37 +0200 Subject: [PATCH 08/11] run publish workflow only on release event --- .github/workflows/ci.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 835ec29..d985e0e 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -29,6 +29,7 @@ jobs: publish: name: Publish runs-on: ubuntu-latest + if: github.event_name == 'release' steps: - name: Checkout repository From 223a932c0120110a9d83cf1c53c43de617f8b7b0 Mon Sep 17 00:00:00 2001 From: Zefir Kirilov Date: Thu, 30 Oct 2025 12:01:50 +0200 Subject: [PATCH 09/11] updated ProtocolLib repo and group ID --- pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index a22889e..0a7bcdd 100644 --- a/pom.xml +++ b/pom.xml @@ -22,7 +22,7 @@ dmulloy2-repo - https://repo.dmulloy2.net/repository/public/ + https://repo.dmulloy2.net/content/groups/public/ @@ -34,7 +34,7 @@ provided - com.comphenix.protocol + net.dmulloy2 ProtocolLib 5.3.0 provided From c719644f46a8fd28e0e2e06b28cc99b3f74188ad Mon Sep 17 00:00:00 2001 From: Zefir Kirilov Date: Thu, 30 Oct 2025 12:11:36 +0200 Subject: [PATCH 10/11] updated group ID --- .../cloudnode/smp}/anvilunlocker/AnvilUnlocker.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename src/main/java/{com/github/jikoo => pro/cloudnode/smp}/anvilunlocker/AnvilUnlocker.java (98%) diff --git a/src/main/java/com/github/jikoo/anvilunlocker/AnvilUnlocker.java b/src/main/java/pro/cloudnode/smp/anvilunlocker/AnvilUnlocker.java similarity index 98% rename from src/main/java/com/github/jikoo/anvilunlocker/AnvilUnlocker.java rename to src/main/java/pro/cloudnode/smp/anvilunlocker/AnvilUnlocker.java index 6ef69fe..6362c1e 100644 --- a/src/main/java/com/github/jikoo/anvilunlocker/AnvilUnlocker.java +++ b/src/main/java/pro/cloudnode/smp/anvilunlocker/AnvilUnlocker.java @@ -1,4 +1,4 @@ -package com.github.jikoo.anvilunlocker; +package pro.cloudnode.smp.anvilunlocker; import com.comphenix.protocol.PacketType; import com.comphenix.protocol.ProtocolLibrary; From 6e60db5a5d89a410b39d51d7cf34d99a5958d719 Mon Sep 17 00:00:00 2001 From: Zefir Kirilov Date: Thu, 30 Oct 2025 12:14:14 +0200 Subject: [PATCH 11/11] updated dependabot schedule --- .github/dependabot.yml | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 5ab4dca..0ca170d 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -3,8 +3,12 @@ updates: - package-ecosystem: "github-actions" directory: "/" schedule: - interval: "monthly" + interval: weekly + day: monday + time: "06:00" - package-ecosystem: "maven" directory: "/" schedule: - interval: "monthly" + interval: weekly + day: monday + time: "06:00"