Repository navigation
Releases
DyMarket 1.0.0-BETA
DyMarket 1.0.0-BETA
The first public release of DyMarket: a multi-currency economy, a credits bridge for webstores, an auction house and DyClaim estate sale and rent in one light plugin for Bukkit, Spigot, Paper, Purpur and Folia, Minecraft 1.20.x through 26.x. This is a BETA: the economy data format may still change before 1.0.0, and the data file is backed up automatically on every start.
Added
- Economy core.
- Several currencies:
moneyandcreditsby default, more can be added undercurrencies. Each has its own name, symbol, decimals, number format (format-locale), starting and maximum balance and transfer switch. /balance,/payand/baltop, with an optional currency argument. Amounts accept1kand2.5mand the currency's number format.- No operation can create a negative balance or exceed
max-balance; such an operation fails as a whole. Transfers lock both accounts. - An append-only transaction log for every change.
/dymarket log <player>shows it,/dymarket rollback <id>reverses one transaction (forcestops at zero instead of refusing). /dymarket give,takeandsetfor administrators, and/dymarket merge <from> <to>, which moves every balance, listing, collection box item and lease from one account to another.- Rate limits for
/pay,/credits sendand auction purchases (security.rate-limit), a confirmation for large payments (/pay ... confirmat or abovepay.confirm-above) and staff alerts for large transfers (security.alert) in game and in the console. DyDiscord is detected, but it has no staff-alert API yet, so DyMarket only logs that once and sends nothing to Discord.
- Several currencies:
- Vault. DyMarket serves the currency marked
vault: trueas the Vault economy, so DyHomes, DyRTP and other Vault plugins use it. Withprovider: vault, a currency uses another plugin's Vault economy instead. - Importers.
/dymarket import essentialscopies EssentialsX balances, and/dymarket import vaultcopies balances from the economy registered in Vault. Nothing already non-zero in DyMarket is overwritten. - Credits bridge.
/dymarket give <player> <amount> credits <txid>for webstores and RCON. The same transaction ID is applied only once; a repeat reports that it was already applied, changes nothing and exits without error./credits send <player> <amount>between players and/credits exchange <amount>from credits to money (credits.exchange.rate, 1000 money per credit by default).- A top-up bonus (
credits.topup-bonus-percent) and optional top-up announcements (credits.announce-topups).
- Auction house.
/ahopens a chest GUI with sorting, your listings and your collection box; every action also has a command (sell,list,search,info,buy,mine,cancel,collect). Withauction.confirm-purchaseon, a purchase asks for confirmation: a window in the GUI,/ah buy <id> confirmon the command path.- Buy-it-now listings in any currency from
auction.allowed-currencies, with expiry (auction.duration-hours, 48), tax (auction.tax-percent, 5.0), price bounds, an item blacklist and a lore filter.auction.max-listings(7) limits active listings per player; 0 means no limit. - The item leaves the seller's hand before the listing is saved, a listing can be bought only once, and a failed payment step is refunded. Items wait in the collection box with a reason:
EXPIRED,CANCELLED,REMOVED(by staff),FULL_INVENTORYorPURCHASE(the buyer left before delivery). - Rank permissions for the listing limit (
dymarket.ah.limit.<n>, highest wins) and tax (dymarket.ah.tax.<percent>, lowest wins), anddymarket.bypass.tax. The tax is fixed when the item is listed.
- Estate (DyClaim 1.3.1 or later).
/estate selland/estate rentlist the connected group of your claims around the chunk you stand in (up toestate.max-chunks-per-listing, 64), or only that chunk withhere. There is no estate listing limit unless a player hasdymarket.estate.limit.<n>. The tax (estate.tax-percent) is fixed when the claims are listed./estate buy,/estate leaseand/estate leavealways ask first and run withconfirm; the GUI shows a confirmation window.- A sale transfers every claim to the buyer; if one transfer fails, the claims go back and the money is refunded.
- Rent gives the tenant timed DyClaim trust with the rights in
estate.rent.rightsand closes the listing to other players while the lease runs. A new lease renews automatically;/estate autorenewturns that off and on. An unpaid lease ends afterestate.rent.grace-hours./estate leave(no refund) and/estate evict(at the end of the paid period) end a lease. - When the owner unlists a rented listing, or a claim in it is removed or transferred in DyClaim, the lease ends and the owner pays the tenant
estate.rent.refund-on-owner-cancel-percentof the unused time. /estate listopens a chest GUI; players who were offline get their estate and auction notices on their next join.
- Languages. English, Turkish, German, Spanish and Russian, from the client language or
/dymarket language. Turkish command aliases and sub-command words. MiniMessage tags on Paper, Purpur and Folia; text typed by players is never treated as tags. - PlaceholderAPI.
%dymarket_balance%,%dymarket_balance_<currency>%and their_formattedforms,%dymarket_credits%,%dymarket_baltop_<n>_name%and_amount(also per currency),%dymarket_ah_listings%,%dymarket_ah_mine%and%dymarket_estate_listings%. - Developer API.
DyMarketAPIwith asynchronous (deposit,withdraw,transfer) and synchronous (depositSync,withdrawSync,transferSync) balance changes, market snapshots, the cancellableBalanceChangeEventand auction and estate events. - Folia. The same JAR runs on Folia with region, entity and global schedulers.
- Storage. One SQLite file,
plugins/DyMarket/data.db(schema 1), written on one background thread, with a backup copy on every start (the last seven are kept). - Updates and statistics. A Modrinth update check every six hours (
updates.check) and anonymous bStats statistics (metrics.enabled).
Changed
- Nothing; this is the first release.
Fixed
- Nothing; this is the first release.
Upgrading
Put DyMarket-1.0.0-BETA.jar in plugins/ and start the server. Coming from another economy plugin, run /dymarket import essentials, or /dymarket import vault while that plugin is still the registered Vault economy, once before removing it. The estate module needs DyClaim 1.3.1 or later and turns itself off with one console line otherwise. Because this is a BETA, the data format may change before 1.0.0; later versions convert data.db automatically, and a backup is made on every start.
Full changelog: https://dynastyplugins.com/dymarket/versions/1.0.0-BETA