Add structured reward configuration reads with Bukkit compatibility - #78
Conversation
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 380720a0cb
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 1c044247d1
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 6a967ba9ca
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Summary
First of the three requested platform-preparation PRs. Add the reward-facing configuration boundary without changing existing interfaces or parsers.
core.config.StructuredConfigViewwith explicit value kinds, literal-key access and detached plain-data exports.Compatibility
All eight files are additions. No existing Java implementation, ConfigView method, annotation, POM, dependency, workflow, persistence format or database operation is changed. One project, core/Bukkit packages, and the existing shared classifier are retained. Core classes are covered by the classifier's
core/**allow-list and packaged headless-linkage test.A raw Bukkit map remains distinguishable from a native configuration section. Snapshots export enumerated keys; they do not silently materialize otherwise unenumerated default keys. Existing Bukkit getter/default behavior and the legacy APIs remain untouched.
Verified build
Existing Java CI with Maven — run 198 passed on Java 21. Inspected job
101918502031and its actual Maven log:mvn -B -f SimpleAPI/pom.xml package— BUILD SUCCESS.64438107b7fc7409700eb45b00ad881e15600c84for head380720a0cb1bbde25713d6bca83f578b58f41ed7and base2764b7f6ad11208d895a14da73c5d00943dafe54.These are GitHub Actions results, not a local full Maven run. The editing container has Java 21 but no Maven/dependency network access. No current downstream VotingPlugin build or live database/server test was run. Source inspection is same-context; no independent reviewer execution is claimed.
Other requested PRs and remaining work
Those initial AdvancedCore slices do not require this new API yet. AdvancedCore can adopt it during reward-definition extraction. This PR does not itself port reward execution, user storage, or SQLite.
No merge, release, deployment, repository setting change or new workflow is included.
AI disclosure: This implementation and pull-request description were prepared with assistance from ChatGPT.