Release diff: master → previous_release - #37
Conversation
Switch from Paper bootstrap to BukkitHopper.downloadAndLoad() which downloads and loads PacketEvents at runtime without requiring restart. - Replace AacBootstrap with AacHopper using BukkitHopper API - Remove paper-plugin.yml (no longer needed) - Use hopper-bukkit instead of hopper-paper - Simplify command registration (plugin.yml only) - Update documentation to reflect no-restart flow - Reduced logs (uses LogLevel.QUIET) - Bump version to 0.4.1
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
| getLogger().severe("[AsyncAnticheat] Failed to load PacketEvents: " + t.getMessage()); | ||
| getLogger().severe("[AsyncAnticheat] PacketEvents is required. Install it from https://modrinth.com/plugin/packetevents"); | ||
| getLogger().severe("Failed to load PacketEvents: " + t.getMessage()); | ||
| getLogger().severe("PacketEvents is required. Install it from https://modrinth.com/plugin/packetevents"); |
There was a problem hiding this comment.
Ignored download result causes misleading error message
The return value of AacHopper.download(this) is ignored. When this method returns false, it means Hopper downloaded PacketEvents but couldn't load it at runtime (restart required). The code then attempts to use PacketEvents, fails, and displays an error telling users to "Install it from https://modrinth.com/plugin/packetevents" - which is misleading since Hopper already downloaded it and users just need to restart the server.
| enabled = false; | ||
| logger.info("Auto-download of dependencies is disabled"); | ||
| return; | ||
| } |
There was a problem hiding this comment.
Static enabled flag never reset to true
The static enabled field is set to false when the system property asyncanticheat.skipDependencyDownload is set, but there's no code path to reset it to true. If an operator sets the property, then removes it and reloads the plugin without a full server restart, enabled remains false and download() will skip dependency downloading, potentially leaving PacketEvents unavailable.
Changed Modrinth to WARN_SKIP (allows fallback to GitHub on failure) and GitHub to FAIL (last resort - PacketEvents is required).
Automated PR. The 'previous_release' branch is force-updated on every push to master to point at the commit before the push, so this PR always represents the current release diff.
Note
Introduces runtime dependency management for PacketEvents with hot-loading via Hopper; removes Paper plugin loader and updates docs/version accordingly.
AacHopperto register, download, and loadPacketEventsat runtime; invoked in plugin constructor andonLoad()AacBootstrapandpaper-plugin.yml; switch Gradle dep fromhopper-papertohopper-bukkitplugin.ymlonly) and clean up logging; remove CommandMap fallback/unregister codepluginVersionto0.4.1README.md,web/content/installation,.claude/CLAUDE.md): clarify PacketEvents is downloaded and loaded automatically with no server restartWritten by Cursor Bugbot for commit b8f7db4. This will update automatically on new commits. Configure here.