Skip to content

Release diff: master → previous_release - #37

Closed
Th0rgal wants to merge 2 commits into
previous_releasefrom
master
Closed

Release diff: master → previous_release#37
Th0rgal wants to merge 2 commits into
previous_releasefrom
master

Conversation

@Th0rgal

@Th0rgal Th0rgal commented Dec 29, 2025

Copy link
Copy Markdown
Member

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.

  • Plugin: Add AacHopper to register, download, and load PacketEvents at runtime; invoked in plugin constructor and onLoad()
  • Remove AacBootstrap and paper-plugin.yml; switch Gradle dep from hopper-paper to hopper-bukkit
  • Simplify command registration (use plugin.yml only) and clean up logging; remove CommandMap fallback/unregister code
  • Bump pluginVersion to 0.4.1
  • Docs (README.md, web/content/installation, .claude/CLAUDE.md): clarify PacketEvents is downloaded and loaded automatically with no server restart

Written by Cursor Bugbot for commit b8f7db4. This will update automatically on new commits. Configure here.

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
@vercel

vercel Bot commented Dec 29, 2025

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Review Updated (UTC)
asyncanticheat.com Ready Ready Preview, Comment Dec 29, 2025 9:26am

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");

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Fix in Cursor Fix in Web

enabled = false;
logger.info("Auto-download of dependencies is disabled");
return;
}

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Fix in Cursor Fix in Web

Changed Modrinth to WARN_SKIP (allows fallback to GitHub on failure)
and GitHub to FAIL (last resort - PacketEvents is required).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant