Skip to content

Implement zander-addon module with Policy API and Book GUI#31

Open
benrobson wants to merge 5 commits intostagingfrom
feat/zander-addon-15256035709024899980
Open

Implement zander-addon module with Policy API and Book GUI#31
benrobson wants to merge 5 commits intostagingfrom
feat/zander-addon-15256035709024899980

Conversation

@benrobson
Copy link
Member

The zander-addon module provides a comprehensive system for managing and displaying server policies. It includes an embedded HTTP server that exposes policy URLs via a JSON API, and a Minecraft plugin that consumes this API. Players can access policies through the /policy command or an interactive book item provided in their hotbar. Policy content is fetched asynchronously and displayed in a virtual book with basic pagination.


PR created automatically by Jules for task 15256035709024899980 started by @benrobson

This new module serves as a Paper plugin and an embedded API server.
- Implements GET /api/config/policy endpoint for policy URLs.
- Adds /policy command to view ToS, Rules, Privacy, and Refund policies in-game.
- Automatically provides players with a Policy Book in their hotbar.
- Includes an interactive GUI for selecting policies.
- Uses Adventure API for rich text and Book GUI interactions.

Co-authored-by: benrobson <15405528+benrobson@users.noreply.github.com>
@google-labs-jules
Copy link

👋 Jules, reporting for duty! I'm here to lend a hand with this pull request.

When you start a review, I'll add a 👀 emoji to each comment to let you know I've read it. I'll focus on feedback directed at me and will do my best to stay out of conversations between you and other bots or reviewers to keep the noise down.

I'll push a commit with your requested changes shortly after. Please note there might be a delay between these steps, but rest assured I'm on the job!

For more direct control, you can switch me to Reactive Mode. When this mode is on, I will only act on comments where you specifically mention me with @jules. You can find this option in the Pull Request section of your global Jules UI settings. You can always switch back!

New to Jules? Learn more at jules.google/docs.


For security, I will only act on instructions from the user who triggered this task.

@benrobson benrobson requested a review from JaedanC as a code owner February 28, 2026 05:16
@coderabbitai
Copy link

coderabbitai bot commented Feb 28, 2026

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch feat/zander-addon-15256035709024899980

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

google-labs-jules bot and others added 4 commits February 28, 2026 08:14
This new module serves as a Paper plugin and an embedded API server.
- Implements GET /api/config/policy endpoint for policy URLs.
- Adds /policy command to view ToS, Rules, Privacy, and Refund policies in-game.
- Automatically provides players with a Policy Book in their hotbar (9th slot).
- Includes an interactive GUI for selecting policies.
- Uses Adventure API for rich text and Book GUI interactions.
- Ensures thread safety by performing network calls asynchronously and UI operations on the main thread.
- Uses PersistentDataContainer to uniquely identify the policy book.

Co-authored-by: benrobson <15405528+benrobson@users.noreply.github.com>
This new module serves as a Paper plugin and includes an embedded HTTP server.
- Implements GET /api/config/policy endpoint serving configurable policy URLs.
- Adds /policy <tos|rules|privacy|refund> command for viewing remote policy content in a native Minecraft Book GUI.
- Implements a togglable hotbar policy book (9th slot) that opens a selection GUI.
- Uses Adventure API for rich text components and Book UI.
- Performs all network I/O asynchronously to prevent server lag.
- Relocates shaded dependencies (Requests, GSON, JsonPath) to avoid conflicts.
- Upgrades maven-shade-plugin to 3.5.0 for Java 21 compatibility.

Co-authored-by: benrobson <15405528+benrobson@users.noreply.github.com>
- Created zander-addon Maven module.
- Implemented embedded HTTP server for /api/config/policy endpoint.
- Added /policy command to fetch and display policies in a Book GUI.
- Added togglable hotbar policy book with selection GUI.
- Implemented async data fetching and thread-safe UI updates.
- Configured shading and relocation for dependencies.
- Set version to 0.1.0.

Co-authored-by: benrobson <15405528+benrobson@users.noreply.github.com>
- Created zander-addon Maven module.
- Implemented embedded HTTP server for /api/config/policy endpoint.
- Added /policy command to fetch and display policies in a Book GUI.
- Implemented an advanced Markdown-to-Adventure parser for styled book content.
- Added togglable hotbar policy book with selection GUI.
- Implemented async data fetching and thread-safe UI updates.
- Configured shading and relocation for dependencies.
- Set version to 0.1.0.

Co-authored-by: benrobson <15405528+benrobson@users.noreply.github.com>
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