Skip to content

Java 17 support / Player Shop Browser#69

Open
ez-plugins wants to merge 22 commits into
mainfrom
ci/smoke-tests-version-matrix
Open

Java 17 support / Player Shop Browser#69
ez-plugins wants to merge 22 commits into
mainfrom
ci/smoke-tests-version-matrix

Conversation

@ez-plugins
Copy link
Copy Markdown
Owner

@ez-plugins ez-plugins commented May 22, 2026

Added

  • Player Shops documentation: a dedicated Player Shops guide covering the full setup flow (direct sign placement and /playershop GUI), commands, permissions, configuration reference, purchase flow, double-chest support, and tips.
  • Player Shops: browse GUI: added a /playershops command that opens a paginated, in-game inventory allowing players to browse all active player shops and purchase items without visiting each chest.
  • Player Shops: MySQL storage: added MysqlPlayerShopRepository and support for player-shops.storage.type: mysql (configurable host, port, database, username, password, table-prefix). The repository serialises item stacks as YAML and preserves deferred entries for worlds that are not loaded; the plugin falls back to the YAML backend if MySQL is unavailable at startup.
  • Repository factory & wiring: PlayerShopComponent now selects the configured storage backend (YAML or MySQL) at startup and registers the browse GUI and /playershops command when player shops are enabled.
  • API additions: PlayerShopManager exposes hasStock(PlayerShop) and formatPrice(double) (public) to support the browse GUI and other integrations.
  • Permissions & commands: added the playershops command and the ezshops.playershop.browse permission (default: true).

Changed

  • Build target baseline: Maven compiler settings now target Java 17 (source/target via java.version), replacing the previous Java 21 compile target in pom.xml.
  • Paper API baseline for Java 17 builds: default paper.version changed to 1.20.6-R0.1-SNAPSHOT to align with the Java 17 compatibility target.
  • EzFramework dependency alignment: pinned and updated persistence stack dependencies in pom.xml:
    • com.github.EzFramework:jaloquent -> 1.3.3
    • com.github.EzFramework:JavaQueryBuilder -> 1.2.1
    • com.github.EzFramework:Jaker -> 1.0.7

Fixed

  • Incorrect sign-format keys in main-settings.md — the Player Shops configuration section documented non-existent keys (header, owner-line, item-line, stock-line, price-line, {stock} placeholder). It now documents the real keys (available-header, out-of-stock-header, owner-format, unknown-owner-name, item-format, price-format, out-of-stock-line) with the correct placeholders ({owner}, {amount}, {item}, {price}).

- SchedulerAdapter: foliaHandle now uses Object + reflection so
  Folia-specific types (ScheduledTask, GlobalRegionScheduler) are
  never referenced as named types on non-Folia servers; all four
  Folia-branch var declarations changed to Object
- smoke-tests.yml: add smoke-server job with Folia 1.21.4 (PaperMC
  API download) and Purpur 1.21.4 (Purpur API download, Spigot-
  compatible proxy) real-server startup tests; package job now
  requires both smoke and smoke-server to pass before uploading
…SellMenu

Messages from ShopMessageConfiguration are already processed by
MessageUtil.translateColors() (which handles both MiniMessage tags
and legacy & codes). The extra translateAlternateColorCodes wrapper
was a no-op on already-translated §-coded strings but added
confusion. Use the message strings directly.
@ez-plugins ez-plugins changed the title ci: add Paper 1.21.4 / 1.21.11 smoke test matrix Java 17 support May 25, 2026
@ez-plugins ez-plugins changed the title Java 17 support Java 17 support / Player Shop Browser May 25, 2026
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.

2 participants