Skip to content

Expand upon our API to improve ease-of-use for third-party addons.#2328

Draft
creatorfromhell wants to merge 24 commits into
QuickShop-Community:hikarifrom
creatorfromhell:feat/api-additions
Draft

Expand upon our API to improve ease-of-use for third-party addons.#2328
creatorfromhell wants to merge 24 commits into
QuickShop-Community:hikarifrom
creatorfromhell:feat/api-additions

Conversation

@creatorfromhell
Copy link
Copy Markdown
Contributor

Type of Change

Please select the type of change this PR represents:

  • feat – New feature
  • fix – Bug fix
  • hotfix – Urgent production fix
  • refactor – Code improvement (no behavior change)
  • docs – Documentation/config comment changes only
  • chore – Build/tooling/internal maintenance
  • breaking – Breaking change (requires migration)

If this is a breaking change, clearly describe the migration steps below.


General Contribution Checklist

  • I have read and understood the CONTRIBUTING.md.
  • My branch name follows the naming conventions in CONTRIBUTING.md.
  • I have signed the Contributor License Agreement (CLA), if required.
  • My changes are based on the latest hikari branch.
  • I have tested my changes locally.
  • Existing functionality has not been unintentionally broken.

Description of Changes

Clearly explain:

  • What was changed?
  • Why was it changed?
  • What issue does it solve?
  • Is this user-facing, developer-facing, or internal?

Example:

This PR fixes incorrect tax calculation when show: false caused balance overflow checks to misbehave.


Configuration Changes (if applicable)

If this PR modifies config.yml or another configuration file or adds new configuration options:

  • All new config entries follow CONFIG-STYLE.md.
  • Comments follow the required structure:
    • Plain-English purpose
    • Behavior details (if needed)
    • Advanced notes (if applicable)
    • Warnings (if applicable)
  • Section placement follows the defined ordering rules.
  • Defaults favor safety and stability.
  • Risky settings include WARNING: comments and mitigation guidance.
  • Deprecated keys (if any) are clearly marked and documented.
  • No existing config defaults were changed unintentionally.

If config changes were made, explain them:

Example:
Added shop.async-price-validation
- Default: false
- Purpose: Improves responsiveness on large servers
- Risk: May increase async task load

Migration Notes (Required for breaking changes)

If this PR includes a breaking change:

  • What changed?
  • Who is affected?
  • Required admin action?
  • Is there automatic migration?

Example:

- shop.display-type=1 is no longer supported.
- Servers must switch to display-type=2.
- No automatic migration is performed.

Related Issues / References

  • Fixes: #___
  • Relates to: #___
  • Documentation PR: #___

Testing Notes

How was this tested?

  • Local test server
  • Networked proxy setup
  • With database (MySQL)
  • With H2
  • Other integrations (describe below)

Additional notes:


Changelog Entry

If this change is user-facing, provide a changelog entry, which also includes your name/online alias:

### Fix
- Corrected progressive tax bracket calculation edge case.(creatorfromhell)

Maintainer Review Checklist (Internal)

  • Code structure meets project standards
  • No unintended side effects
  • Config additions follow style guide
  • Documentation updated (if needed)
  • Changelog entry added
  • Breaking change properly labeled

Thank you for contributing to QuickShop-Hikari, it means a lot to us!

…on API methods to PriceLimiter to expose methods to get RuleSets applicable to an ItemStack, QUser/Sender and/or currency.
…ce, generic ShopPrice and ShopService interfaces, and restructure ShopMeta. Introduce ShopActionResult, ShopActionFailureReason, and tagging enhancements. Migrate and consolidate price and limiter logic.
Added a new ShopRequest interface to standardize shop request handling. ShopCreateRequest, ShopUpdateRequest, and ShopDeleteRequest classes now implement this interface. Adjusted package structures for better organization and updated related imports.
…that is a version of the Shop object. These are the final steps towards completing the API portion of the updates before wiring it together in the bukkit project.
…hopSignStorage to API project as this makes the most sense.
…range methods between meta and interaction to make more sense and update builders.
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