diff --git a/.github/dependabot.yml b/.github/dependabot.yml
new file mode 100644
index 0000000..0ca170d
--- /dev/null
+++ b/.github/dependabot.yml
@@ -0,0 +1,14 @@
+version: 2
+updates:
+ - package-ecosystem: "github-actions"
+ directory: "/"
+ schedule:
+ interval: weekly
+ day: monday
+ time: "06:00"
+ - package-ecosystem: "maven"
+ directory: "/"
+ schedule:
+ interval: weekly
+ day: monday
+ time: "06:00"
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 30ac21c..d985e0e 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -12,60 +12,66 @@ 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
+ if: github.event_name == 'release'
- - 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/pom.xml b/pom.xml
index 7d0bd7b..0a7bcdd 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
@@ -22,7 +22,7 @@
dmulloy2-repo
- https://repo.dmulloy2.net/repository/public/
+ https://repo.dmulloy2.net/content/groups/public/
@@ -34,9 +34,9 @@
provided
- com.comphenix.protocol
+ net.dmulloy2
ProtocolLib
- 4.8.0
+ 5.3.0
provided
diff --git a/src/main/java/com/github/jikoo/anvilunlocker/AnvilUnlocker.java b/src/main/java/pro/cloudnode/smp/anvilunlocker/AnvilUnlocker.java
similarity index 77%
rename from src/main/java/com/github/jikoo/anvilunlocker/AnvilUnlocker.java
rename to src/main/java/pro/cloudnode/smp/anvilunlocker/AnvilUnlocker.java
index 96f3d97..6362c1e 100644
--- a/src/main/java/com/github/jikoo/anvilunlocker/AnvilUnlocker.java
+++ b/src/main/java/pro/cloudnode/smp/anvilunlocker/AnvilUnlocker.java
@@ -1,9 +1,8 @@
-package com.github.jikoo.anvilunlocker;
+package pro.cloudnode.smp.anvilunlocker;
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) {