1.0.4
Compatibility
Changes
v1.0.4
This pull request consolidates and improves the CI/CD workflows for releasing and publishing the project, updates the plugin version, and refactors configuration handling in the Java codebase. The most significant changes are the replacement of separate workflow files with a unified, more robust workflow, and the refactor to use a new configuration class.
CI/CD Workflow Consolidation and Improvements:
- Replaces
.github/workflows/alpha.ymland.github/workflows/main.ymlwith a single.github/workflows/release-and-publish.ymlworkflow that handles bothmainandalphabranches, streamlining the release and publishing process for all channels. [1] [2] [3] - Adds automated version tagging and GitHub Release creation based on the branch and extracted plugin version, and uploads built JAR artifacts.
- Ensures consistent build, validation, and publishing steps across GitHub Packages, Hangar, and Modrinth, with clear separation of jobs and dynamic channel assignment.
Codebase and Version Updates:
- Updates the plugin version in
gradle.propertiesfrom1.0.3to1.0.4.
Configuration Refactor:
- Refactors
Configs.javato use the newYamlConfigclass instead ofConfig, improving configuration management and consistency throughout the codebase.
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:f7woQyDJ:9lPP9MOQ"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:f7woQyDJ:9lPP9MOQ"
}

