e40fc6ef84
Introduces a new workflow that runs when a new build has been published on GitHub Releases. It converts the release notes to Hangar Markdown and sends it to Hangar along with the jar-file. Note: The workflow currently relies on the version string being appended to the filename of the jar-file. Without it, the file reference in the `curl` request that uploads the build would need to change. The workflow references a new secret, `HANGAR_TOKEN`, which is just an API key for the Hangar API. The token was created in the Hangar profile settings (API Keys), and its only permission is `create_version`. In order to properly upload a new build to Hangar, we need to construct a somewhat complex JSON object. This is because the Hangar API allows for publishing releases on multiple platforms and for multiple versions, which makes the simple use case for MobArena's single file upload look a bit overcomplicated. Unlike the CurseForge API, the Hangar API supports "normal" platform version strings, so we don't need to map anything. It also supports patch version wildcards, so we can get away with `1.18.x`, `1.19.x`, etc. for each version supported. The API only uses the API key for authentication, which means we need to grab a JWT and use that for the actual upload request. Note that the `pluginDependencies` property is currently required, but it can be left empty. The workflow can be invoked directly via the `workflow_dispatch` event, which might come in handy if something in the pipeline breaks. The Hangar base URL and project slug are both hardcoded, and things would probably be cleaner if they were made into variables, but we don't need this workflow anywhere else, so it's fine for now. |
||
---|---|---|
.github | ||
gradle/wrapper | ||
scripts | ||
src | ||
.gitignore | ||
build.gradle.kts | ||
changelog.md | ||
gradlew | ||
gradlew.bat | ||
LICENSE | ||
README.md | ||
settings.gradle.kts |
MobArena
MobArena is an arena-style minigame for Spigot-based Minecraft servers
Getting Started
If you don't want to compile the plugin yourself, grab a release artifact from one of these two sites:
The wiki here on Github should have all the information you need to get started using the plugin.
Getting Help
If you run into problems or need help with something, feel free to hop on the MobArena Discord server to have a chat: Instant Invite
Remember, though, that this communication channel is idle chat, which means you likely won't get a response immediately. It could take anything from a couple of seconds to a day, but your message will be seen.
Contributing
Found a bug, got a suggestion, or want to dig into the code base? There are many ways to contribute to the project!
Get started here: Contributing