fe66b8aa8f
Built against paper-api 26.3.build.140-beta on Java 25, api-version 26.3, version 2.1.0 so the jar reports the number Modrinth shows. Release notes are in the 2.1.0 section of the Modrinth changelog. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
4.6 KiB
4.6 KiB
Changelog
All notable changes to CommunityMarket will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[2.1.0] - 2026-10-01
Requires Minecraft 26.3 and Java 25. On 26.2 use 2.0.0; on 1.21.x use the 1.x release.
Changed
- Built against Paper 26.3 on Java 25 and tested on Paper 26.3 build 140, which Paper still marks as beta: there was no stable 26.3 build when this was released.
api-versionis now26.3. - The plugin now reports version 2.1.0. The 2.0.0 jar reported
1.0.0. - Checked against 26.3: no new item holds other items, so the container checks from 2.0.0 cover the new content unchanged.
[2.0.0] - 2026-08-06
Requires Minecraft 26.2 and Java 25. This release does not run on 1.21.x; upgrade the server before installing it.
Fixed
- Listing more than one stack could hand the buyer nothing. The quantity selector let a player list everything they held, so five stacks of dirt became a single count of 320, and from 26.1 a stack larger than its own maximum is read as empty. The purchase, the refund on a failed listing, the return on cancel or expiry, and claim storage were each a place where the player received an empty slot. Items are split into legal stacks before they are given or taken now, and every leftover is delivered instead of only the first.
- The same count rendered as a blank slot in Browse Market, My Listings and the quantity selector. Icon counts are clamped, and against the item's real maximum: items that stack to 16 or to 1 were treated as stacking to 64.
- Blacklisted materials and blacklisted name or lore keywords could be listed or auctioned inside a shulker box, a bundle or a loaded sulfur cube bucket, because only the outer item was checked. Every rule now applies to the container and to everything inside it, three levels deep, and listing and auction creation both run the same check before anything is written, so no path can skip it. A container holding ordinary items is still tradeable.
Changed
- Built against Paper 26.2 on Java 25.
- Listings already stored with an oversized count keep it and are split when they are handed out, so no database migration is needed.
- Unchanged, and worth knowing before installing: CommunityMarket reads only Vault and EssentialsX economies. It has no MultiBank provider and disables itself when neither is present.
[1.0.0] - 2026-01-15
Added
Core Features
- Fixed-Price Market: Create and browse fixed-price listings
- Auction System: Full auction support with bidding, buyout, and anti-snipe protection
- Claim Storage: Safe item delivery for expired listings and won auctions
- Earnings System: Pending earnings with withdraw functionality
GUI System
- Fully GUI-based interface - no complex commands to learn
- Intuitive item selection from player inventory
- Quantity selection with step buttons for stackable items
- Price and duration settings with click-to-adjust controls
- Paginated browsing for listings and auctions
- Confirmation dialogs for purchases and bids
Economy Integration
- Vault support (primary): Works with any Vault-compatible economy plugin
- EssentialsX fallback: Direct integration when Vault is not available
- Thread-safe economy operations
- Detailed startup logging for economy detection
Administration
- Admin GUI for viewing all listings and auctions
- Remove any listing or cancel any auction
- Force-end auctions with proper refunds
- In-game configuration reload
Configuration
- SQLite database (default) with MySQL support
- Configurable taxes for market and auction sales
- Listing and auction limits per player
- Duration options for listings and auctions
- Item blacklist by material and keywords
- Sound effects customization
- Notification settings
Localization
- Full language file support
- Included languages: English (en_US), Portuguese (pt_PT)
- All messages and GUI text customizable
Technical
- Built for Paper 1.21+
- Requires Java 21+
- Uses HikariCP for database connection pooling
- Async database operations with sync economy calls for safety
- Atomic transaction handling to prevent duplication bugs
Future Releases
Planned Features
- Search/filter functionality in browse GUIs
- Category system for listings
- Statistics and leaderboards
- Public API for developer integration
- Additional language translations
For more information, see the README or visit our GitHub repository.