Tags
Creators
Details
Licensed Apache-2.0
Published 6 months ago
Updated 15 hours ago
All versions
1.6.0
Release
1.6.03 months ago 612
Compatibility
Minecraft: Java Edition
26.2
26.1.x
1.21.x
1.20.x
Platforms
Bukkit
Folia
Paper
Purpur
Spigot
Changes
DonutOrders v1.6.0
New Features
- MySQL storage backend — set
database.type: mysqlinconfig.ymlso multiple servers share one database - Cross-server order sync — orders created or fulfilled on one server appear on all servers sharing the MySQL database (polls every
database.sync-interval-seconds, default 5)
Improvements
updated_atcolumn on orders for change tracking and safe multi-server merges- Optimistic DB updates on fulfill/collect prevent duplicate payouts when two servers race
- Critical paths refresh the order from the database before mutating
Bug Fixes
- None
Configuration
database:
type: mysql # sqlite (default) or mysql
sync-interval-seconds: 5
mysql:
host: localhost
port: 3306
database: donutorders
username: donutorders
password: ""
pool-size: 10
Compatibility
- SQLite remains the default — no config change required for single-server setups
- Existing SQLite databases auto-migrate (
updated_atcolumn added on startup) - Drop-in jar replacement; restart all network servers after switching to MySQL
Upgrade Notes
- For cross-server: create a MySQL database, grant access, set
database.type: mysqlon every server - Replace the jar with
DonutOrders-1.6.0.jaron all servers - Restart servers — console should show
(MySQL backend)when configured correctly - Verify an order placed on server A appears in
/orderson server B within a few seconds
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:Tu41GNf3:NSqu4lx3"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:Tu41GNf3:NSqu4lx3"
}

