Tags
Creators
Details
1.6.0
Compatibility
Changes
DonutAuctionHouse v1.6.0
Features
- Optional compact k/M browse and Your Items prices. Disabled by default; existing economy formatting and config values are preserved. Configure suffixes, 0-6 fractional digits, locale, and currency template. Display rounding never changes stored prices or payments.
- Buy/sell confirmations show the provider's formatted price and every decimal digit of the amount.
- A book in the auction browser opens private, read-only Bought/Sold history. Includes previous/next pages, Refresh, Back, item, precise price, date/time zone, and seller/buyer. Unknown names fall back to UUIDs; unavailable item metadata uses a placeholder.
- History queries enforce viewer ownership in the service/database path and run asynchronously. Stale results cannot reopen a menu after navigation or disconnect.
Fixes
-
Reject non-finite prices such as
NaN, and reject out-of-range sell command prices before removing the held item. Invalid prices are no longer silently clamped into a different listing price. -
Database index initialization uses portable metadata checks rather than MySQL-unsupported
CREATE INDEX IF NOT EXISTSsyntax. Migration errors are reported instead of being hidden. -
A price-provider or confirmation-formatting failure after payment and item delivery now returns a safe success message. Completed purchase claims cannot be reopened by a late release attempt.
Upgrade and data
- Replace the jar and restart. Keep existing config, messages and database files; back up the database before upgrades. New settings/default messages are added without resetting custom values.
- History reuses the existing
auctionstable and adds onepurchase_completedflag. Legacy SOLD records remain visible; new pre-payment claims and failed purchases are excluded. No parallel ledger or payment mechanism is introduced. - Completion bookkeeping runs after existing payment/item delivery and cannot undo settlement. If the database fails at that point, a record may be absent; the server logs its auction ID. Legacy versions cannot distinguish old crash-interrupted SOLD claims from completed sales.
Verification and compatibility
- Java 17 bytecode and Paper 1.20.1 API target retained; JDK 21 builds supported.
- Store support matrix retained: Paper, Folia, Purpur, Spigot and Bukkit, Minecraft 1.20.1 through 26.3.
- Unit, registered Bukkit command/GUI event, native SQLite, history privacy/pagination/migration, and settlement regressions are included. CI also checks Java 17/21 and native MySQL.
- Isolated headless Paper 1.20.1 and 26.3 probes passed startup, item serialization, formatting and database history. Real-client visual checks, every intermediate server/version, and multi-server Folia/Vault tests have not been run. Folia's official download API did not provide a 26.3 build during verification.
- The customer's
/ah sell <price>browser-opening report has no proven customer-specific cause. A foreign/ahalias collision reproduces the symptom; the namespaced/donutauctionhouse:ah sell <price>routes correctly in tests. This release does not claim that unresolved report is fixed. Please provide plugin/server versions, exact command, held item, namespaced comparison and logs.
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:8XgyeSRH:xFhXuWyO"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:8XgyeSRH:xFhXuWyO"
}

