Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
88 changes: 88 additions & 0 deletions .github/workflows/modrinth-publish.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
name: Publish to Modrinth

# Triggers when you publish a GitHub Release
on:
release:
types: [published]
workflow_dispatch:
inputs:
tag:
description: 'Release tag to publish (e.g. 1.5.0)'
required: true
type: string

jobs:
publish:
runs-on: ubuntu-latest
permissions:
contents: read

steps:
# 1. Check out the repository at the release tag
- name: Checkout repository
uses: actions/checkout@v4

# 2. Set up Java 21
- name: Set up Java 21
uses: actions/setup-java@v4
with:
java-version: '21'
distribution: 'temurin'

# 3. Cache Maven dependencies to speed up builds
- name: Cache Maven packages
uses: actions/cache@v4
with:
path: ~/.m2
key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
restore-keys: ${{ runner.os }}-m2

# 4. Build the JAR
# GIT_BRANCH=origin/master activates the Maven 'master' profile which
# produces a clean version number (e.g. 1.5.0) without -SNAPSHOT/-LOCAL.
- name: Build with Maven
run: mvn -B clean package -DskipTests
env:
GIT_BRANCH: origin/master

# 5. Upload the JAR to Modrinth
#
# Prerequisites — add these secrets in your GitHub repo settings
# (Settings → Secrets and variables → Actions):
#
# MODRINTH_TOKEN — personal access token from https://modrinth.com/settings/pats
# (scope: "Create versions")
# MODRINTH_PROJECT_ID — your Modrinth project ID for Chat, visible on the
# project page under the three-dot menu ("Copy ID")
#
- name: Publish to Modrinth
uses: cloudnode-pro/modrinth-publish@0be4916ad5f081d936eb5615aa35ce3f0949979c # v2
with:
token: ${{ secrets.MODRINTH_TOKEN }}
project: ${{ secrets.MODRINTH_PROJECT_ID }}

# Use the release tag, or the manually supplied tag when triggered via workflow_dispatch
version: ${{ github.event.release.tag_name || inputs.tag }}

# Use the GitHub release body as the changelog (empty when run manually)
changelog: ${{ github.event.release.body }}

# Chat is a BentoBox addon running on Paper-based servers
loaders: |-
paper
purpur

# Minecraft versions supported (BentoBox API 3.14.0 targets Paper 1.21.11+)
game-versions: |-
1.21.5
1.21.6
1.21.7
1.21.8
1.21.9
1.21.10
1.21.11
26.1
26.1.1

# Path to the built JAR
files: target/Chat-${{ github.event.release.tag_name || inputs.tag }}.jar
4 changes: 2 additions & 2 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@
<!-- Do not change unless you want different name for local builds. -->
<build.number>-LOCAL</build.number>
<!-- This allows to change between versions. -->
<build.version>1.4.0</build.version>
<build.version>1.4.1</build.version>
</properties>

<!-- Profiles will allow to automatically change build version. -->
Expand Down Expand Up @@ -366,4 +366,4 @@
</plugins>
</build>

</project>
</project>
2 changes: 1 addition & 1 deletion src/main/resources/locales/cs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,4 +25,4 @@ chat:
description: "Přepnout šmírování chatů na všech ostrovech"
spy-on: <green>Šmírování chatů na ostrovech zapnuto</green>
spy-off: <red>Šmírování chatů na ostrovech vypnuto</red>
syntax: <red>[island-chat-spy]</red> <dark_red>[name]</dark_red>: [message]
syntax: "<red>[island-chat-spy]</red> <dark_red>[name]</dark_red>: [message]"
Loading