From 3a80d3b826b3b13686194611a3df12c6b4970c45 Mon Sep 17 00:00:00 2001 From: Shynixn Date: Thu, 25 Jun 2026 22:38:12 +0200 Subject: [PATCH] #698 Added support for Minecraft 26.2. --- .github/workflows/main.yml | 143 ++++++++++-------- CHANGELOG.md | 17 +++ build.gradle.kts | 11 +- docs/footer-github.md | 13 ++ docs/footer-patreon-basic.md | 12 ++ docs/footer-patreon-elite.md | 11 ++ .../shynixn/petblocks/PetBlocksPlugin.kt | 5 +- .../shynixn/petblocks/impl/PetEntityImpl.kt | 13 +- .../petblocks/impl/physic/MathComponent.kt | 35 +++-- .../resources/plugin-1.17.0-1.21.11-folia.yml | 2 +- src/main/resources/plugin-1.17.0-1.21.11.yml | 2 +- src/main/resources/plugin-1.8.8-1.16.5.yml | 2 +- .../resources/plugin-26.1.0-latest-folia.yml | 2 +- src/main/resources/plugin-26.1.0-latest.yml | 2 +- 14 files changed, 174 insertions(+), 96 deletions(-) create mode 100644 CHANGELOG.md create mode 100644 docs/footer-github.md create mode 100644 docs/footer-patreon-basic.md create mode 100644 docs/footer-patreon-elite.md diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index b95720c5f..f86755ae7 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -35,6 +35,37 @@ jobs: ./gradlew build pluginJars echo "RELEASE_VERSION=$(./gradlew -q printVersion)" >> $GITHUB_ENV + - name: Rename Artifacts + if: "contains(github.event.head_commit.message, '--release') && contains(github.ref, 'master')" + run: | + mv ./build/libs/petblocks-${{ env.RELEASE_VERSION }}-26.1.0-latest-premium-folia.jar ./PetBlocks-26.1.0-latest-Premium-Folia.jar + mv ./build/libs/petblocks-${{ env.RELEASE_VERSION }}-1.17.0-1.21.11-premium-folia.jar ./PetBlocks-1.17.0-1.21.11-Premium-Folia.jar + mv ./build/libs/petblocks-${{ env.RELEASE_VERSION }}-1.8.8-1.16.5-premium.jar ./PetBlocks-1.8.8-1.16.5-Premium.jar + mv ./build/libs/petblocks-${{ env.RELEASE_VERSION }}-1.17.0-1.21.11-premium.jar ./PetBlocks-1.17.0-1.21.11-Premium.jar + mv ./build/libs/petblocks-${{ env.RELEASE_VERSION }}-26.1.0-latest-premium.jar ./PetBlocks-26.1.0-latest-Premium.jar + + - name: Parse Changelog + if: "contains(github.event.head_commit.message, '--release') && contains(github.ref, 'master')" + run: | + VERSION=${{ env.RELEASE_VERSION }} + CHANGES=$(awk '/^---/{exit} /^## Release /{found=1; next} found{print}' CHANGELOG.md) + FOOTER=$(cat docs/footer-github.md) + FOOTER="${FOOTER///$VERSION}" + PATREON_FOOTER_BASIC=$(cat docs/footer-patreon-basic.md) + PATREON_FOOTER_ELITE=$(cat docs/footer-patreon-elite.md) + BODY="$CHANGES"$'\n'"$FOOTER" + PATREON_BODY_BASIC="$CHANGES"$'\n'"$PATREON_FOOTER_BASIC" + PATREON_BODY_ELITE="$CHANGES"$'\n'"$PATREON_FOOTER_ELITE" + echo "RELEASE_BODY<> $GITHUB_ENV + echo "$BODY" >> $GITHUB_ENV + echo "EOF" >> $GITHUB_ENV + echo "RELEASE_PATREON_BASIC<> $GITHUB_ENV + echo "$PATREON_BODY_BASIC" >> $GITHUB_ENV + echo "EOF" >> $GITHUB_ENV + echo "RELEASE_PATREON_ELITE<> $GITHUB_ENV + echo "$PATREON_BODY_ELITE" >> $GITHUB_ENV + echo "EOF" >> $GITHUB_ENV + - name: Create Geyser Customizations if: "contains(github.event.head_commit.message, '--release') && contains(github.ref, 'master')" env: @@ -49,67 +80,12 @@ jobs: env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: - body: "This release was automatically created by Github Actions. Please wait until the author manually sets the patchnotes for this release." + body: ${{ env.RELEASE_BODY }} tag_name: ${{ env.RELEASE_VERSION }} release_name: Release ${{ env.RELEASE_VERSION }} draft: true prerelease: false - - name: Upload PetBlocks-1.8.8-1.16.5-Premium.jar - if: "contains(github.event.head_commit.message, '--release') && contains(github.ref, 'master')" - uses: actions/upload-release-asset@v1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - upload_url: ${{ steps.create_release.outputs.upload_url }} - asset_path: /home/runner/work/PetBlocks/PetBlocks/build/libs/petblocks-${{ env.RELEASE_VERSION }}-1.8.8-1.16.5-premium.jar - asset_name: PetBlocks-1.8.8-1.16.5-Premium.jar - asset_content_type: application/jar - - - name: Upload PetBlocks-1.17.0-1.21.11-Premium.jar - if: "contains(github.event.head_commit.message, '--release') && contains(github.ref, 'master')" - uses: actions/upload-release-asset@v1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - upload_url: ${{ steps.create_release.outputs.upload_url }} - asset_path: /home/runner/work/PetBlocks/PetBlocks/build/libs/petblocks-${{ env.RELEASE_VERSION }}-1.17.0-1.21.11-premium.jar - asset_name: PetBlocks-1.17.0-1.21.11-Premium.jar - asset_content_type: application/jar - - - name: Upload PetBlocks-1.17.0-1.21.11-Premium-Folia.jar - if: "contains(github.event.head_commit.message, '--release') && contains(github.ref, 'master')" - uses: actions/upload-release-asset@v1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - upload_url: ${{ steps.create_release.outputs.upload_url }} - asset_path: /home/runner/work/PetBlocks/PetBlocks/build/libs/petblocks-${{ env.RELEASE_VERSION }}-1.17.0-1.21.11-premium-folia.jar - asset_name: PetBlocks-1.17.0-1.21.11-Premium-Folia.jar - asset_content_type: application/jar - - - name: Upload PetBlocks-26.1.0-latest-Premium.jar - if: "contains(github.event.head_commit.message, '--release') && contains(github.ref, 'master')" - uses: actions/upload-release-asset@v1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - upload_url: ${{ steps.create_release.outputs.upload_url }} - asset_path: /home/runner/work/PetBlocks/PetBlocks/build/libs/petblocks-${{ env.RELEASE_VERSION }}-26.1.0-latest-premium.jar - asset_name: PetBlocks-26.1.0-latest-Premium.jar - asset_content_type: application/jar - - - name: Upload PetBlocks-26.1.0-latest-Premium-Folia.jar - if: "contains(github.event.head_commit.message, '--release') && contains(github.ref, 'master')" - uses: actions/upload-release-asset@v1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - upload_url: ${{ steps.create_release.outputs.upload_url }} - asset_path: /home/runner/work/PetBlocks/PetBlocks/build/libs/petblocks-${{ env.RELEASE_VERSION }}-26.1.0-latest-premium-folia.jar - asset_name: PetBlocks-26.1.0-latest-Premium-Folia.jar - asset_content_type: application/jar - - name: Upload PetBlocks-26.1.0-latest-Free.jar if: "contains(github.event.head_commit.message, '--release') && contains(github.ref, 'master')" uses: actions/upload-release-asset@v1 @@ -121,16 +97,55 @@ jobs: asset_name: PetBlocks.jar asset_content_type: application/jar - - name: Geyser Customizations to Github + - name: Publish Patreon Release if: "contains(github.event.head_commit.message, '--release') && contains(github.ref, 'master')" - uses: actions/upload-release-asset@v1 env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - upload_url: ${{ steps.create_release.outputs.upload_url }} - asset_path: /home/runner/work/PetBlocks/PetBlocks/PetBlocks-GeyserMC.zip - asset_name: PetBlocks-GeyserMC.zip - asset_content_type: application/zip + PAPOA_API_KEY: ${{ secrets.PAPOA_API_KEY }} + PAPOA_PASSWORD: ${{ secrets.PAPOA_PASSWORD }} + run: | + wget -O papoa https://github.com/Shynixn/PatreonPostApi/releases/latest/download/papoa-linux-x64 + chmod +x papoa + ./papoa post create \ + --title "PetBlocks for Folia v${{ env.RELEASE_VERSION }} (1.8.9-26.1.2)" \ + --content "$RELEASE_PATREON_ELITE" \ + --content-format text/markdown \ + --tier-name "Elite" \ + --tier-name "Legendary" \ + --collection-name "PetBlocks" \ + --tag petblocks \ + --tag minecraft \ + --tag plugin \ + --ttl-days 1 \ + --file ./PetBlocks-26.1.0-latest-Premium-Folia.jar \ + --file ./PetBlocks-1.17.0-1.21.11-Premium-Folia.jar \ + --file /home/runner/work/PetBlocks/PetBlocks/docs/wiki/docs/assets/title.png \ + --photo-attachment-file-name "title.png" \ + --attachment-file-name "PetBlocks-26.1.0-latest-Premium-Folia.jar" \ + --attachment-file-name "PetBlocks-1.17.0-1.21.11-Premium-Folia.jar" \ + --password "$PAPOA_PASSWORD" + ./papoa post create \ + --title "PetBlocks v${{ env.RELEASE_VERSION }} (1.8.9-26.1.2)" \ + --content "$RELEASE_PATREON_BASIC" \ + --content-format text/markdown \ + --tier-name "Basic" \ + --tier-name "Elite" \ + --tier-name "Legendary" \ + --collection-name "PetBlocks" \ + --tag petblocks \ + --tag minecraft \ + --tag plugin \ + --ttl-days 1 \ + --file ./PetBlocks-1.8.8-1.16.5-Premium.jar \ + --file ./PetBlocks-1.17.0-1.21.11-Premium.jar \ + --file ./PetBlocks-26.1.0-latest-Premium.jar \ + --file /home/runner/work/PetBlocks/PetBlocks/PetBlocks-GeyserMC.zip \ + --file /home/runner/work/PetBlocks/PetBlocks/docs/wiki/docs/assets/title.png \ + --photo-attachment-file-name "title.png" \ + --attachment-file-name "PetBlocks-1.8.8-1.16.5-Premium.jar" \ + --attachment-file-name "PetBlocks-1.17.0-1.21.11-Premium.jar" \ + --attachment-file-name "PetBlocks-26.1.0-latest-Premium.jar" \ + --attachment-file-name "PetBlocks-GeyserMC.zip" \ + --password "$PAPOA_PASSWORD" Documentation: runs-on: ubuntu-latest diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 000000000..5526c63c6 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,17 @@ +# Changelog + +## Release 9.31.0 + +### Changes + +* #698 Added support for Minecraft 26.2 + +--- + +## Release 1.0.0 + +### Changes + +* Initial release of PetBlocks + +--- diff --git a/build.gradle.kts b/build.gradle.kts index 261f1595f..143aef189 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -8,7 +8,7 @@ plugins { } group = "com.github.shynixn" -version = "9.30.1" +version = "9.31.0" repositories { mavenCentral() @@ -31,9 +31,9 @@ dependencies { implementation("org.openjdk.nashorn:nashorn-core:15.4") // Custom dependencies - implementation("com.github.shynixn.shygui:shygui:1.12.1") - implementation("com.github.shynixn.mcutils:common:2026.7") - implementation("com.github.shynixn.mcutils:packet:2026.12") + implementation("com.github.shynixn.shygui:shygui:1.13.0") + implementation("com.github.shynixn.mcutils:common:2026.13") + implementation("com.github.shynixn.mcutils:packet:2026.24") implementation("com.github.shynixn.mcutils:pathfinder:2026.3") implementation("com.github.shynixn.mcutils:database:2026.3") @@ -163,7 +163,8 @@ fun registerPluginJar( "com/github/shynixn/petblocks/lib/com/github/shynixn/mcutils/packet/nms/v1_21_R4/**", "com/github/shynixn/petblocks/lib/com/github/shynixn/mcutils/packet/nms/v1_21_R5/**", "com/github/shynixn/petblocks/lib/com/github/shynixn/mcutils/packet/nms/v1_21_R6/**", - "com/github/shynixn/petblocks/lib/com/github/shynixn/mcutils/packet/nms/v1_21_R7/**" + "com/github/shynixn/petblocks/lib/com/github/shynixn/mcutils/packet/nms/v1_21_R7/**", + "com/github/shynixn/petblocks/lib/com/github/shynixn/mcutils/packet/nms/v26_1_R1/**" ) for (path in oldNmsPaths) exclude(path) } diff --git a/docs/footer-github.md b/docs/footer-github.md new file mode 100644 index 000000000..fbf83df9e --- /dev/null +++ b/docs/footer-github.md @@ -0,0 +1,13 @@ + +### PetBlocks (Premium) + +* For Minecraft 1.8.9 - 26.2 +* Multiple pets per player +* Bedrock GeyserMC resource pack +* Supports [Folia](https://papermc.io/software/folia) +* Download: https://www.patreon.com/Shynixn + +### PetBlocks (Free) + +* For Minecraft 26.2 (the free version only supports the latest Minecraft version) +* Download: [PetBlocks.jar](https://github.com/Shynixn/PetBlocks/releases/download//PetBlocks.jar) diff --git a/docs/footer-patreon-basic.md b/docs/footer-patreon-basic.md new file mode 100644 index 000000000..9c112ecc4 --- /dev/null +++ b/docs/footer-patreon-basic.md @@ -0,0 +1,12 @@ + +### Downloads + +* PetBlocks-26.1.0-latest-Premium.jar (Minecraft 26.1 - latest) +* PetBlocks-1.17.0-1.21.11-Premium.jar (Minecraft 1.17.0 - 1.21.11) +* PetBlocks-1.8.8-1.16.5-Premium.jar (Minecraft 1.8.8 - 1.16.5) + +### Need help or support? + +* https://shynixn.github.io/PetBlocks +* I normally reply in 2 business days on [Discord](https://discord.gg/Y27tx8Y). +* Link your Discord name to Patreon to get prioritized support. diff --git a/docs/footer-patreon-elite.md b/docs/footer-patreon-elite.md new file mode 100644 index 000000000..44616dbb5 --- /dev/null +++ b/docs/footer-patreon-elite.md @@ -0,0 +1,11 @@ + +### Downloads + +* PetBlocks-26.1.0-latest-Premium-Folia.jar (Minecraft 26.1 - latest) +* PetBlocks-1.17.0-1.21.11-Premium-Folia.jar (Minecraft 1.17.0 - 1.21.11) + +### Need help or support? + +* https://shynixn.github.io/PetBlocks +* I normally reply in 2 business days on [Discord](https://discord.gg/Y27tx8Y). +* Link your Discord name to Patreon to get prioritized support. diff --git a/src/main/java/com/github/shynixn/petblocks/PetBlocksPlugin.kt b/src/main/java/com/github/shynixn/petblocks/PetBlocksPlugin.kt index e1b698649..7b3fff0a5 100644 --- a/src/main/java/com/github/shynixn/petblocks/PetBlocksPlugin.kt +++ b/src/main/java/com/github/shynixn/petblocks/PetBlocksPlugin.kt @@ -119,10 +119,11 @@ class PetBlocksPlugin : JavaPlugin(), CoroutineHandler { Version.VERSION_1_21_R5, Version.VERSION_1_21_R6, Version.VERSION_1_21_R7, - Version.VERSION_26_R1 + Version.VERSION_26_1_R1, + Version.VERSION_26_2_R1, ) } else { - listOf(Version.VERSION_26_R1) + listOf(Version.VERSION_26_2_R1) } if (!Version.serverVersion.isCompatible(*versions.toTypedArray())) { diff --git a/src/main/java/com/github/shynixn/petblocks/impl/PetEntityImpl.kt b/src/main/java/com/github/shynixn/petblocks/impl/PetEntityImpl.kt index 1b25976ac..6dc42f659 100644 --- a/src/main/java/com/github/shynixn/petblocks/impl/PetEntityImpl.kt +++ b/src/main/java/com/github/shynixn/petblocks/impl/PetEntityImpl.kt @@ -35,6 +35,7 @@ import org.bukkit.Material import org.bukkit.block.Block import org.bukkit.entity.Player import org.bukkit.plugin.Plugin +import org.bukkit.util.Vector import java.util.* import java.util.logging.Level @@ -449,12 +450,13 @@ class PetEntityImpl( private fun isOnGround(location: Location): Boolean { val rayTraceResult = rayTracingService.rayTraceMotion( - location.toVector3d(), - Vector3d(0.0, -1.0, 0.0), + location.clone(), + Vector(0.0, -1.0, 0.0), + 1.0, petMeta.physics.collideWithWater, petMeta.physics.collideWithPassableBlocks ) - return rayTraceResult.hitBlock + return rayTraceResult.hasHitBlock } /** @@ -533,8 +535,9 @@ class PetEntityImpl( fun findTargetBlock(maxDistance: Double): Block? { val worldLocation = getLocation().toLocation() val rayTraceResult = rayTracingService.rayTraceMotion( - worldLocation.toVector3d(), - worldLocation.direction.normalize().multiply(maxDistance).toVector3d(), + worldLocation.clone(), + worldLocation.direction.normalize().multiply(maxDistance), + maxDistance, petMeta.physics.collideWithWater, petMeta.physics.collideWithPassableBlocks ) diff --git a/src/main/java/com/github/shynixn/petblocks/impl/physic/MathComponent.kt b/src/main/java/com/github/shynixn/petblocks/impl/physic/MathComponent.kt index 6e85e3203..110684635 100644 --- a/src/main/java/com/github/shynixn/petblocks/impl/physic/MathComponent.kt +++ b/src/main/java/com/github/shynixn/petblocks/impl/physic/MathComponent.kt @@ -5,10 +5,11 @@ import com.github.shynixn.mcutils.common.toLocation import com.github.shynixn.mcutils.common.toVector import com.github.shynixn.mcutils.packet.api.RayTraceResult import com.github.shynixn.mcutils.packet.api.RayTracingService -import com.github.shynixn.mcutils.packet.api.meta.enumeration.BlockDirection import com.github.shynixn.petblocks.contract.Pet import com.github.shynixn.petblocks.entity.PhysicSettings import org.bukkit.Location +import org.bukkit.block.BlockFace +import org.bukkit.util.Vector import kotlin.math.abs class MathComponent( @@ -68,13 +69,14 @@ class MathComponent( // Check gravity. gravityRayTraceResult = rayTracingService.rayTraceMotion( - position, - Vector3d(0.0, -1.0, 0.0), + position.toLocation(), + Vector(0.0, -1.0, 0.0), + 1.0, settings.collideWithWater, settings.collideWithPassableBlocks ) - if (gravityRayTraceResult!!.hitBlock && motion.y < 0.0) { + if (gravityRayTraceResult!!.hasHitBlock && motion.y < 0.0) { // Set gravity to zero and correct y axe. this.motion.y = 0.0 this.position.y = gravityRayTraceResult!!.block!!.y + 1.0 @@ -82,35 +84,38 @@ class MathComponent( if (motion.x != 0.0 || motion.z != 0.0) { movementRayTraceResult = rayTracingService.rayTraceMotion( - position, - motion, + position.toLocation(), + motion.toVector(), + motion.length().coerceAtLeast(0.01), settings.collideWithWater, settings.collideWithPassableBlocks ) } else { // Check if stuck movementRayTraceResult = rayTracingService.rayTraceMotion( - position, - Vector3d(0.00, 0.1, 0.0), + position.toLocation(), + Vector(0.00, 0.1, 0.0), + motion.length(), settings.collideWithWater, settings.collideWithPassableBlocks ) - if (movementRayTraceResult!!.hitBlock && pet != null && !pet!!.isRiding()) { + if (movementRayTraceResult!!.hasHitBlock && pet != null && !pet!!.isRiding()) { pet?.call() return } } if (movementRayTraceResult != null) { - if (movementRayTraceResult!!.hitBlock && movementRayTraceResult!!.blockDirection != BlockDirection.UP) { + if (movementRayTraceResult!!.hasHitBlock && movementRayTraceResult!!.blockFace != BlockFace.UP) { val stuckBackMotion = rayTracingService.rayTraceMotion( - position, - Vector3d(motion.x * -1, 0.0, motion.z * -1), + position.toLocation(), + Vector(motion.x * -1, 0.0, motion.z * -1), + Vector(motion.x * -1, 0.0, motion.z * -1).length(), settings.collideWithWater, settings.collideWithPassableBlocks ) - if (stuckBackMotion.hitBlock) { + if (stuckBackMotion.hasHitBlock) { // If hit block while moving back. Move the entity up. position.add(motion.x * -1, 0.1, motion.z * -1) } else { @@ -122,7 +127,7 @@ class MathComponent( movementRayTraceResult = null } else { if (motion.x != 0.0 || motion.z != 0.0) { - val targetPosition = movementRayTraceResult!!.targetPosition + val targetPosition = movementRayTraceResult!!.targetLocation // Keep yaw and pitch. this.position.x = targetPosition.x this.position.y = targetPosition.y @@ -151,7 +156,7 @@ class MathComponent( } if (gravityRayTraceResult != null) { - if (!gravityRayTraceResult!!.hitBlock || motion.y > 0.0) { + if (!gravityRayTraceResult!!.hasHitBlock || motion.y > 0.0) { this.position.y += this.motion.y } } diff --git a/src/main/resources/plugin-1.17.0-1.21.11-folia.yml b/src/main/resources/plugin-1.17.0-1.21.11-folia.yml index 3092313d2..8961ac56d 100644 --- a/src/main/resources/plugin-1.17.0-1.21.11-folia.yml +++ b/src/main/resources/plugin-1.17.0-1.21.11-folia.yml @@ -1,5 +1,5 @@ name: PetBlocks -version: 9.30.1 +version: 9.31.0 author: Shynixn main: com.github.shynixn.petblocks.PetBlocksPlugin softdepend: [ PlaceholderAPI, HeadDatabase] diff --git a/src/main/resources/plugin-1.17.0-1.21.11.yml b/src/main/resources/plugin-1.17.0-1.21.11.yml index 24ac22fb1..8e15c62e8 100644 --- a/src/main/resources/plugin-1.17.0-1.21.11.yml +++ b/src/main/resources/plugin-1.17.0-1.21.11.yml @@ -1,5 +1,5 @@ name: PetBlocks -version: 9.30.1 +version: 9.31.0 author: Shynixn main: com.github.shynixn.petblocks.PetBlocksPlugin softdepend: [ PlaceholderAPI, HeadDatabase] diff --git a/src/main/resources/plugin-1.8.8-1.16.5.yml b/src/main/resources/plugin-1.8.8-1.16.5.yml index b03675e24..a8068507a 100644 --- a/src/main/resources/plugin-1.8.8-1.16.5.yml +++ b/src/main/resources/plugin-1.8.8-1.16.5.yml @@ -1,5 +1,5 @@ name: PetBlocks -version: 9.30.1 +version: 9.31.0 author: Shynixn main: com.github.shynixn.petblocks.PetBlocksPlugin softdepend: [ PlaceholderAPI, HeadDatabase] diff --git a/src/main/resources/plugin-26.1.0-latest-folia.yml b/src/main/resources/plugin-26.1.0-latest-folia.yml index d844f858e..02b894e03 100644 --- a/src/main/resources/plugin-26.1.0-latest-folia.yml +++ b/src/main/resources/plugin-26.1.0-latest-folia.yml @@ -1,5 +1,5 @@ name: PetBlocks -version: 9.30.1 +version: 9.31.0 author: Shynixn main: com.github.shynixn.petblocks.PetBlocksPlugin softdepend: [ PlaceholderAPI, HeadDatabase] diff --git a/src/main/resources/plugin-26.1.0-latest.yml b/src/main/resources/plugin-26.1.0-latest.yml index fe1ed197f..7c3df5bc8 100644 --- a/src/main/resources/plugin-26.1.0-latest.yml +++ b/src/main/resources/plugin-26.1.0-latest.yml @@ -1,5 +1,5 @@ name: PetBlocks -version: 9.30.1 +version: 9.31.0 author: Shynixn main: com.github.shynixn.petblocks.PetBlocksPlugin softdepend: [ PlaceholderAPI, HeadDatabase]