5 Commits

Author SHA1 Message Date
Oliver
5f5d5302cc fancynpcs: Remove newline in VERSION file 2025-12-05 18:57:22 +01:00
Oliver
dc80615146 Add support for 1.21.11-rc2 2025-12-05 18:51:27 +01:00
Oliver
7fb487a344 Add support for 1.21.11-pre5 2025-12-04 14:32:32 +01:00
Oliver
e837ad89d3 fancydialogs: Update changelog path in snapshot deployment config 2025-12-03 16:58:10 +01:00
Oliver
47bb6f7a10 ci: Use FancyVerteiler (#170)
* ci: Use FancyVerteiler for FD snapshot

* Update configs

* Revert some stuff

* Use FancyVerteiler for all plugins

* Fixes

* Fix

* Delete deployment tool
2025-12-03 16:11:23 +01:00
41 changed files with 339 additions and 714 deletions

View File

@@ -2,8 +2,9 @@ name: Deploy FancyDialogs (release)
on:
workflow_dispatch:
jobs:
deploy-plugin:
deploy:
runs-on: ubuntu-latest
steps:
@@ -27,25 +28,20 @@ jobs:
- name: Modify gradlew permissions
run: chmod +x ./gradlew
- name: Build deployment tool
run: ./gradlew :tools:deployment:shadowJar
- name: Build FancyDialogs for Modrinth
- name: Build
env:
RELEASE_CHANNEL: 'release'
RELEASE_PLATFORM: 'modrinth'
run: ./gradlew :plugins:fancydialogs:shadowJar
- name: Deploy to Modrinth
env:
MODRINTH_API_KEY: ${{ secrets.MODRINTH_API_KEY }}
DISCORD_WEBHOOK_URL: ${{ secrets.DISCORD_WEBHOOK_URL }}
run:
cd tools/deployment/build/libs &&
java -jar deployment.jar modrinth ../../../../plugins/fancydialogs/release_deployment_config.json true
- name: Deploy
uses: fancyinnovations/fancyverteiler@main
with:
config_path: "/plugins/fancydialogs/release_deployment_config.json"
modrinth_api_key: ${{ secrets.MODRINTH_API_KEY }}
discord_webhook_url: ${{ secrets.DISCORD_WEBHOOK_URL }}
- name: Publish to reposilite (releases)
run: ./gradlew :plugins:fancydialogs:fd-api:publishAllPublicationsToFancyinnovationsReleasesRepository
# - name: Publish to reposilite (releases)
# run: ./gradlew :plugins:fancydialogs:fd-api:publishAllPublicationsToFancyinnovationsReleasesRepository
- name: Publish to reposilite (snapshots)
run: ./gradlew :plugins:fancydialogs:fd-api:publishAllPublicationsToFancyinnovationsSnapshotsRepository
# - name: Publish to reposilite (snapshots)
# run: ./gradlew :plugins:fancydialogs:fd-api:publishAllPublicationsToFancyinnovationsSnapshotsRepository

View File

@@ -2,8 +2,9 @@ name: Deploy FancyHolograms v2 (release)
on:
workflow_dispatch:
jobs:
deploy-plugin:
deploy:
runs-on: ubuntu-latest
steps:
@@ -27,25 +28,20 @@ jobs:
- name: Modify gradlew permissions
run: chmod +x ./gradlew
- name: Build deployment tool
run: ./gradlew :tools:deployment:shadowJar
- name: Build FancyHolograms v2 for Modrinth
- name: Build
env:
RELEASE_CHANNEL: 'release'
RELEASE_PLATFORM: 'modrinth'
run: ./gradlew :plugins:fancyholograms-v2:shadowJar
- name: Deploy to Modrinth
env:
MODRINTH_API_KEY: ${{ secrets.MODRINTH_API_KEY }}
DISCORD_WEBHOOK_URL: ${{ secrets.DISCORD_WEBHOOK_URL }}
run:
cd tools/deployment/build/libs &&
java -jar deployment.jar modrinth ../../../../plugins/fancyholograms-v2/release_deployment_config.json true
- name: Deploy
uses: fancyinnovations/fancyverteiler@main
with:
config_path: "/plugins/fancyholograms-v2/release_deployment_config.json"
modrinth_api_key: ${{ secrets.MODRINTH_API_KEY }}
discord_webhook_url: ${{ secrets.DISCORD_WEBHOOK_URL }}
- name: Publish to reposilite (releases)
run: ./gradlew :plugins:fancyholograms-v2:api:publishAllPublicationsToFancyinnovationsReleasesRepository
# - name: Publish to reposilite (releases)
# run: ./gradlew :plugins:fancyholograms-v2:api:publishAllPublicationsToFancyinnovationsReleasesRepository
- name: Publish to reposilite (snapshots)
run: ./gradlew :plugins:fancyholograms-v2:api:publishAllPublicationsToFancyinnovationsSnapshotsRepository
# - name: Publish to reposilite (snapshots)
# run: ./gradlew :plugins:fancyholograms-v2:api:publishAllPublicationsToFancyinnovationsSnapshotsRepository

View File

@@ -2,8 +2,9 @@ name: Deploy FancyHolograms (release)
on:
workflow_dispatch:
jobs:
deploy-plugin:
deploy:
runs-on: ubuntu-latest
steps:
@@ -27,25 +28,20 @@ jobs:
- name: Modify gradlew permissions
run: chmod +x ./gradlew
- name: Build deployment tool
run: ./gradlew :tools:deployment:shadowJar
- name: Build FancyHolograms for Modrinth
- name: Build
env:
RELEASE_CHANNEL: 'release'
RELEASE_PLATFORM: 'modrinth'
run: ./gradlew :plugins:fancyholograms:shadowJar
- name: Deploy to Modrinth
env:
MODRINTH_API_KEY: ${{ secrets.MODRINTH_API_KEY }}
DISCORD_WEBHOOK_URL: ${{ secrets.DISCORD_WEBHOOK_URL }}
run:
cd tools/deployment/build/libs &&
java -jar deployment.jar modrinth ../../../../plugins/fancyholograms/release_deployment_config.json true
- name: Deploy
uses: fancyinnovations/fancyverteiler@main
with:
config_path: "/plugins/fancyholograms/release_deployment_config.json"
modrinth_api_key: ${{ secrets.MODRINTH_API_KEY }}
discord_webhook_url: ${{ secrets.DISCORD_WEBHOOK_URL }}
- name: Publish to reposilite (releases)
run: ./gradlew :plugins:fancyholograms:fh-api:publishAllPublicationsToFancyinnovationsReleasesRepository
# - name: Publish to reposilite (releases)
# run: ./gradlew :plugins:fancyholograms:fh-api:publishAllPublicationsToFancyinnovationsReleasesRepository
- name: Publish to reposilite (snapshots)
run: ./gradlew :plugins:fancyholograms:fh-api:publishAllPublicationsToFancyinnovationsSnapshotsRepository
# - name: Publish to reposilite (snapshots)
# run: ./gradlew :plugins:fancyholograms:fh-api:publishAllPublicationsToFancyinnovationsSnapshotsRepository

View File

@@ -2,8 +2,9 @@ name: Deploy FancyNpcs (release)
on:
workflow_dispatch:
jobs:
deploy-plugin:
deploy:
runs-on: ubuntu-latest
steps:
@@ -27,25 +28,20 @@ jobs:
- name: Modify gradlew permissions
run: chmod +x ./gradlew
- name: Build deployment tool
run: ./gradlew :tools:deployment:shadowJar
- name: Build FancyNpcs for Modrinth
- name: Build
env:
RELEASE_CHANNEL: 'release'
RELEASE_PLATFORM: 'modrinth'
run: ./gradlew :plugins:fancynpcs:shadowJar
- name: Deploy to Modrinth
env:
MODRINTH_API_KEY: ${{ secrets.MODRINTH_API_KEY }}
DISCORD_WEBHOOK_URL: ${{ secrets.DISCORD_WEBHOOK_URL }}
run:
cd tools/deployment/build/libs &&
java -jar deployment.jar modrinth ../../../../plugins/fancynpcs/release_deployment_config.json true
- name: Deploy
uses: fancyinnovations/fancyverteiler@main
with:
config_path: "/plugins/fancynpcs/release_deployment_config.json"
modrinth_api_key: ${{ secrets.MODRINTH_API_KEY }}
discord_webhook_url: ${{ secrets.DISCORD_WEBHOOK_URL }}
- name: Publish to reposilite (releases)
run: ./gradlew :plugins:fancynpcs:fn-api:publishAllPublicationsToFancyinnovationsReleasesRepository
# - name: Publish to reposilite (releases)
# run: ./gradlew :plugins:fancynpcs:fn-api:publishAllPublicationsToFancyinnovationsReleasesRepository
- name: Publish to reposilite (snapshots)
run: ./gradlew :plugins:fancynpcs:fn-api:publishAllPublicationsToFancyinnovationsSnapshotsRepository
# - name: Publish to reposilite (snapshots)
# run: ./gradlew :plugins:fancynpcs:fn-api:publishAllPublicationsToFancyinnovationsSnapshotsRepository

View File

@@ -2,8 +2,9 @@ name: Deploy FancyDialogs (snapshot)
on:
workflow_dispatch:
jobs:
deploy-fancydialogs:
deploy:
runs-on: ubuntu-latest
steps:
@@ -27,22 +28,17 @@ jobs:
- name: Modify gradlew permissions
run: chmod +x ./gradlew
- name: Build deployment tool
run: ./gradlew :tools:deployment:shadowJar
- name: Build FancyDialogs for Modrinth
- name: Build
env:
RELEASE_CHANNEL: 'snapshot'
RELEASE_PLATFORM: 'modrinth'
run: ./gradlew :plugins:fancydialogs:shadowJar
- name: Deploy to Modrinth
env:
MODRINTH_API_KEY: ${{ secrets.MODRINTH_API_KEY }}
DISCORD_WEBHOOK_URL: ${{ secrets.DISCORD_WEBHOOK_URL }}
run:
cd tools/deployment/build/libs &&
java -jar deployment.jar modrinth ../../../../plugins/fancydialogs/snapshot_deployment_config.json true
- name: Deploy
uses: fancyinnovations/fancyverteiler@main
with:
config_path: "/plugins/fancydialogs/snapshot_deployment_config.json"
modrinth_api_key: ${{ secrets.MODRINTH_API_KEY }}
discord_webhook_url: ${{ secrets.DISCORD_WEBHOOK_URL }}
- name: Publish to reposilite (snapshots)
run: ./gradlew :plugins:fancydialogs:fd-api:publishAllPublicationsToFancyinnovationsSnapshotsRepository
# - name: Publish to reposilite (snapshots)
# run: ./gradlew :plugins:fancydialogs:fd-api:publishAllPublicationsToFancyinnovationsSnapshotsRepository

View File

@@ -2,8 +2,9 @@ name: Deploy FancyHolograms v2 (snapshot)
on:
workflow_dispatch:
jobs:
deploy-fancyholograms:
deploy:
runs-on: ubuntu-latest
steps:
@@ -27,22 +28,17 @@ jobs:
- name: Modify gradlew permissions
run: chmod +x ./gradlew
- name: Build deployment tool
run: ./gradlew :tools:deployment:shadowJar
- name: Build FancyHolograms v2 for Modrinth
- name: Build
env:
RELEASE_CHANNEL: 'snapshot'
RELEASE_PLATFORM: 'modrinth'
run: ./gradlew :plugins:fancyholograms-v2:shadowJar
- name: Deploy to Modrinth
env:
MODRINTH_API_KEY: ${{ secrets.MODRINTH_API_KEY }}
DISCORD_WEBHOOK_URL: ${{ secrets.DISCORD_WEBHOOK_URL }}
run:
cd tools/deployment/build/libs &&
java -jar deployment.jar modrinth ../../../../plugins/fancyholograms-v2/snapshot_deployment_config.json true
- name: Deploy
uses: fancyinnovations/fancyverteiler@main
with:
config_path: "/plugins/fancyholograms-v2/snapshot_deployment_config.json"
modrinth_api_key: ${{ secrets.MODRINTH_API_KEY }}
discord_webhook_url: ${{ secrets.DISCORD_WEBHOOK_URL }}
- name: Publish to reposilite (snapshots)
run: ./gradlew :plugins:fancyholograms-v2:api:publishAllPublicationsToFancyinnovationsSnapshotsRepository
# - name: Publish to reposilite (snapshots)
# run: ./gradlew :plugins:fancyholograms-v2:api:publishAllPublicationsToFancyinnovationsSnapshotsRepository

View File

@@ -2,8 +2,9 @@ name: Deploy FancyHolograms (snapshot)
on:
workflow_dispatch:
jobs:
deploy-plugin:
deploy:
runs-on: ubuntu-latest
steps:
@@ -27,22 +28,17 @@ jobs:
- name: Modify gradlew permissions
run: chmod +x ./gradlew
- name: Build deployment tool
run: ./gradlew :tools:deployment:shadowJar
- name: Build FancyHolograms for Modrinth
- name: Build
env:
RELEASE_CHANNEL: 'snapshot'
RELEASE_PLATFORM: 'modrinth'
run: ./gradlew :plugins:fancyholograms:shadowJar
- name: Deploy to Modrinth
env:
MODRINTH_API_KEY: ${{ secrets.MODRINTH_API_KEY }}
DISCORD_WEBHOOK_URL: ${{ secrets.DISCORD_WEBHOOK_URL }}
run:
cd tools/deployment/build/libs &&
java -jar deployment.jar modrinth ../../../../plugins/fancyholograms/snapshot_deployment_config.json true
- name: Deploy
uses: fancyinnovations/fancyverteiler@main
with:
config_path: "/plugins/fancyholograms/snapshot_deployment_config.json"
modrinth_api_key: ${{ secrets.MODRINTH_API_KEY }}
discord_webhook_url: ${{ secrets.DISCORD_WEBHOOK_URL }}
- name: Publish to reposilite (snapshots)
run: ./gradlew :plugins:fancyholograms:fh-api:publishAllPublicationsToFancyinnovationsSnapshotsRepository
# - name: Publish to reposilite (snapshots)
# run: ./gradlew :plugins:fancyholograms:fh-api:publishAllPublicationsToFancyinnovationsSnapshotsRepository

View File

@@ -2,8 +2,9 @@ name: Deploy FancyNpcs (snapshot)
on:
workflow_dispatch:
jobs:
deploy-plugin:
deploy:
runs-on: ubuntu-latest
steps:
@@ -27,36 +28,17 @@ jobs:
- name: Modify gradlew permissions
run: chmod +x ./gradlew
- name: Build deployment tool
run: ./gradlew :tools:deployment:shadowJar
- name: Build FancyNpcs for Modrinth
- name: Build
env:
RELEASE_CHANNEL: 'snapshot'
RELEASE_PLATFORM: 'modrinth'
run: ./gradlew :plugins:fancynpcs:shadowJar
- name: Deploy to Modrinth
env:
MODRINTH_API_KEY: ${{ secrets.MODRINTH_API_KEY }}
DISCORD_WEBHOOK_URL: ${{ secrets.DISCORD_WEBHOOK_URL }}
run:
cd tools/deployment/build/libs &&
java -jar deployment.jar modrinth ../../../../plugins/fancynpcs/snapshot_deployment_config.json true
- name: Deploy
uses: fancyinnovations/fancyverteiler@main
with:
config_path: "/plugins/fancynpcs/snapshot_deployment_config.json"
modrinth_api_key: ${{ secrets.MODRINTH_API_KEY }}
discord_webhook_url: ${{ secrets.DISCORD_WEBHOOK_URL }}
# - name: Build FancyNpcs for Hangar
# env:
# RELEASE_CHANNEL: 'snapshot'
# RELEASE_PLATFORM: 'hangar'
# run: ./gradlew :plugins:fancynpcs:shadowJar
#
# - name: Deploy to Hangar
# env:
# HANGAR_API_KEY: "${{ secrets.HANGAR_API_KEY }}"
# DISCORD_WEBHOOK_URL: ${{ secrets.DISCORD_WEBHOOK_URL }}
# run:
# cd tools/deployment/build/libs &&
# java -jar deployment.jar hangar ../../../../plugins/fancynpcs/snapshot_deployment_config.json true
- name: Publish to reposilite (snapshots)
run: ./gradlew :plugins:fancynpcs:fn-api:publishAllPublicationsToFancyinnovationsSnapshotsRepository
# - name: Publish to reposilite (snapshots)
# run: ./gradlew :plugins:fancynpcs:fn-api:publishAllPublicationsToFancyinnovationsSnapshotsRepository

View File

@@ -35,7 +35,6 @@ This is a [monorepo](docs/src/development-guidelines/monorepo.md) for all plugin
- Packets: packet handling library (also called FancySitula)
**Tools:**
- Deployment: deploy plugins to platforms like modrinth
- Quick E2E: generate a quick end-to-end environment for testing
## Usage

View File

@@ -6,7 +6,7 @@ plugins {
paperweight.reobfArtifactConfiguration = io.papermc.paperweight.userdev.ReobfArtifactConfiguration.MOJANG_PRODUCTION
dependencies {
paperweight.paperDevBundle("1.21.11-pre4-R0.1-SNAPSHOT")
paperweight.paperDevBundle("1.21.11-rc2-R0.1-SNAPSHOT")
compileOnly(project(":libraries:packets:packets-api"))
testImplementation(project(":libraries:packets"))

View File

@@ -7,7 +7,7 @@ import java.util.List;
public enum ServerVersion {
v1_21_11("1.21.11 Pre-Release 4", 774),
v1_21_11("1.21.11 Release Candidate 2", 774),
v1_21_10("1.21.10", 773),
v1_21_9("1.21.9", 773),
v1_21_8("1.21.8", 772),

View File

@@ -1 +1 @@
1.0.1.35
1.0.1.37

View File

@@ -85,7 +85,7 @@ paper {
tasks {
runServer {
minecraftVersion("1.21.11-pre3")
minecraftVersion("1.21.11-rc2")
downloadPlugins {
// modrinth("fancynpcs", "2.8.0")

View File

@@ -1,9 +1,10 @@
{
"project_name": "FancyDialogs",
"plugin_jar_path": "/plugins/fancydialogs/build/libs/FancyDialogs-%VERSION%.jar",
"changelog_path": "/plugins/fancydialogs/CHANGELOG.md",
"version_path": "/plugins/fancydialogs/VERSION",
"modrinth": {
"project_id": "Sx6YwpnK",
"plugin_jar_path": "../../../../plugins/fancydialogs/build/libs/FancyDialogs-%VERSION%.jar",
"changelog_path": "../../../../plugins/fancydialogs/CHANGELOG.md",
"version_path": "../../../../plugins/fancydialogs/VERSION",
"supported_versions": [
"1.21.6",
"1.21.7",
@@ -12,10 +13,11 @@
"1.21.10",
"1.21.11"
],
"channel": "RELEASE",
"channel": "release",
"loaders": [
"paper",
"folia"
],
"featured": true
}
}

View File

@@ -1,21 +1,23 @@
{
"project_name": "FancyDialogs",
"plugin_jar_path": "/plugins/fancydialogs/build/libs/FancyDialogs-%VERSION%.jar",
"changelog_path": "/plugins/fancydialogs/CHANGELOG-SNAPSHOT.md",
"version_path": "/plugins/fancydialogs/VERSION",
"modrinth": {
"project_id": "Sx6YwpnK",
"plugin_jar_path": "../../../../plugins/fancydialogs/build/libs/FancyDialogs-%VERSION%.jar",
"changelog_path": "../../../../plugins/fancydialogs/CHANGELOG-SNAPSHOT.md",
"version_path": "../../../../plugins/fancydialogs/VERSION",
"supported_versions": [
"1.21.6",
"1.21.7",
"1.21.8",
"1.21.9",
"1.21.10",
"1.21.11-pre4"
"1.21.11-rc2"
],
"channel": "BETA",
"channel": "beta",
"loaders": [
"paper",
"folia"
],
"featured": false
}
}

View File

@@ -1 +1 @@
2.8.0.163
2.8.0.165

View File

@@ -90,7 +90,7 @@ paper {
tasks {
runServer {
minecraftVersion("1.21.11-pre3")
minecraftVersion("1.21.11-rc2")
downloadPlugins {
// modrinth("fancynpcs", "2.5.2")

View File

@@ -1,9 +1,10 @@
{
"project_name": "FancyHolograms",
"plugin_jar_path": "/plugins/fancyholograms-v2/build/libs/FancyHolograms-%VERSION%.jar",
"changelog_path": "/plugins/fancyholograms-v2/CHANGELOG.md",
"version_path": "/plugins/fancyholograms-v2/VERSION",
"modrinth": {
"project_id": "5QNgOj66",
"plugin_jar_path": "../../../../plugins/fancyholograms-v2/build/libs/FancyHolograms-%VERSION%.jar",
"changelog_path": "../../../../plugins/fancyholograms-v2/CHANGELOG.md",
"version_path": "../../../../plugins/fancyholograms-v2/VERSION",
"supported_versions": [
"1.20",
"1.20.1",
@@ -25,10 +26,11 @@
"1.21.10",
"1.21.11"
],
"channel": "RELEASE",
"channel": "release",
"loaders": [
"paper",
"folia"
],
"featured": true
}
}

View File

@@ -1,9 +1,10 @@
{
"project_name": "FancyHolograms",
"plugin_jar_path": "/plugins/fancyholograms-v2/build/libs/FancyHolograms-%VERSION%.jar",
"changelog_path": "/plugins/fancyholograms-v2/CHANGELOG-SNAPSHOT.md",
"version_path": "/plugins/fancyholograms-v2/VERSION",
"modrinth": {
"project_id": "5QNgOj66",
"plugin_jar_path": "../../../../plugins/fancyholograms-v2/build/libs/FancyHolograms-%VERSION%.jar",
"changelog_path": "../../../../plugins/fancyholograms-v2/CHANGELOG-SNAPSHOT.md",
"version_path": "../../../../plugins/fancyholograms-v2/VERSION",
"supported_versions": [
"1.20",
"1.20.1",
@@ -23,12 +24,13 @@
"1.21.8",
"1.21.9",
"1.21.10",
"1.21.11-pre4"
"1.21.11-rc2"
],
"channel": "BETA",
"channel": "beta",
"loaders": [
"paper",
"folia"
],
"featured": false
}
}

View File

@@ -1 +1 @@
3.0.0-SNAPSHOT.14
3.0.0-SNAPSHOT.16

View File

@@ -96,7 +96,7 @@ paper {
tasks {
runServer {
minecraftVersion("1.21.11-pre3")
minecraftVersion("1.21.11-rc2")
downloadPlugins {
modrinth("fancynpcs", "2.7.0")

View File

@@ -1,9 +1,10 @@
{
"project_name": "FancyHolograms",
"plugin_jar_path": "/plugins/fancyholograms/build/libs/FancyHolograms-%VERSION%.jar",
"changelog_path": "/plugins/fancyholograms/CHANGELOG.md",
"version_path": "/plugins/fancyholograms/VERSION",
"modrinth": {
"project_id": "5QNgOj66",
"plugin_jar_path": "../../../../plugins/fancyholograms/build/libs/FancyHolograms-%VERSION%.jar",
"changelog_path": "../../../../plugins/fancyholograms/CHANGELOG.md",
"version_path": "../../../../plugins/fancyholograms/VERSION",
"supported_versions": [
"1.20.5",
"1.20.6",
@@ -18,13 +19,13 @@
"1.21.8",
"1.21.9",
"1.21.10",
"1.21.11",
"1.21.11"
],
"channel": "RELEASE",
"channel": "release",
"loaders": [
"paper",
"folia"
],
"featured": true
}
}

View File

@@ -1,9 +1,10 @@
{
"project_name": "FancyHolograms",
"plugin_jar_path": "/plugins/fancyholograms/build/libs/FancyHolograms-%VERSION%.jar",
"changelog_path": "/plugins/fancyholograms/CHANGELOG-SNAPSHOT.md",
"version_path": "/plugins/fancyholograms/VERSION",
"modrinth": {
"project_id": "5QNgOj66",
"plugin_jar_path": "../../../../plugins/fancyholograms/build/libs/FancyHolograms-%VERSION%.jar",
"changelog_path": "../../../../plugins/fancyholograms/CHANGELOG-SNAPSHOT.md",
"version_path": "../../../../plugins/fancyholograms/VERSION",
"supported_versions": [
"1.20.5",
"1.20.6",
@@ -18,12 +19,13 @@
"1.21.8",
"1.21.9",
"1.21.10",
"1.21.11-pre4"
"1.21.11-rc2"
],
"channel": "ALPHA",
"channel": "alpha",
"loaders": [
"paper",
"folia"
],
"featured": false
}
}

View File

@@ -1 +1 @@
2.8.1.315
2.8.1.317

View File

@@ -95,7 +95,7 @@ paper {
tasks {
runServer {
minecraftVersion("1.21.11-pre3")
minecraftVersion("1.21.11-rc2")
downloadPlugins {
// hangar("ViaVersion", "5.4.0")

View File

@@ -6,8 +6,7 @@ plugins {
paperweight.reobfArtifactConfiguration = io.papermc.paperweight.userdev.ReobfArtifactConfiguration.MOJANG_PRODUCTION
dependencies {
paperweight.paperDevBundle("1.21.11-pre4-R0.1-SNAPSHOT")
// compileOnly("com.fancyinnovations:fancymc:1.21.6-pre2")
paperweight.paperDevBundle("1.21.11-rc2-R0.1-SNAPSHOT")
compileOnly(project(":plugins:fancynpcs:fn-api"))
compileOnly(project(":libraries:common"))

View File

@@ -7,7 +7,6 @@ paperweight.reobfArtifactConfiguration = io.papermc.paperweight.userdev.ReobfArt
dependencies {
paperweight.paperDevBundle("1.21.7-R0.1-SNAPSHOT")
// compileOnly("com.fancyinnovations:fancymc:1.21.6-pre2")
compileOnly(project(":plugins:fancynpcs:fn-api"))
compileOnly(project(":libraries:common"))

View File

@@ -7,7 +7,6 @@ paperweight.reobfArtifactConfiguration = io.papermc.paperweight.userdev.ReobfArt
dependencies {
paperweight.paperDevBundle("1.21.9-R0.1-SNAPSHOT")
// compileOnly("com.fancyinnovations:fancymc:1.21.6-pre2")
compileOnly(project(":plugins:fancynpcs:fn-api"))
compileOnly(project(":libraries:common"))

View File

@@ -1,9 +1,10 @@
{
"project_name": "FancyNpcs",
"plugin_jar_path": "/plugins/fancynpcs/build/libs/FancyNpcs-%VERSION%.jar",
"changelog_path": "/plugins/fancynpcs/CHANGELOG.md",
"version_path": "/plugins/fancynpcs/VERSION",
"modrinth": {
"project_id": "EeyAn23L",
"plugin_jar_path": "../../../../plugins/fancynpcs/build/libs/FancyNpcs-%VERSION%.jar",
"changelog_path": "../../../../plugins/fancynpcs/CHANGELOG.md",
"version_path": "../../../../plugins/fancynpcs/VERSION",
"supported_versions": [
"1.20",
"1.20.1",
@@ -25,10 +26,11 @@
"1.21.10",
"1.21.11"
],
"channel": "RELEASE",
"channel": "release",
"loaders": [
"paper",
"folia"
],
"featured": true
}
}

View File

@@ -1,9 +1,10 @@
{
"project_name": "FancyNpcs",
"plugin_jar_path": "/plugins/fancynpcs/build/libs/FancyNpcs-%VERSION%.jar",
"changelog_path": "/plugins/fancynpcs/CHANGELOG-SNAPSHOT.md",
"version_path": "/plugins/fancynpcs/VERSION",
"modrinth": {
"project_id": "EeyAn23L",
"plugin_jar_path": "../../../../plugins/fancynpcs/build/libs/FancyNpcs-%VERSION%.jar",
"changelog_path": "../../../../plugins/fancynpcs/CHANGELOG-SNAPSHOT.md",
"version_path": "../../../../plugins/fancynpcs/VERSION",
"supported_versions": [
"1.20",
"1.20.1",
@@ -23,12 +24,13 @@
"1.21.8",
"1.21.9",
"1.21.10",
"1.21.11-pre4"
"1.21.11-rc2"
],
"channel": "BETA",
"channel": "beta",
"loaders": [
"paper",
"folia"
],
"featured": false
}
}

View File

@@ -31,7 +31,7 @@ public class AttributeManagerImpl implements AttributeManager {
private void init() {
String mcVersion = Bukkit.getMinecraftVersion();
switch (mcVersion) {
case "1.21.11 Pre-Release 4" -> attributes = Attributes_1_21_11.getAllAttributes();
case "1.21.11 Release Candidate 2" -> attributes = Attributes_1_21_11.getAllAttributes();
case "1.21.9", "1.21.10" -> attributes = Attributes_1_21_9.getAllAttributes();
case "1.21.6", "1.21.7", "1.21.8" -> attributes = Attributes_1_21_6.getAllAttributes();
case "1.21.5" -> attributes = Attributes_1_21_5.getAllAttributes();

View File

@@ -164,7 +164,7 @@ public class FancyNpcs extends JavaPlugin implements FancyNpcsPlugin {
String mcVersion = Bukkit.getMinecraftVersion();
switch (mcVersion) {
case "1.21.11 Pre-Release 4" -> npcAdapter = Npc_1_21_11::new;
case "1.21.11 Release Candidate 2" -> npcAdapter = Npc_1_21_11::new;
case "1.21.9", "1.21.10" -> npcAdapter = Npc_1_21_9::new;
case "1.21.6", "1.21.7", "1.21.8" -> npcAdapter = Npc_1_21_6::new;
case "1.21.5" -> npcAdapter = Npc_1_21_5::new;
@@ -277,7 +277,7 @@ public class FancyNpcs extends JavaPlugin implements FancyNpcsPlugin {
pluginManager.registerEvents(new PlayerTeleportListener(), instance);
pluginManager.registerEvents(new PlayerChangedWorldListener(), instance);
pluginManager.registerEvents(skinManager, instance);
if (Set.of("1.21.4", "1.21.5", "1.21.6", "1.21.7", "1.21.8", "1.21.9", "1.21.10", "1.21.11 Pre-Release 4").contains(Bukkit.getMinecraftVersion())) {
if (Set.of("1.21.4", "1.21.5", "1.21.6", "1.21.7", "1.21.8", "1.21.9", "1.21.10", "1.21.11 Release Candidate 2").contains(Bukkit.getMinecraftVersion())) {
getServer().getPluginManager().registerEvents(new PlayerLoadedListener(), this);
}

View File

@@ -199,7 +199,7 @@ public final class CloudCommandManager {
annotationParser.parse(FancyNpcsDebugCMD.INSTANCE);
}
if (Set.of("1.20.5", "1.20.6", "1.21", "1.21.1", "1.21.2", "1.21.3", "1.21.4", "1.21.5", "1.21.6", "1.21.7", "1.21.8", "1.21.9", "1.21.10", "1.21.11 Pre-Release 4").contains(Bukkit.getMinecraftVersion())) {
if (Set.of("1.20.5", "1.20.6", "1.21", "1.21.1", "1.21.2", "1.21.3", "1.21.4", "1.21.5", "1.21.6", "1.21.7", "1.21.8", "1.21.9", "1.21.10", "1.21.11 Release Candidate 2").contains(Bukkit.getMinecraftVersion())) {
annotationParser.parse(ScaleCMD.INSTANCE);
}

View File

@@ -48,7 +48,6 @@ include(":libraries:packets:implementations:1_21_9")
include(":libraries:packets:implementations:1_21_11")
include(":tools:deployment")
include(":tools:quick-e2e")
pluginManagement {

View File

@@ -1,61 +0,0 @@
plugins {
id("java")
id("maven-publish")
id("com.gradleup.shadow")
}
group = "de.oliver"
description = "Tool to deploy Minecraft plugins"
java {
toolchain.languageVersion.set(JavaLanguageVersion.of(21))
}
repositories {
mavenCentral()
maven("https://repo.papermc.io/repository/maven-public/")
maven("https://repo.fancyinnovations.com/releases")
}
dependencies {
implementation("dev.masecla:Modrinth4J:2.2.0")
implementation("com.google.code.gson:gson:2.13.1")
implementation("com.squareup.okhttp3:okhttp:4.12.0")
implementation("org.jetbrains:annotations:26.0.2")
implementation("de.oliver.FancyAnalytics:java-sdk:0.0.5")
implementation("de.oliver.FancyAnalytics:logger:0.0.8")
}
tasks {
jar {
manifest {
attributes["Main-Class"] = "de.oliver.deployment.Main"
}
}
shadowJar {
archiveClassifier.set("")
}
compileJava {
options.encoding = Charsets.UTF_8.name() // We want UTF-8 for everything
// Set the release flag. This configures what version bytecode the compiler will emit, as well as what JDK APIs are usable.
// See https://openjdk.java.net/jeps/247 for more information.
options.release.set(21)
}
java {
withSourcesJar()
withJavadocJar()
}
javadoc {
options.encoding = Charsets.UTF_8.name() // We want UTF-8 for everything
}
processResources {
filteringCharset = Charsets.UTF_8.name() // We want UTF-8 for everything
}
}

View File

@@ -1,28 +0,0 @@
{
"project_name": "FancyHolograms",
"project_id": "fancyholograms",
"plugin_jar_path": "../../../plugins/fancyholograms/build/libs/FancyHolograms-*.jar",
"changelog_path": "../../../plugins/fancyholograms/CHANGELOG.md",
"version": "3.0.0",
"supported_versions":[
"1.19.4",
"1.20",
"1.20.1",
"1.20.2",
"1.20.3",
"1.20.4",
"1.20.5",
"1.20.6",
"1.21",
"1.21.1",
"1.21.2",
"1.21.3",
"1.21.4"
],
"channel": "release",
"loaders": [
"paper",
"folia"
],
"featured": true
}

View File

@@ -1,29 +0,0 @@
package de.oliver.deployment;
import com.google.gson.annotations.SerializedName;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
public record Configuration(
@SerializedName("project_name") String projectName,
@SerializedName("project_id") String projectID,
@SerializedName("plugin_jar_path") String pluginJarPath,
@SerializedName("changelog_path") String changeLogPath,
@SerializedName("version_path") String versionPath,
@SerializedName("supported_versions") String[] supportedVersions,
String channel,
@SerializedName("loaders") String[] loaders,
boolean featured
) {
public String readVersion() {
try {
return Files.readString(Path.of(versionPath));
} catch (IOException e) {
return "unknown";
}
}
}

View File

@@ -1,81 +0,0 @@
package de.oliver.deployment;
import com.google.gson.Gson;
import de.oliver.deployment.git.GitService;
import de.oliver.deployment.modrinth.ModrinthService;
import de.oliver.deployment.notification.DiscordWebhook;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.util.List;
public class Main {
private static final Gson GSON = new Gson();
public static void main(String[] args) throws IOException {
if (args.length < 2) {
System.err.println("Usage: java -jar deployment.jar <platform> <config_file path> [send_notification]");
System.exit(1);
}
String platform = args[0];
String configFilePath = args[1];
String configData = Files.readString(Path.of(configFilePath));
Configuration configuration = GSON.fromJson(configData, Configuration.class);
boolean sendNotification = args.length > 2 && Boolean.parseBoolean(args[2]);
if (platform.equalsIgnoreCase("modrinth")) {
deployToModrinth(configuration);
}
if (sendNotification) {
sendDiscordNotification(configuration);
System.out.println("Deployment completed and notification sent.");
} else {
System.out.println("Deployment completed without sending notification.");
}
}
private static void deployToModrinth(Configuration configuration) {
String modrinthApiKey = System.getenv("MODRINTH_API_KEY");
ModrinthService modrinthService = new ModrinthService(modrinthApiKey);
try {
modrinthService.deployPlugin(configuration);
} catch (IOException e) {
e.printStackTrace();
}
}
private static void sendDiscordNotification(Configuration configuration) {
String discordWebhookUrl = System.getenv("DISCORD_WEBHOOK_URL");
if (discordWebhookUrl != null) {
DiscordWebhook.Data data = new DiscordWebhook.Data("Deployment completed", List.of(
new DiscordWebhook.Data.Embed(
"New version of " + configuration.projectName(),
"""
**Version:** %s
**Channel:** %s
**Commit:** [%s](https://github.com/FancyMcPlugins/fancyplugins/commit/%s)
**Download:** %s
""".formatted(
configuration.readVersion(),
configuration.channel(),
GitService.getCommitHash().substring(0, 7),
GitService.getCommitHash(),
"https://modrinth.com/plugin/" + configuration.projectName() + "/version/" + configuration.readVersion()),
0x00FF00
)
));
DiscordWebhook discordWebhook = new DiscordWebhook();
discordWebhook.sendWebhook(discordWebhookUrl, data);
} else {
System.out.println("Discord webhook URL not set. Skipping notification.");
}
}
}

View File

@@ -1,37 +0,0 @@
package de.oliver.deployment.git;
import java.io.IOException;
public class GitService {
public static String getCommitHash() {
ProcessBuilder processBuilder = new ProcessBuilder("git", "rev-parse", "HEAD");
processBuilder.redirectErrorStream(true);
processBuilder.directory(new java.io.File("."));
try {
Process process = processBuilder.start();
return new String(process.getInputStream().readAllBytes()).trim();
} catch (IOException e) {
e.printStackTrace();
}
return "unknown";
}
public static String getCommitMessage() {
ProcessBuilder processBuilder = new ProcessBuilder("git", "log", "-1", "--pretty=%B");
processBuilder.redirectErrorStream(true);
processBuilder.directory(new java.io.File("."));
try {
Process process = processBuilder.start();
return new String(process.getInputStream().readAllBytes()).trim();
} catch (IOException e) {
e.printStackTrace();
}
return "unknown";
}
}

View File

@@ -1,68 +0,0 @@
package de.oliver.deployment.modrinth;
import de.oliver.deployment.Configuration;
import de.oliver.deployment.git.GitService;
import masecla.modrinth4j.client.agent.UserAgent;
import masecla.modrinth4j.endpoints.version.CreateVersion;
import masecla.modrinth4j.main.ModrinthAPI;
import masecla.modrinth4j.model.version.ProjectVersion;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.nio.file.Files;
import java.nio.file.Path;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.concurrent.CompletableFuture;
public class ModrinthService {
private final ModrinthAPI api;
public ModrinthService(String apiKey) {
this.api = ModrinthAPI.rateLimited(
UserAgent.builder()
.authorUsername("Oliver")
.contact("oliver@fancyinnovations.com")
.build(),
apiKey
);
}
public void deployPlugin(Configuration config) throws IOException {
String changelog = Files.readString(Path.of(config.changeLogPath()));
changelog = changelog.replaceAll("%COMMIT_HASH%", GitService.getCommitHash());
changelog = changelog.replaceAll("%COMMIT_MESSAGE%", GitService.getCommitMessage());
String version = config.readVersion();
String pluginJarPath = config.pluginJarPath().replace("%VERSION%", version);
File pluginFile = new File(pluginJarPath);
InputStream pluginJarFileStream = Files.newInputStream(pluginFile.toPath());
CreateVersion.CreateVersionRequest request = new CreateVersion.CreateVersionRequest(
version,
version,
changelog,
new ArrayList<>(),
Arrays.asList(config.supportedVersions()),
ProjectVersion.VersionType.valueOf(config.channel()),
Arrays.asList(config.loaders()),
config.featured(),
config.projectID(),
pluginJarPath,
List.of(pluginFile.getName()),
List.of(pluginJarFileStream)
);
System.out.println("Creating version: " + request);
CompletableFuture<ProjectVersion> resp = api.versions().createProjectVersion(request);
ProjectVersion createdVersion = resp.join();
System.out.println("Version created: " + createdVersion);
}
}

View File

@@ -1,35 +0,0 @@
package de.oliver.deployment.notification;
import de.oliver.fancyanalytics.sdk.utils.HttpRequest;
import java.io.IOException;
import java.net.URISyntaxException;
import java.net.http.HttpResponse;
import java.util.List;
public class DiscordWebhook {
public void sendWebhook(String webhookUrl, Data data) {
HttpRequest request = new HttpRequest(webhookUrl)
.withMethod("POST")
.withHeader("Content-Type", "application/json")
.withBody(data);
try {
HttpResponse<String> resp = request.send();
if (resp.statusCode() != 204) {
System.out.println("Failed to send message with discord webhook: " + resp.body());
}
} catch (URISyntaxException | IOException | InterruptedException e) {
System.out.println("Failed to send webhook");
e.printStackTrace();
}
}
public record Data(String content, List<Embed> embeds) {
public record Embed(String title, String description, int color) {
}
}
}