-
Notifications
You must be signed in to change notification settings - Fork 0
Conversation
Implement AutoUpdater
…ing checks for existing tags
… code quality analysis
…MiniMessage support
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
Merge updates from master into dev to unify version templating, messaging, auto-update logic, command handling, and CI workflows.
- Switched
plugin.ymlto use a${version}placeholder and addedmessages.ymlandconfig.ymlfor runtime configuration. - Enhanced
CoreAutoUpdaterto support prerelease (“-SNAPSHOT”) channels and asynchronous downloads. - Introduced
NextCoreCommandfor core plugin commands and integrated it inNextCorePlugin. - Updated GitHub Actions workflows to extract versions from the JAR, handle prereleases, and add Qodana code-quality checks.
Reviewed Changes
Copilot reviewed 12 out of 13 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| src/main/resources/plugin.yml | Use ${version} placeholder instead of hardcoded version |
| src/main/resources/messages.yml | Add general, no-permission, and reload messages |
| src/main/resources/config.yml | Add updater settings |
| src/main/java/gg/nextforge/updater/CoreAutoUpdater.java | Support dev releases and async download |
| src/main/java/gg/nextforge/text/TextManager.java | New Audience-based parse and placeholder replacement |
| src/main/java/gg/nextforge/command/builtin/NextCoreCommand.java | Implement /nextcore commands and help output |
| src/main/java/gg/nextforge/NextCorePlugin.java | Wire in config, messages, scheduler, and commands |
| .github/workflows/release.yml | Extract version dynamically, support prereleases |
| .github/workflows/qodana_code_quality.yml | Add Qodana CI job |
Comments suppressed due to low confidence (1)
.github/workflows/release.yml:11
- [nitpick] The
firstNameinput parameter is defined but never used in the workflow. Removing it will simplify the dispatch interface.
firstName:
|
|
||
| if (resolver != null) { | ||
| try { | ||
| String replacement = resolver.apply(null); |
Copilot
AI
Jul 9, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Passing null into the placeholder resolver ignores the provided Audience. You should pass the actual player instance (cast from Audience) instead of null.
| String replacement = resolver.apply(null); | |
| String replacement = resolver.apply(player instanceof Player ? (Player) player : null); |
| ConfigFile configFile; | ||
| ConfigFile messagesFile; | ||
| ScheduledTask updateCheckTask; |
Copilot
AI
Jul 9, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[nitpick] Fields configFile, messagesFile, and updateCheckTask are package-private. Consider marking them private to enforce encapsulation and prevent accidental external modification.
| ConfigFile configFile; | |
| ConfigFile messagesFile; | |
| ScheduledTask updateCheckTask; | |
| private ConfigFile configFile; | |
| private ConfigFile messagesFile; | |
| private ScheduledTask updateCheckTask; |
No description provided.